(1)Flexのフレームワーク YUI


YUI ゆーい


YUIは、FlexにおけるView(mxml)とLogic(ActionScript)を完全分離することを目的としたプレゼンテーションレイヤーのFrameworkです。
作者は、S2Flex2コミッタのarkwさんで、ソースはseasar.orgのAKABANAプロジェクトで管理される予定です。


ライセンスは、Seasarファウンデーションソフトウェアライセンス(Apache License, Version 2.0)です。

The Seasar Foundation Software License


現在は、private Alpha 5 で、間もなくリリースされる予定になっています。


私も上記コミッタのはしくれ(特になにもしていないです)ですので、今日から少しずつ使い方などを書いていけたらと思います。
技術的な仕様などは、作者のarkwさんのブログで随時公開されていますのでそちらを参照してみてください。
http://akabana.info



YUIの特徴

YUIは以下のような特徴を持ちます。


■ViewとLogicの分離

デザイナとの分業を目的に、画面の定義を行うView(mxml)ファイルにはロジックを記述しなくてもよいように設計されています。

例えば、今まではButtonタグ内に「click="function名"」など、多少なりともmxmlスクリプトを記述する必要がありましたが、
YUIでは、それさえも不要になっており、
mxmlで必要なのは、画面を構成するコンポーネントの配置と、そのそれぞれに「id」を記述する事のみになります。


■Convention over Configuration

Seasar2.4で導入されたConvention over Configuration 〜設定より規約〜 (元はRuby on
Railsの特徴)を導入し、変数名等の命名規約によって関連付けを行います。
従って、設定ファイルなし。Cairngormに見られるような、FrontController(EVENTとCommandの関連付けを行うクラス)も不要です。


メタデータを用いたDI

YUIでは、View,Model,Serviceのメタが使用でき、それらを使用することによって自動的にDIされます。
ViewLogicクラス内にて、ViewインスタンスやRemotingServiceインスタンスをすぐに取得できます。


■双方向バインディング

Viewでの入力値と、Dtoのプロパティとの双方向バインディングが実現されています。
画面入力値は、(メタデータを使うことで)自動的にDtoバインディングされます。


■RPCの実装

S2Flex2との連携は、従来のs2flex2-componentsを利用するのではなく、YUI用に新たに実装されており、
gatewayUrlの記述やjava側のServiceクラスの指定が省けるようになっています。



だいたいこんな感じです。
久々に連載っぽく書いてみます。。。

次回は、(2)YUIの使い方 その1 です。