2010-12-01 28 views
5

PythonからJavaを生成する最良の方法は?PythonでJavaを生成する最も良い方法は?

jsonバージョンの関数を呼び出すJavaコードを生成するデコレータを作成したいと思います(既存のデコレータを使用してjson APIを書き出すことができます)。

私はここでFSMのようなものを検討する必要があります、Javaを生成するための最良の方法は?

理想的には、私は自分のコードをサーバー用に書くことができ、さまざまな言語のインターフェイスを使用するコードを生成することができます。


Javaコードはアンドロイドで実行されますが、pythonコードはdjangoサーバーになります...また、静的に生成できるようにしたいJavaコードを作成し、これをユーザーが使用できるAPIの一部として使用します。

+1

避けることができれば、この複合体を生成する最良の方法はありません。 1つのヒント:私の知る限り、AST(抽象構文木)のようなものから正しい(あまりにも読み難いが正しい)コードを生成するのは、比較的単純な(他のすべての可能性とは対照的に)そのツリー形式(とそれが表すもの)をよく知っています。それは基本的にJavaコンパイラの半分を実装することを意味します。 – delnan

+0

あなたのサーバーは、AndroidユーザーがJSONデータを取得するために実行するJava(byte?)コードを生成しますか? –

+0

明らかに、Javaコードを生成できるビットは、APIを変更する場合にのみ実行され、すべての時間ではありません。 –

答えて

0

再利用が良いです。複雑さは価格です。

これは、後で2回以上支払うことになります。飛躍する前に投資収益率(ROI)を測定します。

[編集:]

  1. あなたはJava関数を呼び出すようグルーコードを記述することが簡単になるのJythonを使用することができます。
  2. jythonc PythonのソースコードをJavaのソースコードに変換し、Javaコンパイラを呼び出して.classファイルに変換します。
  3. このように、テンプレートを使用することができます。一部の人はその目的でcheetahを使用しました。リンクはもう利用できません。
+1

ネットワークプログラミングは、すべてのこの接着剤を生成するために、デバッグする悪夢になることができます多くの面倒を節約します。 –

+0

@Stuart Axon:+1本当に!私はそれについて全く争いません。私たちはその裁判官でなければなりません。どのように私は、人々がグルーコードで急いで決定するために支払った費用を見てきました。それは本当にここで何が達成されているかにかかっています。 json APIの複雑さとグルーコードの複雑さ。Pythonには優れたツールがあるので、json APIの複雑さはそれほど大きくないと感じています。 – pyfunc

+0

Python側よりも、私が思っているJava/Androidから呼び出すコードを生成しています。私はjythoncを調査するつもりです...私が調査段階にいる瞬間に、これが終わりのように見える場合、それはあまり損失ではありません。 –

1

webappsがHTMLを作成するのと同じ方法で、いつでもjavaコードを作成できます。テンプレートを使用します。そして、あなたは、通常のJavaコンパイラを使用してバイトコードにコンパイルされたJavaソースコードを持つことができます(参照: Package javax.tools

を必ずしも最良の選択肢、間違いなくオプション(およびところで、非常にシンプルな)

+0

することができます...私は前にこのようなコードを生成して、それはいつもきれいではありません。 –

-1

私のアドバイスを? Javaコードの代わりにJavaScriptコードを生成しますか? AndroidはWebViewを使用してJavaScriptコードを実行できます。

+0

本当に、これはサービスとして実行されているかどうかはわかりません。 –

関連する問題