Javaによるプログラミングに関する世界観(D.Webフレームワーク)です。Javaの世界観1(言語)やWebフレームワークも参照のこと。
Javaでも、PHPやRubyと同様にWebフレームワークを使ってWebサービスを効率的に作ることができる。
だが、JavaはRuby on Railsのように、「これが絶対的標準」というWebフレームワークがない。それは、Apache Strutsという標準的なフレームワークの開発の方法がいささか不評だからである。
Apache Strutsは、「オブジェクト指向のJava言語なのに、せっかくのオブジェクト指向開発環境を活かしきれていない」とよく言われている。
そのため、Spring FrameworkやPlay Frameworkのようなさまざまなフレームワークが乱立している。また、Hibernateのような専門的なフレームワークを組み合わせて使うことが多く、Railsのようにひとつのフルスタックフレームワークを採用することがなかなか難しい。
ネットを見たところ、僕がおすすめするのはSpring MVCです。
Javaのフレームワークとは何か?おすすめ5つを徹底解説! - Tech2GOより。
Java標準のフレームワーク。
J2EEのサーブレット技術だけでもWebアプリケーションを開発することはできるが、下にあるような著名なWebフレームワークを使うことで、MVCなどに基づく生産的・効率的なWebアプリケーションの開発ができる。
後日注記:Java EEはオープンソース化されてEclipse財団に寄贈され、Jakarta EEに名称変更になりました。
Strutsを参照のこと。
Spring Frameworkを参照のこと。
国産のオープンソースなJavaフレームワーク。
JavaでO/Rマッピングを実現するためのツール。永続化専門であり、ほかの機能はStrutsやWicketなどを組み合わせて利用する。
永続化とO/Rマッピングも参照のこと。
JavaとScalaのためのRails風フレームワーク。
Scalaも参照のこと。
2023.11.30編集
Javaによるマイクロフレームワーク。
Javaによるコンポーネントベースのフレームワーク。
Javaフレームワークの1つ。
StrutsのようなJavaらしさを活かしきれていないフレームワークと異なり、WicketはJavaのオブジェクト指向を活かすことを目指して開発されている。
ScalaによるRails風のWebフレームワーク。Scalaを参照のこと。
GroovyによるRails風のWebフレームワーク。Groovyを参照のこと。
JavaのWebフレームワークはフルスタックフレームワークではなく、用途によってさまざまなシステムを組み合わせて使う。
Strutsが標準だが、多くの人々から「オブジェクト指向のJavaらしくない」と言って嫌われている。