「YUI_Framework」の編集履歴(バックアップ)一覧はこちら
「YUI_Framework」(2008/08/20 (水) 11:25:31) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
<YUI-Frameworkの批評と図式>
1.YUIの批評
|項目名|YUI|批評|
|理解しやすさ|◎|ViewであるMXMLとビジネスロジックが完全に分割されており、MXMLは表現に特化して、Logicは後で作るということもできます。|
|導入しやすさ|△|Alphaリリース版なので、いつ仕様が変わるかわかりません。導入する際にはそのあたり注意が必要です。|
|コーディング量|○|View層とLogic層が分割されるのでコーディングの量も減るかと思います。|
|用意されているクラス郡の使いやすさ|△|Alphaリリース版なので、用意されているクラス群はまだ未完成な部分があります。|
|テスタビリティ|○|テストを行うのはView層とLogic層で分割できるので、View層のテストは目視、Logic層のテストはPureMVCTestなどUnitテストを利用できるので、効率がよいです。|
|用意されているドキュメントの量|○|Alphaリリースなのでドキュメントが充実しているとは言いがたいですが、国産のフレームワークのため、日本語ドキュメントです。|
|サーバー技術との親和性|○|サーバー技術は選びません。|
|改造のしやすさ|△|Logic層が分離、独立しているため、この中を改変することでビジネスロジックの改造には耐えられますが、View層を改変するときにはLogic層のイベントハンドラが変わる可能性があるため、注意が必要です。|
|保守のしやすさ|○|ViewとLogic層が分割されているのでソースの可読性は高いです。|
|知名度|?|Alphaリリースなので紹介はあまりみたことないです。|
|導入しやすい案件規模|?|Alphaリリースなのでサンプル実行をしたくらいでは案件規模が図れませんでした。|
|教育コースが存在するか|×|今のところ、ないようです。|
2.YUIの関連図(2007/7/28時点でのものを図式化したもの)
#image(http://www39.atwiki.jp/flex_framework/?cmd=upload&act=open&page=YUI_Framework&file=YUI_Flow.JPG,width=500,height=300,title=YUI_Flow)
[[元の大きな画像はこちらから>http://www39.atwiki.jp/flex_framework/?cmd=upload&act=open&page=YUI_Framework&file=YUI_Flow.JPG]]
サンプルについては[[本家サイトのこちら>http://akabana.sandbox.seasar.org/ja/products/yui/index.html]]からお願いします。
#comment(title_name=なまえ:,title_ms=コメント:)
<YUI-Frameworkの批評と図式>
1.YUIの批評
|項目名|YUI|批評|
|理解しやすさ|◎|ViewであるMXMLとビジネスロジックが完全に分割されており、MXMLは表現に特化して、Logicは後で作るということもできます。|
|導入しやすさ|△|Alphaリリース版なので、いつ仕様が変わるかわかりません。導入する際にはそのあたり注意が必要です。|
|コーディング量|○|View層とLogic層が分割されるのでコーディングの量も減るかと思います。|
|用意されているクラス郡の使いやすさ|△|Alphaリリース版なので、用意されているクラス群はまだ未完成な部分があります。|
|テスタビリティ|○|テストを行うのはView層とLogic層で分割できるので、View層のテストは目視、Logic層のテストはPureMVCTestなどUnitテストを利用できるので、効率がよいです。|
|用意されているドキュメントの量|○|Alphaリリースなのでドキュメントが充実しているとは言いがたいですが、国産のフレームワークのため、日本語ドキュメントです。|
|サーバー技術との親和性|○|サーバー技術は選びません。|
|改造のしやすさ|△|Logic層が分離、独立しているため、この中を改変することでビジネスロジックの改造には耐えられますが、View層を改変するときにはLogic層のイベントハンドラが変わる可能性があるため、注意が必要です。|
|保守のしやすさ|○|ViewとLogic層が分割されているのでソースの可読性は高いです。|
|知名度|?|Alphaリリースなので紹介はあまりみたことないです。|
|導入しやすい案件規模|?|Alphaリリースなのでサンプル実行をしたくらいでは案件規模が図れませんでした。|
|教育コースが存在するか|×|今のところ、ないようです。|
2.YUIの関連図(2007/7/28時点でのものを図式化したもの)
#image(http://www39.atwiki.jp/flex_framework/?cmd=upload&act=open&page=YUI_Framework&file=YUI_Flow.JPG,width=500,height=300,title=YUI_Flow)
[[元の大きな画像はこちらから>http://www39.atwiki.jp/flex_framework/?cmd=upload&act=open&page=YUI_Framework&file=YUI_Flow.JPG]]
「図の解説」
YUIではFlexの標準タグであるApplicationタグを拡張し、
YuiApplicationというタグを使うようになります。
このタグをスタートタグ(Applicationタグの代わり)として、使うことにより、
YuiApplicationタグの中で書かれたUIコンポーネントのタグのイベントハンドラが
<mx:Button id=”btn”/>
というようにButtonであればClickなど標準イベントの要素をタグに記述することなく
認識してくれるようになります。
これを受けてLogic層ではYuiApplicationタグに登録されているUIコンポーネントのハンドラを
記述していくことになりますが、UIコンポーネントのIDとイベント名+Handlerという命名規約が
存在しています。
例えば上記にあるButtonのClickイベントハンドラをLogic層で作りたい、となる場合
btnClickHandler(event:MouseEvent)
と記述することで、ButtonのUIコンポーネントのClickイベントをハンドルしてくれるようになります。
また、これまでのフレームワークでは実装されてこなかったData層との相互連携も特徴のひとつです。
Flexでは画面の入力用UIコンポーネント(例えばTextInput)に入力された文字は
その画面の入力用UIコンポーネントを直接参照しなければなりませんでした。
例)
MXMLでは
<mx:TextInput id=”txtInput” />
と記述されているものがあれば、
var inputString:String = txtInput.text
という風に取得しなければいけなかった。
しかし、Yuiフレームワークでは、入力用UIコンポーネントに入力されたデータは
Data層にあるデータの入れ物に入力された文字が自動的に入ります。
ですので、上記のようにあげたような入力用UIコンポーネントから直接、
文字列を取得するのではなく、Data層にあるデータの入れ物のデータを参照すればよいわけです。
逆にいえば、Data層にあるデータの入れ物のデータを書き換えれば
表示されるデータも変化する、ということになります。
ただし、まだpublic alphaということであり、未完成な部分があります。
それについては[[本家サイトのこちら>http://akabana.sandbox.seasar.org/ja/products/yui/index.html]]をご覧いただければわかると思います。
サンプルについては[[本家サイトのこちら>http://akabana.sandbox.seasar.org/ja/products/yui/index.html]]からお願いします。
#comment(title_name=なまえ:,title_ms=コメント:)