サーバはRESTfulなJSON APIに徹して、クライアントでデータをバインドする
jadeはテンプレートエンジンなので、サーバサイドでテンプレートにデータをバインドしてHTMLを返すことができる。しかし、Node.js + express + jade + jQuery Mobileを使ってアプリケーションを作る場合には、以下のルールに沿って開発した方が良いという結論に(個人的に)なった。
サーバサイド
クライアントサイド
その他
- この辺のアーキテクチャは、その昔、Life is beautiful: JavaScript HTMLテンプレートエンジン SNBinder 公開を読んで、このような方式が良いと思ったことを思い出した。
- また、調べている途中で、Node におけるスケールアーキテクチャ考察(SSP 編) - Block Rockin’ Codesにて、詳しく考察している方がいて、非常に参考になった。
- クライアントからサーバまで全てをJavaScriptで書くというのは、良い意味でライトで気持ちがいいと感じる。Coffee Scriptとか出てくるとお腹いっぱい感がある(私が弱者なため)。
- 技巧的な所はフレームワーク/ライブラリに任せて、作る部分は技巧的になり過ぎず、分かりやすくアプリケーションを書けるような手法を確立したい。