Genius Framework について

Post on 31-Dec-2015

79 views 2 download

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

Transcript of Genius Framework について

Genius Framework

について

吉津 卓保( S2 ファクトリー株式会社)

自己紹介

seagirl という名前でブログをやっています。

http://blog.s2factory.co.jp/yoshizu/

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 インスタンスインスタンス

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/

ご清聴ありがとうございました