14

背景

私は自分の時間に友人とかなりのサイズの Web アプリケーションを構築しており、Python で Django フレームワークを使用することにしました。Django は、私たちが必要とする多くの機能を提供してくれるので、別のフレームワークを提案しないでください。

私が悩んでいる唯一の決定は、アプリケーションの開発に Python と Jython のどちらを使用するかということです。今では Java にかなり精通しており、JDK 内のライブラリの恩恵を受ける可能性があります。私は最小限の Python を知っていますが、このプロジェクトを新しい言語を学ぶ機会として使用しているため、作業の大部分は Python で記述されます。

Jythonの魅力はなんといってもJVMです。python/django 対応の Web ホストの数は非常に少ないですが、多種多様なホストに jython/django アプリケーションをドロップできると想定しています。これは大規模な設計上の決定ではありませんが、それでも決定する必要があると思います。jvmアクセシビリティだけでも、Pythonよりもjythonを本当に好みます。

質問

Jython には、通常の python と比較して多くの制限がありますか? jythonでdjangoを実行すると問題が発生しますか? Jython チームは、Python と一緒にアップデートをリリースするのにどれくらいの速さを持っていますか? Django は Jython で宣伝されているように (最小限の事前設定で) 動作しますか?

決断

有益なコメントをありがとう。私がやろうとしているのは、JVM サポートのために Jython で開発することですが、Python コード/ライブラリのみを使用しようとしています。移植性は大きな問題ではないので、JDK のライブラリが必要な場合 (Python ではすぐに利用できない)、それを使用します。Django が完全にサポートされている限り、私は満足しています。

4

4 に答える 4

3

Django はJythonで動作しますが、技術的には Jython 2.5 はまだベータ版であるため、Jython の開発リリースを使用する必要があります。ただし、Django 1.0 以降は変更なしで動作するはずです。

したがって、通常の Python 実装と Jython のどちらを使用する必要があるかについては、すべての Java ライブラリを使用できるようにするか、すべての Python ライブラリを使用できるようにするかの問題だと思います。この時点で、Python 標準ライブラリのほとんどすべてが Jython で動作すると期待できますが、動作しないサードパーティ パッケージ、特に C 拡張モジュールがまだたくさんあります。個人的には、通常の Python を使用することをお勧めしますが、JVM の経験が豊富で、自分の知識に固執したい場合は、それを尊重できます。

Python ホスティングの検索に関しては、このページが役立つ場合があります

于 2008-11-24T14:35:35.857 に答える
3

Django が好きなら、Python も好きになると思います。新しい言語を学ぶ際に、過去の言語の経験を混ぜ合わせるという (あまりにも一般的な) 間違いを犯さないでください。Python を習得して初めて、ハイブリッド言語がどちらより優れているかを判断する経験が得られます。

確かに、Django がプリインストールされている安価なホスティングはほとんどありません。しかし、Google のアプリ エンジンに最も似た環境であることを考えると、状況が変わる可能性は十分にあります。(そしてほとんどの GAE プロジェクトは Django で実行することができます)

于 2008-11-24T15:17:55.910 に答える
1

私は最近、空き時間にオープン ソースのデスクトップ プロジェクトに取り組み始めました。したがって、これは当てはまらない場合があります。私は同じ質問に来ました。私は、できるだけ多くのコードを Python (および Django) で記述し、CPython、Jython、および IronPython のすべてのプラットフォームをターゲットにすることにしました。

次に、さまざまな実装 (さまざまな GUI ライブラリなど) のライブラリと連携するプラグインを作成することにしました。

なんで?コードの寿命は、CPython だけでなく仮想マシンもターゲットにすることに依存する可能性があると早い段階で判断しました。今日の目的では、速度の点で CPython が適していますが、明日のことは誰にもわかりません。コードが十分に柔軟である場合は、ターゲットを決定する必要がない場合があります。

このアプローチの欠点は、作成および保守するコードが増えることです。

于 2008-11-24T19:10:44.943 に答える
0

Django は、jython 互換の sinc バージョン 1.0 であると想定されています。

このチュートリアルは少し古くなっていますが、そこから特別な問題がないことがわかります。

于 2008-11-24T14:32:30.870 に答える