昨日、SDC座談会に参加させていただきました。
今回のメイントピックはSun Tech Daysに合わせて
来日したGreg Murrayさんが携わられているjMaki
とWebアプリケーションの最新トレンドでした。
参加された方々はGregさんの他、前回もご一緒させて
いただいた丸山先生と櫻庭さん、それにSunの増月さん
と片貝さん、コーディネーターの西村さんの計7名です。
「JSPタグでJavaScriptコードをラッピングして、簡単に
開発ができるモノ」というのがボクのjMakiに対する理解
でしたが、それ以上のものであることがわかりました。
https://ajax.dev.java.net/
UIコンポーネントを画面上に配置して画面を作成する際
厄介なのがコンポーネント間の連携です。バインド用の
変数を別途定義しておき、各コンポーネントへのデータ
プロバイダとしてその変数を参照するケースもあれば、
UIコンポーネントタグの属性としてデータを提供する他
コンポーネントのプロパティを指定するケースもあるか
と思います。
いずれの場合も「このUIコンポーネントの場合、データ
参照のプロパティ名はこれだ」ということを知っておく
必要があります。
jMakiの場合には「publish」「subscribe」という共通の
スタイルでコンポーネントからデータの入出力を指定
できます。データは「トピック」として識別され、同じ
トピックについてPublish/Subscribeの関係にあるWidget
はデータがバインディングされるという仕組みです。
また、各Widgetは厳格にJavaScriptコードとCSSが分離
されているので、デザイナはJavaScriptを気にせずに
Widgetの見栄えを変更できるようにもなっています。
単にJavaScriptをJSPタグにラップしただけでなく、
コンポーネント間通信やデベロッパーとデザイナの
分業といったことも考慮に入れたフレームワークと
言えるかと思います。
今後はJSFのようにサーバーサイドのBeanプロパティ
とのバインディングなども視野に入れているそうです。
「タグでJavaScriptをラップ」というと、OpenLaszloが
目指しているように単独のマークアップ言語でFlashと
JavaScriptのいずれかを選べるマルチレンダリング対応
も期待してしまいます。そういった構想はあるものの、
当面はJavaScriptを中心としていく方針だそうです。
バージョン1.0になったこともあり、今後期待のWeb
アプリ開発フレームワークと言えるかと思います。
ちなみにGregさんは日本語がとても上手です。会食では
「ちゃんぽん」「ぎっちょ」といった日本人でも普段あまり
使わない言葉がポンポン出てきましたし、お箸は左右の
両手で同時に使えたりしてしまいます(^^)
次回に日本に来られた際にjMakiの何か面白いWidgetでも
作ってお見せできたらいいなぁ、と思っています。