2009-05-02 12 views
6

Google App EngineでJythonを使用している人は、良い経験と悪い経験がありますか?Google App EngineでのJython開発

+0

2011年1月24日にbountyを追加しました。誰かがJythonに関する新しい情報を持っている場合、appengine、ソースコード、チュートリアルなどで使用されている例は投稿してください – abel

答えて

4

明らかな質問をするにはどうしますか? (C)PythonはGoogle App Engineによってネイティブにサポートされていますが、今はかなり成熟しており、非常にうまくサポートされています。私は個人的な経験を持っていないが、私はあなたにそれは次のようになりますかの一般的な概要を与えることができます:

はしかし、元の質問に答えるために

最も簡単な方法は、現在のJythonのを使用するようになりますApp Engine Java SDKを使用するためにJavaを呼び出すためのサポート。つまり、あなたはPythonを書くつもりだが、Javaのように見えるだろうし、Pythonのものではなく、Javaのドキュメントを使う必要があるだろう。

しかし、Python SDKをApp EngineのJythonで使用することは理論上可能です。 SDKは純粋なPythonで、SDKとランタイム間のすべてのやりとりは、google.appengine.api.apiproxy_stub_mapモジュールを使用してRPCによって行われます。 Javaには、com.google.apphosting.api.ApiProxyクラスの同等のインターフェイスがあります。設定方法の詳細については、Unit Testing in 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人の他のユーザーのことを知っています。 :)

+5

JythonはJava、JRubyなどと直接相互運用でき、良い古いCPythonなので、トーマスの質問は私にはかなり分かりやすいように聞こえます(残念なことに、私は彼が求めている経験がないので、私は彼の質問に答えることができません。 –

+0

いくつかの理由:私はGoogleからJavaランタイムの承認を受けており、過去9年間に開発したJavaコードのいくつかを活用したいと考えています。もう1つは、Python Django)Web開発はJava(JSP)よりも意味があり、既存のコミュニティとコードベースを多く持っています。 真剣に、「中断したり、(JavaやPythonを選択するのではなく) Jythonを使う? TL –

+0

Javaが必要な場合は、Javaを使用することをお勧めします。 :) –

2

まず、JVMのパワーを利用して、速度についてはと主張する人がいます。

しかし、Jythonの速度に関するいくつかの相反する情報があります。スタックオーバーフローのユーザーは、Jython is the slowest of many of the languages involved in a speed test he conductedと主張しています。

パフォーマンスに関する質問のいずれも、実際には一般的なJVMだけではApp Engineに関係しません。

this article posted by a Jython committerでAlan Kennedyは、App Engine上のJythonは、Pythonの急速な開発とJVMで利用可能な豊富なライブラリを組み合わせていると主張しています。 JythonはPythonですが、PythonはJavaクラスに直接アクセスできます。

私はこれをQuerces PHPでいくつか経験しました。私はJQuery Form BuilderプラグインをGoogle App Engineに移植しました。これはPHPコードですが、PHPはJavaで書かれたDAOオブジェクトに直接アクセスすることができます。同様に、Jythonも同じことができます。

Alan KennedyもChallenge issued by Nick Johnsonに出会って、純粋なPythonのXSLT変換では実現しにくいApp Engine上のJythonで行うことができます。彼はニックの答えのストライクスルーの質問に答えます:なぜあなたはしたいですか?

関連する問題