5

開始しようとしているGUIプロジェクトがあります。GUIの要件は単純です(tkinterほど単純ではありませんが)。したがって、Python用のGUIツールキットを使用する必要があります(GUIを使用する必要がある場合はwxpythonになります)。今考えているのは、cherrypyやbottlepyなどの単純なWebフレームワーク(正しく考えていない場合は申し訳ありません。サーバーサイドプログラミングの初心者です)を使用して、グラフィカルインターフェイスとしてhtmlページを作成し、DOMを使用できないのはなぜですか( 、私は正しく話していると思います)全体的なGUIを作成するためにwxpythonを使用するのではなく。次に、すべてのビジネスロジックを記述し、残りを単純なhtmlレンダリングに任せて、テーブルの書式設定、ボタンとフォームの作成、およびサイザーの心配に費やす時間を短縮できます。

私の質問は次のとおりです。誰かがcherrypyなどのWebサーバーのPythonパッケージを使用して、グラフィカルツールキットを使用しないようにすることはできますか?それは本当に有益ですか、それとも私はこのことを逆さまに考えていますか?

私が期待しているメリット:

jqueryを使用して、wxpythonやその他のGUIツールキットで作成するのに時間がかかる可能性のある多くの機能を使用できます。たとえば、jqueryと同様のオートコンプリート機能が必要な場合、wxpythonのようなGUIツールキットにはさまざまな話があります。また、HTMLでは多くのドラッグアンドドロップ機能が簡単です。

4

4 に答える 4

4

はい-これは、ネイティブアプリケーションではなく、単なるWebアプリケーションです。

利点には、移植性(Pythonコードを任意のセットアップで実行できると仮定します。アプリケーションの目的がわからない)や、厄介なレイアウトの問題やTKイベントなどを処理できないことが含まれます。

ただし、プログラミングのパラダイムも劇的に変化しています。目標によっては、これは問題にならない場合があります。

Webフレームワークの使用について:

最も単純なケースでは、CGIの下で一連のPythonスクリプトを実行できます。または、djangoやweb2pyなどのデータベース抽象化レイヤー(DAL / ORM)を備えたMVCフレームワークを取得することもできます。

すばやく起動して実行したい場合は、web2pyをお勧めします。インストールが簡単で、サーバーが組み込まれているため、Apacheインスタンスを設定したり、Proxyingやmod_wsgiなどをいじったりする必要はありません。

しばらくの間Webページをマークアップしていない場合は、必ずw3c(http://www.w3schools.com/ )にアクセスし、CSS/HTMLをブラッシュアップする必要があります。

しかし、はい-web2pyを使用すると、任意のpythonモジュール/パッケージを実行できますが、クライアントサーバーモデルの処理方法を学び、クライアント側のイベントをjavascriptで処理する必要があることを理解する必要がありますが、pythonコードはサーバー、そしてリクエストURIからのみ。

要するに、いくつかの「グルー」コードがありますが、それがweb2py(IMHO)が得意とするところです。

http://web2py.com https://www.djangoproject.com/ http://wiki.python.org/moin/CgiScripts

楽しみ!

于 2012-04-04T15:15:38.043 に答える
2

あなたは正しいですが、あなた自身を転がさないでください。

于 2012-04-04T15:13:27.393 に答える
2

あなたは絶対に正しいと思います。Pythonベースのフレームワークはたくさんありますが、適切なものを選択してください。ピラミッド、パイロン、ジャンゴが最も人気があり、広く使用されています。

HTML / CSSスライスを自分で行うのではなく、専門家にアウトソーシングすることをお勧めします。あなたはかなり多くのブラウザ特有の事柄に直面する可能性があり、それはあなたの時間を無駄にしますが、経験豊富な人にとっては明らかです。

于 2012-04-04T15:58:52.523 に答える
1

いいえ、あなたはこれを正しく考えています。HTML / CSSは非常にシンプルで、迅速な開発に役立ちます。さらに、Pythonマイクロフレームワークにより、ビジネスロジックの作成が簡単になります。これは非常に簡単なルートです。

于 2012-04-04T15:10:12.983 に答える