Upload
dionysus-dale
View
79
Download
2
Embed Size (px)
DESCRIPTION
Genius Framework について. 吉津 卓保(S2ファクトリー株式会社). 自己紹介. seagirl という名前でブログをやっています。. http://blog.s2factory.co.jp/yoshizu/. Agenda. Genius Framework とは 開発動機 Genius のアーキテクチャ Genius の便利なコマンド. 1. Genius Framework とは. Flex アプリケーションの開発(mx パッケージのライブラリと mxmlc コンパイラを使った開発)における、アーキテクチャレイヤのフレームワーク. ??. - PowerPoint PPT Presentation
Citation preview
Genius Framework
について
吉津 卓保( S2 ファクトリー株式会社)
自己紹介
Agenda
•Genius Framework とは
•開発動機
•Genius のアーキテクチャ
•Genius の便利なコマンド
1. Genius Framework とは
Flex アプリケーションの開発( mx パッケージのライブラリと mxmlc コンパイラを使った開発)における、アーキテクチャレイヤのフレームワーク
??
長い!
よくわかんない!
と言われる… orz
→ もうちょっと簡潔に
プログラムをどうやって分けるかプログラムをどこに書くか
ということを決めたルールのようなもの
→ アーキテクチャ
Genius はアーキテクチャを
提案するもの
ルールに従うことで、色々幸せになれる
•仕様変更に強い
•複数人数で開発しやすい
•余計なことで悩まない
2. 開発動機
Web で見かけるサンプル<?xml version="1.0" encoding="utf-8"?><mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"creationComplete="init()"><mx:Script>
<![CDATA[private function init():void {
message.text = 'Hello, world!';}
]]></mx:Script><mx:Label id="message" />
</mx:Application>
MXML を使えば簡単にWeb アプリが作れる!!
→ おお 素晴らしい!!
だけど、こんな感じに書いていって、本当にちゃんとしたアプリケーションが作れるの?
ぐちゃぐちゃ
あっという間に数千行のスパゲッティなコードになるので、おすすめ出来ない。
プログラムを整理したい
フレームワークが必要
Cairngorm
•Adobe 公式
•ケアンゴームと読む
•ほぼアーキテクチャのみ
Cairngorm のアーキテクチャを構成する登場人物
ServiceServiceLocatorDelegateCommandResponderEvent
EventDispatcherFrontControllerModelLocatorViewViewHelperViewLocatorValueObject
複雑すぎる!分割が細かすぎる!めんどくさい!楽になってない!
ちょっとした機能を追加するだけなに、5 個も 6 個もクラスを作らなければならない。
うんざり
作ろう
3. Genius のアーキテクチャ
Model
Thread
View
シンプル!
Model
•データの保持
•データの処理
View
•プレゼンテーションロジック( AS )
•UI 定義( MXML )
ViewBase (AS)ViewBase (AS)
The Flex Code-Behind Pattern
View (MXML)View (MXML)
書いているとき 動いているとき
View View インスタンスインスタンス
http://blog.vivisectingmedia.com/2008/04/the-flex-code-behind-pattern/
詳細
Thread
•コントローラ層( ユーザーイベントのハンドリングやモデルの操作など)
•サービス層( 外部サービスとのやりとり)
http://www.libspark.org/wiki/Thread
詳細
耐久性
クラスファイル 300 個くらいの実案件で使っています。
4. Genius の便利なコマンド
プロジェクトや各クラスの作成はコマンドで一発!
コマンド名 目的
genius プロジェクトのスケルトンを作成
generate Model, View, Thread 各クラスのスケルトンを作成
% ./genius -n HelloSample -p jp.seagirl.sample -o ~/Desktopcreated ./application/src/main.mxmlcreated ./application/src/application/core/Application.ascreated ./application/src/application/threads/ChangeStateThread.ascreated ./application/src/application/views/MainBase.ascreated ./application/src/application/views/Main.mxmlcreated ./application/src/application/views/IntroBase.ascreated ./application/src/application/views/Intro.mxml
genius コマンド
% ./generate UserModelcreated ./../src/application/models/UserModel.asdone.
generate コマンド
便利!
ただし、
シェル環境が必要•Mac OS X →
Terminal.app
•Windows → Cygwin など
Demo
Genius Framework 1.5
本日正式リリース(安定板)
http://www.libspark.org/browser/as3/GeniusFramework/tags/v1.5
参考資料
プロジェクトホーム http://www.libspark.org/wiki/seagirl/genius
開発者のブログ http://blog.s2factory.co.jp/yoshizu/
ご清聴ありがとうございました