前のpynecone関連投稿につづけてpyneconeのメリットと限界を整理してみました。
Pyneconeのメリット
- Pythonエンジニアの立場でJavaScriptを気にする必要がない。
- Flutterのようにブロック形式のコード構造を持っていて、簡単に理解できる構造のコーディングが可能。
- 状態変数をpc.stateを使って簡単に処理することができる。
- フロント、バックエンドが一つの言語で動くフルスタック開発が可能。このためにはメソッド、クラス間の通信のためのpubsubと非同期プログラミングが必要。
Pyneconeのデメリット
-
静的なページ、例えばメールサービス、データ分析サービスなど明確な結果を見せるのは無理がある。
-
派手なビジュアルが入ること、例えばケラセルビュー、動的な写真スライド、動画挿入などは無理がある。
-
任意のReactコンポーネントをWrappingすることができますが、コンポーネント間のデータをstring以外の場合(コンポーネントがstringではなくArrayなど他のオブジェクトが必要な場合)には方法がわからない。
-
HTMLコードをそのまま適用できるpc.htmlがありますが、やや制限的。
<script>
構文を入れるとエラーが発生する。 -
関連コミュニティがあまりなく、githubのdiscussionでほとんど質疑応答が行われるレベルなので、問題解決方法を見つけるのが難しい。
結論
簡単な静的ページ、データ分析などには悪くない。しかし、ユーザー数が少なく、ライブラリなどにも問題が多く、もう少し改善されれば使ってみる価値はある。