2011-02-07 15 views
3

私は、アプリケーション開発のスピードアップのためにJVM用のスクリプト言語を探していました。私はGroovyを詳しく見てみることにしました。GroovyとJavaが混在していますか?

私の質問は以下のとおりです。

混合JavaとGroovyのプロジェクトに対するあなたの態度は何ですか?

アプリケーション全体をGroovyで書くのは意味があると思いますか?

+0

「態度」 - それが主観的でない場合、私は何か分かりません。 – meriton

+0

私は今、このミックスを試しています。いくつかの不具合がありますが、一般的には驚くほどうまく機能します。 –

答えて

7

あなたの態度は混在していますか? JavaプロジェクトとGroovyプロジェクトは何ですか?

Grailsでは非常にうまくいくと思われます。

あなただけのGroovy でアプリケーション全体を記述することが に理にかなって思いますか?

"合理的"を定義します。私はそれがWebアプリケーションのためかもしれないと思うが、すべてのアプリケーションではない。私は、ケースバイケースのベースを決定します。最も安全な答えは、「JavaとGroovyが混在しているはずです」と言うことです。

GroovyはJDK 6で動作しているので、JDK 6よりもポータビリティが劣ると想定しています。

ウェブアプリケーションのパフォーマンスは、生の言語の速度を上回るネットワーク遅延やデータベース設計(例えば適切なインデックス作成)などの要因によって決定されることがよくあります。

+0

あなたのアプリケーションのパフォーマンスが不足している場合(通常、Java環境で非常にCPU負荷の高いタスクを実装するのは良い考えではないかもしれません)、または移植性を失う場合や他の欠点がある場合Javaプログラム。 – phineas

+0

@phineas - 上記の追加情報を参照してください。 – duffymo

5

実際には(JVMの観点から)同じ言語で書いているので、JavaとGroovyのコードを混在させるのが非常に有利です。 Groovyは、Javaよりも少ないコードで多くの問題を解決でき、より読みやすくコンパクトなソリューションを作成できます。一方、Javaは、コードの特に重要な部分でコンパイラのチェックを利用したいときに役立ちます。さらに、Groovyとやりとりするために変更したくないレガシーで十分にテストされたコードがたくさんある状況になることがあります。

JavaとGroovy間の対話は、慎重に計画する必要があります。私は、JavaとGroovyのコードの間に一連のインタフェースを置くのは良いアプローチだと思います。このようにして、2つの言語間に明確な "通信プロトコル"を定義することができます。

新しいプロジェクトを開始する場合は、使用するテクノロジを注意深く考えます。プロジェクトの規模、ドメインの複雑さ、予定されたタイムラインと予算に応じて、目標を達成するための適切なツールを選択する必要があります。これらの(および他の)パラメータを考慮に入れていなければ、すべての言語が良い選択です。

関連する問題