Java に最適なフレームワークはどれですか? PHP 用の Symfony と Ruby 用の Ruby-On-Rails に似たものを探していますか? Javaにそのようなものが存在するかどうかさえわかりません。
18 に答える
スプリングをご覧ください。Ruby-On-Rails でできることは何でもできると思います (ORM 用に Hibernate を追加することもできます)。
Java用の優れたWebフレームワークはたくさんありますが、Railsに似たものを探している場合は、Grailsを見てください。動的言語であるGroovyを使用しますが、JavaVMを使用します。
彼らのクイックスタートをチェックして、それがあなたが望むものであるかどうかを判断してください。
playframeworkをチェックすることをお勧めします。
なんで? この記事はそれをうまくまとめています。
私が現在推奨している Web アプリケーション フレームワークは Play フレームワークです。http://www.playframework.org。
Struts、Seam など、リストされている他のフレームワークの多くを使用してきましたが、Play ほど迅速で生産的なフレームワークを使用したことはありません。これにより、(Roo のようなボイラープレート コードをビルドするのではなく) 開発に必要なコードの量が減り、コード、ビルド、デプロイのサイクルがなくなります。コンパイルは Play によって自動的に行われ、エラーがブラウザーに表示されるため、すぐにフィードバックが得られます。
少なくとも、Play のホームページにアクセスして、スクリーンキャストをご覧になることをお勧めします。数分の長さですが、フレームワークの威力を示しています。
私はグライルが好きですが、そこにはこれらのものがたくさんあります。マット・レイブルのセムはそれらをうまく処理します。
それはあなたが何をしたいかにもよるが、簡単な答えは:男の子、そこにいる!ただし、その答えは、無数のオプションが良いか悪いかを示すものではないことに注意してください。Javaのサーバー側コミュニティは、はるかに断片化されている傾向があり、Rubyの実際の実践で使用されるRailsに代わるものはそれほど多くありませんが、Java側の各キャンプはかなり有能であるようです。Taylor Marshallが述べたように、Strutsがあります。これは、業界で最も頻繁に使用されています(これは、私が知っている中で最も古い、まだ使用されているOSS MVCコンテナーです。しかし、Strutsはもう誰も好きではないようです。ApacheJakartaのEx-Jakartaメニューこのページには、 Tapestry、Turbine、Velocityなど、彼らがインキュベートした多数のWebアプリケーションフレームワークが表示されます。。Wicketもあります(WicketとTapestryの非常に適切な比較はここにあります)。ああ、そしてJavaServerFaces。そしてSpringMVC。タペストリーとウィケット(特に)は着実に進んでいるようですが、誰もがJSFについてホラーストーリーを持っているようです。あなたのマイレージはここでは絶対に異なります、そして、この答えのリンクを見上げると、Groovyの方が簡単かもしれません。
あなたが皮肉であるかどうかはわかりませんが、そうでない場合は、JavaWebフレームワークの部分的なリストを以下に示します。
- Java Server Faces(公式のSun仕様)、さまざまな実装が利用可能です
- Apache Struts
- アパッチシェール
- ApacheTapestry
- ApacheWicket
- OpenSymphony WebWork
- Spring Framework MVC
これらのいくつかを使用しただけで、どれが最適かはわかりません。Spring MVCは、よりコンテンツ指向のサイトでの私の個人的なお気に入りですが、従来のWebアプリケーション(Webインターフェイスを備えたアプリケーション)の場合はJSFを使用します。
一般に、Java開発者の間の冗談は、特定のアプリケーション用のフレームワーク/ライブラリがあるかどうかではなく、使用する数十のオプションのどれかです。
ストラットはスーツ用です。
以前の回答で概説したように、Spring MVC が好きです。
私はgrailsを提案している他の人々に同意します-私は現在いくつかのアプリでそれを使用しています、そしてそれは私が見つけたJavaフレーバーのRubyonRailsに最も近いものです。そうは言っても、JRubyを使ってみませんか?私の理解では、彼らは現在Railsを実行しています。
Groovy/Grails を使い始めたばかりで、うまくいっています。優れている点は、既存の Java テクノロジをすべて活用できることです。
JRapidを見てみましょう。アプリケーション モデルを定義すると、非常に強力な UI を含むアプリケーションのすべてのレイヤーが生成されます。
私は、Hibernate と Spring フレームワークを広範囲に使用する Grails の使用を本当に楽しんでいます。モデルビューとコントローラーを分離する方法は素晴らしいです。GORM (Grails のオブジェクト リレーショナル マッピング (ORM) 実装) は驚くべきものであり、それを独自のスタンドアロン製品に分離する計画があります。
Spring Acegi セキュリティ プラグインを使用すると、セキュリティは非常に簡単です
また、全文検索を非常に迅速かつ簡単に実装するSearchable プラグインも注目に値します。
承知しました、Grails。
Grails.org からダウンロードして、例やスクリーンキャストを見てみましょう。それを作った人たちはSpringSourceに買収されたばかりなので、どこにでも行くことが保証されています!
タペストリーはとてもかっこいいです...あなたがそれをインストールするために大きな努力をした後。
JVM で実行する必要がある場合は、Grails が最適です。Java (動的言語ではない) に厳密に固執したい場合は、Spring が最善の策だと思います。
JBoss Seam について読みましたが、これも良さそうです