« VIMでマッチしているHTMLタグやrubyの対応するdo endにカーソルを移動させる。 | トップページ | JavaScriptでソート・ページネーション対応テーブルを作る。 »

2009年8月 4日 (火)

テンプレート・エンジンが好きになれない。

Webアプリ作成でjspやerbのようなテンプレート・エンジン使うのが好きに
なれません。
プレゼンテーションの処理がテンプレート・エンジンとJavaScriptでごっちゃ
になって複雑になりそうに感じます。
データをすべてjson形式で取ってきて、それをJavaScriptを使って画面に表示
するようにして、プレゼンテーション関連の処理はJavaScriptに統一するように
すればいいのに、と常々思っています。

長所

サーバーの負荷が減る

動的に内容が変わるHTMLではキャッシュが難しいですが、固定HTMLだと
HTMLを書き換えた時以外はキャッシュしたものを使えます。
また、プレゼンテーション周りの処理がクライアントに移る分負荷が減ります。

クライアントの自由度が増す
json形式のインターフェースがすでに用意されているので、表示をFlashに変えた
り、マッシュアップしたりする対応が簡単になります。Webサービスに対応する際
も認証を追加するぐらいで対応できます。

短所

携帯電話のようなJavaScript非対応のブラウザでは表示できない

これは、どうすることもできないですね。こういう場合はerbのような
テンプレートをガンガン使えばいいと思います。

テストが大変

ブラウザのコンポーネントを扱うJavaScriptをテストファーストで書くのは
かなり至難の業。
seleniumもありますが、あのテストを動作前に書くのはかなり効率が悪そう。

私が作ったWebアプリのWeb家計簿では、テンプレート・エンジンを使わず
データはすべてAjaxで反映しています。サーバ側の言語環境であるPythonを
習いたてだったにもかかわらず、機能的には実装しようと思ったものはすべて
実装できました。
JavaScriptが得意だったら、完全Ajaxベースにするのも、ありなのでは?

|

« VIMでマッチしているHTMLタグやrubyの対応するdo endにカーソルを移動させる。 | トップページ | JavaScriptでソート・ページネーション対応テーブルを作る。 »

Ajax」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/68673/45833112

この記事へのトラックバック一覧です: テンプレート・エンジンが好きになれない。:

« VIMでマッチしているHTMLタグやrubyの対応するdo endにカーソルを移動させる。 | トップページ | JavaScriptでソート・ページネーション対応テーブルを作る。 »