BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Swiz Frameworkを使ったFlex開発

Swiz Frameworkを使ったFlex開発

Adobe FlexとAIRのコミュニティはJavaコミュニティの黎明期における流行を取り込み続けようと、多くの個人がFlex開発を単純化したり改良するためのフレームワークを提供している。この記事ではSwiz Framework(リンク)のレビューを行う。このフレームワークはJavaのSpringFrameworkが採用している多くの原理を真似る形で作られている。Swiz FrameworkはChris Scott氏(リンク)によって開発され、Apache License 2.0の下で提供されている。

AdobeのTechnical EvangelistであるChristophe Coenraets氏(リンク)は最近、Swiz Frameworkと詳しい使い方についてブログで論じた(リンク)。Christophe氏はまずSwiz Frameworkを下記のように表現している。

Swizは根本的に単純な制御の反転(IoC)を実装したフレームワークです。IoCフレームワークを使うと、アプリケーションのあるコンポーネント(例えばビュー)は自身が依存する他のオブジェクト(協調するオブジェクト)をインスタンス化したり探し出したりする必要がなくなります。フレームワークがそのコンポーネントを生成する際に依存するオブジェクトを注入します(従ってこの方法を“Dependency Injection(依存性の注入)”と呼ぶこともあります)。これによって疎結合が促進され再利用性の高いコンポーネントを生み出すこととなります。Swiz IoC フレームワークで管理されるコンポーネントはbeans(ビーンズ)と呼ばれます。

Christophe氏のサンプル・アプリケーションでは(オブジェクトの)注入に使うSpringに似た記法を紹介している。

Swizは[Autowire]という独自のメタデータを使って、あるbeansを他のbeansやビューに注入します。
inSyncの例では、contactServiceというRemoteObjectが下記のようにしてContactController.asに注入されています。
1
2
[Autowire(bean="contactService")]
public var contactService:RemoteObject;

そして、contactControllerはビューに注入されます。例えばContactForm.mxmlは下記のようになっています。

1
2
[Autowire(bean="contactController")]
public var controller:IContactController;

 

Swiz Frameworkに対する最近のレビューでTony Hillerson氏はAutowiring機能について下記のように論じている。

もしこの機能の存在を知らなかったとしたら、Autowireはとても素敵なものに思えるでしょう。(注入する)モデルがどこから来たものなのかを心配する必要はないのです。シングルトンであるかどうかを気にする必要もありません。そのモデルが必要であるということさえ知っていれば、あとは私達が必要とする時に確実にフレームワークがそれを用意しておいてくれるのです。一つだけ注意することがあります。注入しようとするプロパティはpublicにしておかないとSwizがそれを注入することが出来ません。

Tony氏とChristophe氏は両名ともSwizは簡単に使えるフレームワークであると結論付けている。Christophe氏は以下のように述べている。

Swizを使うのは簡単で楽しいことでした。押しつけがましいこともなく、確かに興味深いアイディアを提供してくれます。

Swizとその機能に関する詳細を知るにはプロジェクトのチュートリアル(リンク)を確認されたい。

原文はこちらです:http://www.infoq.com/news/2009/02/swiz-framework

この記事に星をつける

おすすめ度
スタイル

BT