WEB4J はミニマリストで意固地なJava用フルスタック・ウェブフレームワークである。 "苦しむことなくJavaの生産性を上げられます。[WEB4J] の突き詰めた単純さのおかげで、目に見えて開発が速くなります" と、作者のJohn O'Hanley氏は書いている。
ウェブサイトによると、WEB4Jは
- 設定より慣例を優先する (Railsと同様のCoC:Convention Over Configuration)
- コードではなく、データが王様
- 開発者は同じことをするために新しい方法を学ぶ必要がない
- JavaScript、カスタマイズされたXMLやアノテーション、ORマッピングを必要としない
- スレッドセーフのための制限を開発するクラスに押し付けない
- 単純なHTML上でフォームの実装ができる
WEB4Jの最も興味をそそられる仕様のひとつは、コードとは別にSQLをプレーンテキストで書けることである。これらのSQLは特別なオブジェクトを使って自分のクラスから参照することができるので、DAO (Data Access Object) クラスはとても小さくなる。
WEB4J自体も小さく、88個しかクラスがない。他のフレームワークと比べると、Railsは346個、Strutsは720個, Springは2400個以上のクラスがある。 John氏は、これによってWEB4Jを学ぶのにかかる時間は他のものと比べるとはるかに少なくて済むといっている。
同じウェブサイトでは、WEB4Jの弱点についても率直に述べている
- ユーザーインタフェース部品用のライブラリがない
- AJAX、ウェブサービスやDI(Dependency Injection)が標準でサポートされていない
- JSPやJSTLはサポートされているが、Velocityのような代わりに使えるマークアップ言語がない
- 先のバージョンとの互換性に問題がある
このフレームワークを宣伝する滑稽なYouTubeビデオ が昨年公開された。二人の企業プログラマがこのフレームワークを見つけて、従来のJ2EEプロジェクトの苦痛から開放されるという内容である。
WEB4JはBSDライセンスの下公開されているオープンソースで、 ディストリビューション. にはサンプルコードも付いている。