SlideShare a Scribd company logo
Flash(Flex) の明るい未来 toshipon http://www.toshipon.com
ユーザから見た Flash(Flex) のイメージ
画面遷移がスムーズ 動きが綺麗 使ってると楽しい
でも
開発者から見た Flash(Flex) のイメージ
重たい AS3 での開発が難しい 画面の動きが複雑
開発者にとっては 悪いことばかり?
違うよ。 全然違うよ。
重たい ↓ データの解放 を意識した開発 画面を モジュール化 し画面のロード・解放を分散
AS3 での開発が難しい ↓ Java に似てるというより JavaScript に似てる JavaScript を JSP にガリガリ書くより断然いい RIA 指向のこの時代クライアント側での 非同期処理を実装することは避けては通れない と、思います
画面の動きが複雑 ↓ 設計を今までの画面単位でやるから複雑になる 画面遷移じゃなくて 状態遷移 で設計する
ということで 今日は 状態遷移 について
状態遷移設計とは イベントとイベントの間の「状態」を管理する考え方 組み込み系の開発では一般的に考えられている でも最近 Web アプリケーションの開発では見落とされがち 設計 「状態」と「イベント」を洗い出し、仕様を決める 「状態」と「イベント」を洗い出すことで、テストの網羅性を向上させる 以下の図と表で洗い出す 状態遷移図 状態遷移表 実装 ステートパターン デザインパターンの一つで、状態によってプログラムの振る舞いを切り替える考え方 IF 文による状態の制御を無くして実装・テストしやすくする
状態遷移図 ( 例 : 自動販売機 ) お金投入 商品ボタン押下 お釣りボタン押下 お金投入 お釣りボタン押下 ポイント:同じ振舞なのに前後の「状態」が違う振舞が存在する 商品ボタン押下 お金投入 お金投入 消灯 点灯 売切
状態遷移表 状態\次の状態 消灯 点灯 売切 消灯 ― お金投入 お金投入 点灯 お釣りボタン押下 お金投入 商品ボタン押下 商品ボタン押下 売切 お釣りボタン押下 ― お金投入
ステートパターンによるクラス図 喉が渇いた人の状態クラス ・お金投入() ・商品ボタン押下() ・お釣りボタン押下() 状態インターフェース( State ) ・お金投入() ・商品ボタン押下() ・お釣りボタン押下() 消灯クラス ・お金投入() ・商品ボタン押下( ) ・お釣りボタン押下() 点灯クラス ・お金投入() ・商品ボタン押下() ・お釣りボタン押下() 売切クラス ・お金投入() ・商品ボタン押下() ・お釣りボタン押下() State ・状態変更() 実装 ポイント1:実装クラスのメソッドに各状態の振舞の処理を書くことで処理の漏れをなくす ポイント2:ステートパターンはクラスが大量にできてしまうので、状態管理を意識するだ        けでもいいかもしれません(汗
その他明るい話
ブラウザ依存がない IE6 縛りを強要しなくて済む 時代は Windows7 なのに IE6 制限はユーザも涙がでる ブラウザ依存が激しい JavaScript の代わりに画面ロジックが書ける (ブラウザ依存が激しいとか言い過ぎですが)
画面のレイアウト作成が容易 コンポーネント単位で画面にパーツを配置 デザインは CSS で制御できる ( モックアップ用に )DreamWeaver でぐちゃぐちゃ HTML 生成して HTML から JSP 書き出す簡単な作業が無くなります! (某社比較)
クライアントとサーバサイドの連携が簡単 AMF 方式で連携することで容易かつ高速 にデータの受け渡しができる クライアント側 サーバー側 AMF 詳しくは Web で検索 Flex BlazeDS Tomcat Java データベース
テストツールが充実 単体テストツール Java 側 JUnit :  http://www.junit.org TestNG :  http://testng.org Flex 側 FlexUnit :  http://opensource.adobe.com/wiki/display/flexunit/ ASUnit :  http://www.libspark.org/wiki/yossy/ASUnit
オペレーションテストツール  手動:人海戦術  自動: Automation API           http://www.adobe.com/devnet/flex/samples/custom_automated/ HP Quick Test Professional 9.5   https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp? zn=bto&cp=1-11-127-24^1352_4000_306__ Flex Monkey   http://code.google.com/p/flexmonkey/
まとめ メモリ解放とモジュール化で軽くする 設計は画面遷移から状態遷移で考える 様々なテストツールを駆使して効率化 Flex でプレゼンテーション層を開発して開発効率アップ&ユーザも幸せに Flash 開発の未来は明るい!まぶしー><
参考資料 WEB + DB PRESS Vol.53   http://gihyo.jp/magazine/wdpress/archive/2009/vol53 Adobe MAX 2009 Japan Flex+SeaSear2  セッション (PDF)  

More Related Content

PPTX
MVVM開発をさらに加速させる ノンコーディングUI開発
PPTX
Uwpハンズオン参加レポート
ODT
My dev env
PDF
Universal Apps (UWP)
PPTX
ASP.NET パフォーマンス改善
PDF
ConoHa WINGを支える技術(UI編) 「コンパネの基礎となる3つの柱」
PDF
更新担当者の負担を軽減できる MTプラグインのご紹介
PPT
Flash Playerの作り方
MVVM開発をさらに加速させる ノンコーディングUI開発
Uwpハンズオン参加レポート
My dev env
Universal Apps (UWP)
ASP.NET パフォーマンス改善
ConoHa WINGを支える技術(UI編) 「コンパネの基礎となる3つの柱」
更新担当者の負担を軽減できる MTプラグインのご紹介
Flash Playerの作り方

What's hot (9)

PDF
Firefox Mobile
PPT
titanium_outline20111227
PPT
T itanium概要
PDF
BuddyPressの導入からカスタマイズまでの日記2
PDF
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
PPT
無料環境でWindows Mobileアプリ開発
PDF
プラグインで管理画面をカスタマイズ
PDF
リモート・スマホ・シェアリング
PDF
駆け足で紹介する concrete5のおすすめ機能5選
Firefox Mobile
titanium_outline20111227
T itanium概要
BuddyPressの導入からカスタマイズまでの日記2
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
無料環境でWindows Mobileアプリ開発
プラグインで管理画面をカスタマイズ
リモート・スマホ・シェアリング
駆け足で紹介する concrete5のおすすめ機能5選
Ad

Flash(Flex)の明るい未来