第2回:JSFとRailsで比較(前編) (2/4)

徹底比較!!Ruby on Rails vs Javaフレームワーク
徹底比較!!Ruby on Rails vs Javaフレームワーク

第2回:JSFとRailsで比較(前編)

著者:DTS  五座 淳一   2006/9/6
前のページ  1  2  3  4  次のページ
ルーティング

   次に、ビジネスロジックの選択や画面遷移などを制御するルーティングの仕組みについて比較してみたいと思います。

ルーティング方式の違い
図2:ルーティング方式の違い
(画像をクリックすると別ウィンドウに拡大図を表示します)


JSFのルーティング

   JSFはイベントドリブン方式を採用しています。ボタン押下などのイベントが発生した場合、関連付けられたアクションやイベントリスナが実行されます。その処理結果と「faces-config.xml」という遷移ルールが定義された設定ファイルに従って、次のビューへと遷移していきます。

   このように、遷移先などアプリケーションのもっとも重要な動作を定義する「faces-config.xml」がJSFアプリケーションの中核を担っています。

faces-config.xml
<faces-config>
   <navigation-rule>
      <from-view-id>/index.jsp</from-view-id>
      <navigation-case>
         <from-outcome>success</from-outcome>
         <to-view-id>/success.jsp</to-view-id>
      </navigation-case>
      <navigation-case>
         <from-outcome>failure</from-outcome>
         <to-view-id>/failure.jsp</to-view-id>
      </navigation-case>
   </navigation-rule>
(中略)
</faces-config>


Railsのルーティング

   Railsの場合、図2のようにブラウザに指定されたURLによって、自動的に呼び出されるコントローラ/アクション/ビューが決定します。もちろん、これ以外の形で処理を行うことも可能ですが、この規約に従うことで設定ファイルなどの記述が一切不要となっています。


ルーティングの比較結果

   記述量ではRailsが勝っていますが、JSFは設定ファイルによって、ルーティングのルールをプログラムから切り離し、一括管理を実現しています。

   Railsの場合は、設定ファイルよりも規約を重んじており、ある程度は規約に従う必要があります。これによって無駄のないシンプルな処理を実現しています。このルーティングだけでなく、Rails全体として規約を重んじる考え方が採用されています。


ビューの比較

   次にビューの比較を行います。ビューについては、両者ともHTML構文に近い形で表現するということもあって、非常によく似ています。


JSFのビュー

   JSFのビューにはJSPが用いられます。JSFが提供するカスタムタグライブラリを使って、ボタンやテキストフィールドなどの画面要素を構築していきます。

JSFカスタムタグを使用したJSPの例
JSFカスタムタグを使用したJSPの例
(画像をクリックすると別ウィンドウに拡大図を表示します)

前のページ  1  2  3  4  次のページ


株式会社DTS  五座 淳一氏
著者プロフィール
株式会社DTS  五座 淳一
技術部所属。入社以来、交換機や携帯電話、Webシステムなど様々な開発を担当する。Ruby on Rails上に構築したオープンソースのCMS「Rubricks」(http://rubricks.org/)のコミッタ。


INDEX
第2回:JSFとRailsで比較(前編)
  はじめに
ルーティング
  Railsのビュー
  Railsのビュー/アクション連係
徹底比較!!Ruby on Rails vs Javaフレームワーク
第1回 O/Rマッピング
第2回 JSFとRailsで比較(前編)
第3回 JSFとRailsで比較(後編)
第4回 DIコンテナとの比較
第5回 テストフレームワーク
第6回 RailsとGrailsの比較(前編)
第7回 RailsとGrailsの比較(後編)
Ruby on Rails入門
第1回 Railsが注目されている理由
第2回 すぐできるアプリケーション作成
第3回 アーキテクチャと検索機能の追加
第4回 Railsでテストをしてみよう
第5回 Ajaxアプリケーションの作成
第6回 プラグインでさらに生産性アップ
第7回 Linux環境で動作させよう

人気記事トップ10

人気記事ランキングをもっと見る