JSFのUIコンポーネントと(X)HTMLのUIタグのマッピングにおける相性の悪さは明白。
FaceletはXHTMLのみサポート(XML名前空間併用)するテンプレートを採用することでJSP独自
仕様をビューファイルから追い出している、独自のコンポーネント定義機能を持つため、
新しくUIコンポーネントをタグライブラリとして作成する必要もない。
デザインとロジックの分離という観点からみるとベストとはいえないが現行のJSPよりはベター。
パフォーマンスに難がある模様、その点が改善されればJSP後継ビュー技術の本命になるかも。
Faceletのテンプレート機能はjsfcという独自属性を付加することでJSFのUIコンポーネント
とXHTMLのUIタグのマッピングを実現しているもののUIコンポーネントとXHTMLのUIタグの
属性が1対1のマッピングとなるため、XHTMLのUIタグに存在しない属性がテンプレートに
含まれることになり、あまりスマートとはいえない。
Faceletの(X)HTMLテンプレートへのアプローチは表面上デザインとロジックの分離を
実現しているように見えるものの本質的には解決になっていない。
JSFとの整合性を第一に考えるなら、Faceletのようなアプローチではなく、UIコンポーネント
自体の作成を現行のJSPベースから(X)HTMLテンプレートを採用したテンプレートエンジンベースに
差し替えるアプローチのほうがベターではないかと思う。但しこのアプローチでは軽量かつ高速な
テンプレートエンジンが必須。
WebWork2ではこれと類似のアプローチを採用し、UIタグライブラリへのVelocity組込で
UIタグの拡張を容易にしている。
YARVが1.9.1に入るのはほぼ確実の模様。
JavaのClassファイルに当たる仕組みをRuby1.9.1で簡単に使えるようにしてもらいたい。
ソースファイルを隠すという側面もあるがあらかじめ中間コードにコンパイルしておくことで
実行時における中間コードへの変換処理がいらなくなり、実行速度がその分だけ速くなる
と思うので。
[抜粋]
Q4 (青木さん)
コード隠したい人に対して対応は?
A4 (ささださん)
Java でいう class ファイルみたいものにする仕組みは、すでにある。しかし、それを簡単に使えるようにするのは priority の低い話。誰かに頼まれればやるけど。
----
Q1 Ruby on Rails の中の ActiveSupport の機能のいくつかを吟味して標準に取り入れて欲しい。
A1 (まつもとさん)
(それらの機能が) 悪いとは言わないが、だからといって汎用言語にこれはどうか、というものもあり。こちらからこう変えろと口出しはしない。小出しに要望 (RCR) にしてもらって、ひとつずつ議論していくのがよい。どれが欲しいかどんどん教えて欲しい。
Q5 (永井さん)
今後、拡張ライブラリが YARV の上で動くようになると思うが、C で拡張ライブラリを書く場合に、どのようなところに注意したらよいか?
A5 (ささださん)
現在の C API はほとんど使えるようになっている。ごく一部、使えなくなった API があったり、より効率の良い新しい API が提供されたりしている。