質問

JythonをGoogle App Engineで直接使用した経験はありますか(良いか悪いか)

役に立ちましたか?

解決

明白な質問をする:なぜあなたはしたいのですか? (C)PythonはGoogle App Engineによってネイティブにサポートされていますが、現在ではかなり成熟しており、非常によくサポートされています。

元の質問に答えるために、私は個人的な経験はありませんが、それがどのようなものになるかについて一般的な概要を説明できます:

現在、最も簡単な方法は、Javaを呼び出してApp Engine Java SDKを使用するためのJythonのサポートを使用することです。これは、Pythonを作成しますが、Javaに非常に似ているため、PythonドキュメントではなくJavaドキュメントを使用する必要があることを意味します。

ただし、理論上はApp EngineのJythonでPython SDKを使用できます。 SDKは純粋なPythonであり、SDKとランタイム間のすべての対話は、google.appengine.api.apiproxy_stub_mapモジュールを介したRPCによって行われます。 Javaには、com.google.apphosting.api.ApiProxyクラスに同等のインターフェースがあります- GAEでの単体テストをご覧ください。

以上を踏まえると、JythonでPython APIを使用する方法は次のとおりです。

  1. すべてのAPI呼び出しを単純に受け取り、com.google.apphosting.api.ApiProxyクラスに送信するPython apiproxy_stubを作成します。
  2. Python SDKの関連部分をJythonアプリにバンドルします(残念なことに、ほとんどの場合)。
  3. 初期化コードで、関連するすべてのサービス(datastore_v3、memcache、user、urlfetch、images)のハンドラーとして記述したapiproxy_stubサブクラスをインストールします。

これを行うことになった場合は、それを文書化してコードをリリースしてください-興味を持つ他のユーザーを少なくとも1人知っています。 :)

他のヒント

まず、 Jython、Querces、およびJRubyは、JVMのパワーを活用して、スピードに関してはネイティブカウンターパートを倒すことができます。

ただし、Jythonの速度に関するいくつかの矛盾する情報があります。 Stack Overflowユーザーは、 Jythonは、彼が実施した速度テストに関係する多くの言語の中で最も遅いと主張しています。

パフォーマンスの質問はどちらも実際にはApp Engineに関わるものではなく、JVM全般に関わるものです。

Jythonコミッターが投稿したこの記事 、アランケネディは、App EngineのJythonがPythonの急速な開発の性質とJVMで利用可能な豊富なライブラリを組み合わせていると主張しています。 JythonはPythonですが、Javaクラスに直接アクセスできるのはPythonです。

Querces PHPでこれを使用した経験があります。 JQuery Form BuilderプラグインをGoogle App Engineに移植しました。これはPHPコードですが、そのPHPはJavaで記述されたDAOオブジェクトに直接アクセスできます。同様に、Jythonも同じことができます。

Alan Kennedyは、によって発行されたチャレンジにも出会いました。ニックジョンソンによって、純粋なPython、XSLT変換では達成するのが難しいApp EngineのJythonでできることを実証します。彼はニックの答えの取り消し線の質問に答えます:なぜあなたはしたいのですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top