17

Javaにdjango/RoRに相当するものがあるかどうかを調べていました。

私が見つけた:

これらのフレームワークを試したことがある人はいますか、それとも他のフレームワークを知っていますか? django/RoR よりも高速ですか?

4

18 に答える 18

17

私が Grails に出会ったのは約 1 年前で、振り返ることはありませんでした。Ruby on Rails (元は Groovy on Rails という名前でした) から多くのアイデアが取り入れられており、プラグイン/拡張機能の豊富なエコシステムがあります。Grails とその基礎となる Grails 言語 (Java のスーパーセット) により、プログラミングが楽しくなり、本質的な部分に集中することができます。その GORM 機能 (休止状態の上のレイヤー) も非常に強力であり、プラグイン システムに加えて、チェックアウトする 2 つの大きな理由の 1 つです (Java アプリでも使用できます)。

バージョン 1.2 が間もなく登場するので、機能が豊富で、すべての開発者がツールベルトに持つべきものとして十分に成熟していると思います。

パフォーマンスに関しては、純粋な Java よりも確実に劣りますが、Spring / Hibernate / J2EE のすべてを最適化するために利用でき、コードの重要な部分についてはいつでも純粋な Java にドロップできます。静的メソッド解決を使用して Groovy コードの一部を実行できるようにする最近の実験がいくつかありました。これは、invokedynamic サポートと相まって、パフォーマンスが大幅に向上するはずです。

Java でチェックアウトする他のものは、Spring Roo と AribaWeb です。

追加資格に基づく更新

スケーラビリティ、生産性、ドキュメント、適切なリソース消費

  • スケーラビリティ - 実証済みの Java / Spring / Hibernate スタックを利用できますが、Grails 自体が多くを提供するとは言えません。
  • 生産性 - これが Grails を使用する主な理由です。パフォーマンスのオーバーヘッドはありますが、開発時間/生産性がより重要な場合は Grails を使用します。
  • ドキュメンテーション - Grails のドキュメントは素晴らしく、Grails だけで書かれた良い本が少なくとも 3 冊あります。コミュニティは活発で、非常に役に立ちます。
  • リソースの消費 - それが 1 つのトレードオフです。Grails は (基礎となる Java スタックが原因の 1 つです) リソースを大量に消費します。私が Google のようなものを構築していた場合、Grails は選択肢にはなりません。ただし、どんな洗練された Web アプリでも、キャッシュ ソリューションが適しているため、ここでも同じことが当てはまります。
于 2009-12-01T11:22:56.067 に答える
3

Stripesは非常に軽量なようで、Convention over Configuration を採用しています。

于 2009-12-01T11:11:07.823 に答える
2

支柱、ウィケット、レール、タペストリーを使用したので、タペストリー 5を検討することをお勧めします。

サポートしています

  • コンテナ クラスのリロード中 (変更を行うたびに Web アプリケーションを再起動する必要はありません)
  • 開発時間の短縮と生産性の向上 - コンポーネント ベースのモデルを使用し、宣言型の配線を使用
  • とにかくほとんどがコードにある最小限の構成、構成よりも慣習など..
  • 拡張する基本クラスはありません
  • テンプレート ファイルで使用する式言語
  • 優れた ajax サポート
  • クライアント側とサーバー側の両方の優れたデバッグ サポート
  • 優れたデータ アクセス統合
  • 活発なコミュニティ
  • パフォーマンスを念頭に置いて一から書かれています。たとえば、ページ プーリング (リソースの使用を最小限に抑えるため)、ページの圧縮、空白の削除、すべての動的コードはネイティブにコンパイルされます。
  • 優れた Bean とフォームのサポート - 一般的なタスクをシンプルにします。並べ替え可能なデータベースに裏打ちされた drid は、わずか 1 行のテンプレート コードと最小限のスケルトン サーバー バックエンドでコーディングできます。

唯一の欠点はドキュメンテーションです。これは優れていますが、少し簡潔ですが、ユーザー グループ/メーリング リストは非常に活発で、ほとんどの質問には適切かつ熱心に回答されています。

(また、T4,3,2,1..... ではなく、T5 のみを確認してください。これらは現在のバージョンとは大きく異なるためです)

理由の詳細はこちら.

于 2009-12-01T11:13:11.213 に答える
2

Lift Frameworkを試すことを検討してください。それは本当に素晴らしいです。

于 2009-12-01T12:59:41.497 に答える
2

アプリケーション スタック (言語、フレームワークなど) を検討するときはいつでも、何を解決しようとしているのか、どのようなプログラミング スキルを自由に使用できるのかを考慮する必要があります。経験豊富な Java プログラマーは、経験の浅いプログラマーと比較して、Groovy および Grails スタックで非常に生産的であることがわかりました。

懸念事項として次の点に言及しています。

  • スケーラビリティ: 具体的には? (ページビュー/秒、トランザクション数/秒など...) 一般に、Groovy & Grails はページのレンダリングに関してスケーリングしますが、ORM を使用する他のアプリケーションスタックと同様に (Grails の場合は GORM を使用します)、考慮する必要のあるオーバーヘッドです。
  • 生産性: ここでの主な利点の 1 つ - 迅速なプロトタイピング、迅速な開発は、Groovy & Grails を使用すると簡単ですが、Java または Ruby で開発したスタッフが、Grails フレームワークが内部で実際に何をしているのかを理解するのに役立ちます。 "。Web 2.0 のようなページを非常に迅速に作成するのに役立つ UI 用のプラグインがたくさんあります。
  • ドキュメンテーション: Groovy & Grails のために書かれた質の高い参考書が増えています。どちらも過去2年間で非常にうまく成熟しています。エラー/問題が発生したときの Grails フレームワークの内部作業の多くに関して、物事は確かに十分に文書化されていません (フレームワークからの出力の多くは、エラーが発生したときにあいまいであるか、せいぜい存在しません)。袖をまくり上げて、機知に富んで内部の仕組みを歩き回る気があるなら、このスタックに失望することはありません. 繰り返しになりますが、経験豊富なプログラマーはこれを第二の天性と考えるでしょうが、より多くの経験の浅いプログラマーは時々欲求不満で手を投げるかもしれません.
  • リソースの消費: オーバーヘッドはありますが、現在使用されているほとんどのハードウェア (ローカルまたはクラウド内) では、特定のアプリケーション インスタンスの物理リソースの消費についてあまり心配する必要はありません。

お役に立てれば。

于 2009-12-03T00:43:25.357 に答える
1

Spring Rooは、ソリューションであると主張しています。

于 2009-12-01T12:45:30.753 に答える
1

Play フレームワークについては知りませんが、2 番目の質問に答えるために、Google のWebtoolkitを使用していくつかのプロジェクトを行っています。チェックする価値があるかもしれません。
幸運を!

于 2009-12-01T10:48:14.890 に答える
1

JRoRはどうですか

于 2009-12-01T10:49:03.367 に答える
1

私は grails を使用してプロジェクトを実行しましたが、一部のタスクでは非常に高速であることがわかりましたが、デバッグ時に困難になる多くの「魔法」が舞台裏で実行されます。

また、ドキュメントが不自然だと感じたため、何度も何度もドキュメントを読んでいることに気付きました。簡単な例は、アクションがフィールドとして定義されているコントローラーです (アクションをメソッドと考えるのは自然なことです...)。静的フィールドに配置すると、フィールドをトランジェントにするなどの魔法を行う特別な単語を知る必要があるGORMについて何か言えます...注釈もオートコンプリートもありません...マニュアルのみです。

プレイは!開発が驚くほどシンプルで高速で、習得も覚えも簡単であることがわかりました。コミュニティは Grail よりも小さいように見えますが、Grail よりも活発で、回答も迅速です。唯一の欠点は、サーブレットの API に依存しないため、一部のサードパーティのフィルターやその他のものを統合するのは困難ですが、不可能ではないことです。Play アプリケーションを従来の Web サーバー パッケージにデプロイできることに注意することが重要です。

私の意見では、Grails は素晴らしいものですが、生産性を高めるには Grails で多くの経験を積む必要があります。そうしないと、マニュアルで多くの時間を失うことになります。そうでない場合は、Play をお勧めします。特にGroovyに慣れていない場合

于 2011-04-02T23:30:18.390 に答える
1

自分で試したことはありませんが、私の大学ではストライプの使用を楽しんでいます

とすべてがあります。

于 2009-12-01T11:09:27.687 に答える
0

SpringMVCとHibernateがRubyonRailsと同じ使いやすさを提供するかどうかはわかりません(実際には、はるかに複雑です...)。PlayFrameworkはRubyonRailsに非常に似ていると思いますが、私はそれを自分で使用せず、スクリーンキャストを見てドキュメントを読んだだけなので、RoRを使用した開発と同様の体験をしたい場合は、次のことができると思います。 HibernateでSpringMVCの代わりにPlayのようなものを試してみてください。後者の利点は、それが非常に強力であり、たとえば既存のデータモデルに適応できることです(RoRで私が知っていることから、RoRではそれほど些細なことではありません)。検討できるもう1つのフレームワークは、GroovyonGrailsです。Javaを使用していませんが(Groovyを使用しています)、非常にRoRに似ています。内部でSpringとHibernateを使用します(私が m正解)そしてGroovyの利点は、Javaの厳密な静的型付けがないことです。Ruby on RailsとDjangoは、それが実装されている言語の動的な性質から大きな恩恵を受けています。これは、静的な型付けのためにJavaが見逃している機能です。

編集:ああ、あなたはすでにあなたの質問でGrailsに言及しました...

于 2009-12-01T10:56:17.770 に答える
0

Stripesフレームワークを幅広く使用しており、非常にうまく機能します。それは本当に軽量であり、それはあなたのアプリケーションのすっきりとしたデザインにあなたを導きます。それは基本的にあなたから開発の退屈な部分を隠すだけなので、あなたは楽しいものに集中することができます(そのような例の1つはインデックス付きのプロパティです)。

于 2010-03-08T08:29:04.203 に答える
0

AribaWebはGroovyもサポートしています。http://aribaweb.org/で他の機能をチェックし、Web開発を生産的にするためのアプローチを見つけてください。

于 2009-12-02T18:47:28.060 に答える
0

Play フレームワークについてはわかりませんが、Spring MVCまたはStrutsを組み合わせれば、 Hibernateと同様の機能が提供されます。

利用可能な他の多くのオプションがあります。基本的に、MVC フレームワーク (Spring MVC、Struts、Wicket) と ORM ツール (Hibernate、iBatis) が必要です。もちろん、必要なコンポーネントを自分で統合する必要がありますが、これはすでに何度も行われており、多くの情報を見つけることができます。

于 2009-12-01T10:48:56.183 に答える
0

VRaptorはどうですか?- Spring を DI コンテナーとして使用し、Rails Action-Pack に似たコントローラー/ビュー エンジンを使用します。

于 2009-12-01T11:12:34.247 に答える
0

grails がオプションである場合 (これは実際には Java ではなく、Groovy フレームワークです)、Scala ベースのLiftフレームワークもオプションになります。

于 2009-12-01T11:02:53.173 に答える
0

もう 1 つのオプションはRIFEです。これは、Java のままで RoR の最小構成を保持しようとします。あなたのリストでは、Play Framework だけがその機能を持ち、他のものは JVM 上にありますが、Java ではありません (それがあなたにとって重要である場合)。

于 2009-12-01T11:10:37.980 に答える
0

私はhttp://www.ninjaframework.org/をマイクロサービスに使用してきましたが、これはほとんどの mvc パラダイムに非常に近いものです。レール、asp.net mvc、または nancyfx を使用した場合は、問題ありません。それはその哲学に非常に近く、本当に素晴らしく、テストが簡単です。ドキュメントがあまりないという欠点がありますが、mvc パターンにかなり厳密に従っています。フレームワークで独自のものを使用しないため、純粋な Java ベースのソリューションです。したがって、これはドキュメントの不足を補います。

于 2018-01-12T19:34:11.113 に答える