Flex/AIR開発でデザイナとの
協業を楽にする「yui」
特集:デザイナとプログラマを“結”ぶオープンソース(前編)
クラスメソッド株式会社
渡邊 佳一
2008/10/1
RIA開発におけるデザイナとプログラマの協業問題
- - PR -
昨今、Web開発では高品質なアプリケーションを短期間で開発することが求められるようになっています。またRIA開発においては、昔のWeb開発のようにプログラマが主となる状況ではなく、そのアプリケーションの性質上、デザイナの役割が重要になってきます。
これらはさらにWeb開発を難しいものにしています。デザインはプログラマにとって敷居が高く、一朝一夕で身に付くものではありません。しかも状況に輪を掛けるかのように、RIAに期待を持ったクライアントの仕様は膨らむばかりです。
それから、RIA開発においては「デザイナとプログラマの協業」というものが叫ばれてきました。「デザインとプログラマがお互いに自分の得意分野を出し合って、開発することでより高品質なアプリケーションが開発できるようになる」というものです。しかし現実問題として、なかなかデザイナとプログラマの協業は一筋縄でいくものではありませんでした。
そんな中、「開発をシンプルに楽しく」というモットーを掲げて
「yui-frameworks」(以下、yui)の開発は始まりました。Adobe Flex/Adobe AIR(以下、Flex/AIR)開発における「デザイナとプログラマの協業」を実現するオープンソースのフレームワークとして、2007年7月7日にAlpha版がリリースされました。
yuiは、クライアントサイドにおけるMVCを実現することで、役割を明確にしてデザイナとプログラマのお互いが依存しないような仕組みを作りました。しかも、単純にデザイナとプログラマが依存しないだけでなく、アプリケーションの拡張性や保守性なども考慮して作成されています。
そんなyuiが2008年9月16日にBeta版としてリリースされました。Alpha版に比べ、さらにさまざまな機能を取り入れ、より開発をシンプルにし、完全なデザイナとプログラマの分業に近付いています。本記事では、Flex 3/AIR開発においての問題であるデザイナとプログラマの協業を可能にし、デファクトスタンダードのフレームワークとなり得るyuiについて、皆さんに紹介したいと思います。
コラム 「Flexのフレームワークといえば“Cairngorm”ってなかったっけ?」 |
| 2008年10月現在、Flex 3/AIR開発時に採用するフレームワークとして一番存在を知られているのは、「Cairngorm Framework」(以下、Cairngorm)でしょう。筆者は現在Flex技術のコンサルティングサービスを主な業務としていますが、その経験の中で顧客に採用するフレームワークを聞くと、最初に声が上がるのがCairngormになります。 しかし、Cairngormは1つのプロセスを実現するために、最低でも3つ以上のクラスを記述しなければならないなど、「開発の効率化において満足を得られるものではない」と筆者は感じています。筆者の携わる開発現場においても、積極的にCairngormを採用したことはなく、独自のフレームワークを作成し採用していました。いまのところは、「公のFlex 3/AIR開発の現場ではデファクトスタンダードとなるフレームワークは存在していない」といえるでしょう。 Cairngormの詳細は以下の記事をご参照ください。 |
「yui-frameworks」って、どんなもの?
例に倣っていうと、yuiは「Flex/AIR開発におけるプレゼンテーションレイヤのオブジェクト指向フレームワーク」です。Flex/AIR関連のフレームワークやライブラリをSeasar2ファミリーと連携させるためのSuiteプロジェクトである「akabana」で開発されています。
yuiを使用することによって、プレゼンテーションレイヤの役割を明確化し、デザイナとプログラマの協業を可能にします。では、具体的にはほかのフレームワークとどう違うのか、まずyuiのアーキテクチャについて解説したいと思います。
■ yuiのアーキテクチャ
yuiでは、アーキテクチャのレイヤを以下のように定義しています。
![]() |
| 図1 yuiのアーキテクチャ |
- View
MXMLコントロールの配置など、画面レイアウトを定義 - Action
Viewが送出するイベントに対応したイベントハンドラを定義 - Logic
外部インターフェイス呼び出しに対する処理やビジネスロジックなどを行う - Service
外部インターフェイスを定義 - Helper
Viewに表示するデータの適用やViewの振る舞いに対する処理を行う
Flex/AIRを利用して開発するRIAのクライアントで行うロジックには3つの種類があります。仕様に特化した「ビジネスロジック」、データを加工する「データロジック」、動的なユーザーインターフェイス(以下、UI)を構成する「ビューロジック」の3つです。
Alpha版のyuiはシンプルな「Logic」「View」「Mode」といった役割で構成されていました。先ほどの3つのロジックの分類でいうと、Logicがビューロジック、ビジネスロジックといった2つの役割を担っており、コード量が膨大になる傾向にありました。
Beta版では、Viewに依存する部分を「Helper」として切り出し、イベントのハンドリングを行う「Action」というレイヤを作りました。こうすることで各レイヤオブジェクトに明確な役割が与えられ、シンプルでテストがしやすくなっています。
次ページでは、引き続きyuiの概要や、“7”つのライブラリ、“3”つの思想、“5”大機能について解説していきます。
コラム 「Flexであまり考慮されない“テストのしやすさ”」 |
| この「テストのしやすさ」というのはこれまでのFlexフレームワークにはあまり考慮されていなかった部分です。アドビシステムズからFlex用のテスティングフレームワークとして「Automation API」なども提供されていますが、敷居が高くなかなか浸透していないのが現状です。 |
| 1-2-3 |
| INDEX | ||
| 特集:デザイナとプログラマを“結”ぶオープンソース(前編) Flex/AIR開発でデザイナとの協業を楽にする「yui」 |
||
| Page1 RIA開発におけるデザイナとプログラマの協業問題 コラム 「Flexのフレームワークといえば“Cairngorm”ってなかったっけ?」 「yui-frameworks」って、どんなもの? コラム 「Flexであまり考慮されない“テストのしやすさ”」 |
||
| Page2 コラム 「yuiを理解するのに必要な3つの設計思想、CoC・DI・POJOとは?」 分業を楽にするyuiの“5”大機能 |
||
| Page3 yui(結)でデザイナとプログラマを“結”び付けよう |
||
デザイナとプログラマを“結”ぶオープンソース バックナンバー
- 第1回 Flex/AIR開発でデザイナとの協業を楽にする「yui」
- 最終回 yuiを使ったFlexアプリを作って、便利さを体感しよう
ホワイトペーパー(TechTargetジャパン)
- いまさら聞けないTwitter超入門−@IT記事も対応なう (2010/2/4)
Twitterは最近話題のつぶやきツール。基本的な使い方から、iPhoneアプリの使い方、RTの解説、4人のご意見番の活用例や感想まで - HTML5は開発者側の都合。ユーザーには関係ない (2010/2/2)
3つのレンダリングエンジンを載せている“国産”ブラウザベンダは、HTML5やWeb/ブラウザの進化について何を語るのか - テキスト・フォント周りをキレイに見せるCSS、13選! (2010/1/29)
無数にあるCSSのプロパティを大まかに分類し、1つずつ紹介していく本連載。初回は、テキスト・フォント周りについて - OpenGL ESが大変な3Dアプリ開発を楽にするUnity (2010/1/27)
iPhoneゲーム開発に必須のOpenGL ES。そのコーディングに手こずっている方に有用なツールを紹介し簡単なサンプルを作成します
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |









