14

私は過去数ヶ月間Grailsを使用していて、特にGORMがとても気に入っています。しかし、私はScalaのリフトに興味を持っています。したがって、どの種類のWebアプリが、これら2つのフレームワークのどちらに適しているか、またはどちらのフレームワークを使用するかは好みの問題であるかについて、あなたの意見を知りたいと思います。

最後に、これらのフレームワークのうち、将来的に使用されるものはどれだと思いますか?Grailsが臨界量に達するにはほど遠いが、それでも非常にあいまいなままであると感じています(過去数か月で、主にJVMスタックを使用する中規模の企業やITスタートアップと協力する機会があり、1人だけが知っていました。 Grailsを使用)そしてそれがJavaの世界の「RoR」になることができるかどうかさえわかりません(他のフレームワークがプラスの成長率を持っていても、確かに過去数ヶ月で成長の低下を報告しています)。そして、私はGroovyが大好きです。学ぶのは本当に簡単ですが、いくつかのタスクではそれがいかに遅いかに気づきました。

一方、Scalaはより人気があるようで(Tiobe Index)、Twitterがそれを使用しているという事実は、多くの愛好家や嫌悪者が話題を呼んでいるブロゴスフィアでさらに存在感を与えています。高速でスケーラブルなことで有名です。ただし、この言語は、多くの開発者にとって理解および学習がやや難しいように思われます(したがって、主流のステータスを獲得することは決してないでしょう)。リフトはほとんど知られておらず、小さなアプリ(20未満のドメインクラス)に適しているといういくつかのレポートを読みました。

現在、Groovy-Grailsが出版されている本の数が支配的ですが、多くの出版社が作品に関するScalaの本を持っているので、この利点は長くは続かないと思います。

最後に、言語とフレームワークの両方でIDEのサポートがまだ不十分であるという問題があります(日ごとに改善されていますが、Javaショップが生産性を期待しているものからはほど遠いです)。

炎上戦争は始めたくないのですが、他のユーザーの意見を聞いてみたいです。

4

5 に答える 5

9

ここで受け入れられた答えは、Groovyについて本当に無知な見方をしています-それは現代の動的言語です(動的対静的はそれ自体で大きな議論であり、ここでは特に関係ありません)。これは仕様によるものであり、したがって不利な点ではなく、単なる違いです。これには、クロージャ、ネイティブ正規表現、ポリモーフィック反復、オプションの静的型付け(議論の対象ですが、groovy ++も参照)、リストやマップのネイティブ構文など、Javaにはない多くの最新言語機能があります。ここで比較を見ることができますhttp://groovy.codehaus.org/Differences+from+Java

GrailsとLiftの実際の質問に対処するために、Grailsはハンズダウンと言います。その背後にはSpringSourceがあり、プラグインのページhttp://www.grails.org/plugin/category/allを見るだけです。Liftで使用できるプラグインまたは同等のものも見つかりません。Grailsは、ネイティブのRabbitMQメッセージングサポート、MongoDBとRedisのターンキーGORMサポートなどの機能を備えた、最新のクラウドフレンドリーテクノロジーにも対応しています。

于 2011-03-15T05:41:47.083 に答える
1

netbeans 6.7でのGrailsのサポートは非​​常に優れており、Maiaでのintellijのサポートも同様です。

Eclipseはまだかなり厄介です。

私はリフトを見ましたが、現在利用可能なリソースについて心配していました。これは将来変更されますが、私のプロジェクトは待ちきれません。

于 2009-07-13T22:00:12.030 に答える
1

Grailsは素晴らしいアイデアです(ただし、Railsから「盗まれた」だけです)が、Groovyの人が適切なEclipseサポートを取得することに興味がないという事実は、それが成功するのを大きく妨げています。GrailsリストでEclipseの質問にまったく答えられていないのを見たことさえあります。

私は、Netbeans6.7が最終的にgroovy/ grailsの前半で使用可能なオープンソースIDEサポートを提供することに同意します。最終的には、SpringIDEはより優れたgroovy/grailsサポートも備えます。

多くのJavaの人々がJavaを愛する理由は、静的型付けです。これにより、ツールは多くのことで多くのことを支援できます。これは、グルーヴィーな言語では失われます。はい、Javaですべての非常に重要なコードを記述し、それでもGrailsを使用できますが、Javaフレームワークを非常に効果的に使用する方法を学ぶ代わりに、グルーコードの行を節約するために、なぜそれを行う必要があるのでしょうか。

終わりに:私はまだscalaを見ていませんでしたが、grailsを使用していくつかの単純なアプリを構築しました-そして私はJavaに戻る傾向があり、プレーンJavaフレームワークでさらに開発が必要なすべてのアプリを再実装します-ウィケットとSeam 。

Scala / Liftも見ていきます、それについて多くの良いことを聞きました!

ところで:私はコミュニティを比較し、メーリングリストを調べます-何人の人々がいますか、彼らは彼らの重要な質問に対して良い答えを得ていますか?

グレイルズは50%近くから未回答率があるようですが、それは悪いと思います。

于 2009-07-17T19:34:19.387 に答える
1

具体的には「どのような用途に」という質問にお答えしたいと思います。GrailsとLiftの哲学の主な違いは、GrailsがMVCを強制するのに対し、Liftはよりリベラルであるように見えることです。つまり、MVCを強制しませんが、必要に応じてMVCを使用するのに十分な手段を提供します。

また、Liftは「シングルページアプリケーション」に最適なようです。特に、Cometなどのテクノロジーを使用してサーバープッシュ機能を実装する必要がある場合(他のタイプのアプリケーションに適していないことを意味するわけではありません)。一方、Grailsは、「Enterprisy」アプリケーションに適しているようです。特に、SpringとHibernateに既に精通しているが、Grails以外のアプリよりも(設定より規約を使用して)アプリをはるかに簡潔にしたい場合はなおさらです。これらのテクノロジーを使用しています。


参照:

  1. 単に持ち上げる、第13章
  2. シングルページアプリケーション

免責事項:
私はLiftの調査を開始し、Grailsを使用していくつかの簡単なアプリを作成しました。

于 2011-04-03T16:58:25.413 に答える
1

Grails2.0のすべてのパフォーマンスの向上と進歩、フレームワークに対するIntelliJ 11による優れたサポート、ほとんどすべての高度なWebテクノロジーをGrailsアプリにプラグインする機能、そしてそうです-その背後にあるVMwareの重み-私は本当にリフトがどのように利点または良い選択になるかわかりません。同じアプリケーションで2つの異なる言語を使用すること、チームで2つの専門知識が必要になることなどを考えてみてください。

元の質問は2年以上前のように投稿されており、開発コミュニティの選択がどちら側にあるかが示されていると思います;)

于 2012-01-26T06:12:20.740 に答える