ブログの例でJ2EEをバイパスするか、Tapestry 5フレームワークを確認する

ここでは、記事の紹介(ミニブック)のみを公開します。 残りはここから入手できます



2年前(2006年)、PHPとMVCバイクの代替品を探していました。 当時、プロのフレームワークがPHPに登場し始めたばかりで(たとえば、Zend Frameworkはリリースを待たなかった)、RubyOnRails modが登場し、Djangoについて何かを聞きました。 ファッションを始めて、RoRについての本を数冊勉強しましたが、最終的にはRubyに関与しなかったので、Cの類似言語との構文の違いを止めたようです。 オプションとして、C ++でWebを作成することを検討しましたが、既存のフレームワークを見た後、気が変わりました。 選択するものは何もなかったので、選択はJava(PHPとC ++の間にあるテクノロジー)に委ねられました。



J2EEは初心者にはわかりにくいものでした。 新規のPHPプログラマーは、J2EEでWebを作成するために課せられる多数のフレームワークに直面しました。 サーブレット、ポートレット、JMS、RMI、EJB、JSP、JSF-そこにはありませんでした! しかし、その後、SpringのようなJ2EEの代替案を見つけました。



Springは到達しませんでした。何らかの理由で、複雑さの点ではJ2EEレベルにあるように思われました。 Tapestry4で停止しました。 このフレームワークは、J2EE Webプレゼンテーションテクノロジーの1つであるJSF と比較されています。 Tapestry4を通して、私は最初にIoCエンジンについて学びました(私の場合はHiveMindでした )。 後でWicketについて学びましたこれにより、Tapestry4よりもWebのプレゼンテーションを悪化させることができます。 しかし、その後、 Tapestry5のアルファ版が登場し、最終的に落ち着きました。



Tapestry5は多くのことが好きでした。 最初に、フレームワークの構成はアノテーションを介して行われます-XML構成は最小化されます。 第二に、テンプレートとコードの変更は、J2EEやその他のJavaフレームワークの主な問題であるサーブレットコンテナをリロードすることなく、動的に取得されます。 確かに、これはTapestry5が知っているコード(コンポーネント、ページ、その他)でのみ機能しますが、悪くもありません。 そして第三に、有能なOOPアプローチ、シンプルさ、独自のIoCエンジンの存在。



データベースを操作するために、ORM Hibernateを使用することにしました。 これは現在利用可能な最も強力なオープンソースORMであると思うので、選択は明白でした。 また、HibernateSearch、HibernateValidator、HibernateAnnotationsの出現により、DjangoでPythonを振り返ることなく、Javaでの作業を継続するという決定が最終的に強化されました。



2007年から2008年の間、Tapestry5はアルファ版であり、開発者APIは絶えず変化していたため、コードを調査する必要がありました。 一方では時間を失いましたが、他方ではフレームワークをよりよく研究しました。 小さなブログを作成する例で共有したい経験を蓄積しました。



プロジェクトのソースはこちらから入手できます 。 作品はこちらでご覧いただけます 。 コントロールパネルに入るには、 adminとパスワードadminにログインします。



All Articles