いまさら聞けないFlex、
そして、いまこそ入門のとき!?
Flex 3正式版リリース! Flexの過去・現在・未来
クラスメソッド株式会社
篠崎 大地
2008/3/31
Flex 3の新機能はこんなにある
■ 2つの新コンポーネントの追加
業務系で使用頻度の高いコンポーネントであるDataGridの高機能版、「AdvancedDataGrid」と「OLAPDataGrid」が追加されました。より複雑な構造やレイアウトを表示できます。
■ コーディング支援機能
リファクタリング機能が搭載されました。開発中に変数名や関数名を変える場合、この機能を使えば、関連するソースコード上のすべての場所で、自動的に名前を変えてくれます。より安全に変数・関数名を変更できます。
また、使われていないimport文の整理も行えるようになっています。
図2 不要なインポート文の整理 |
■ プロファイラの搭載
開発中のコンテンツのメモリ割り当て・解放の様子を細かく追跡できるようになりました。いままでコントロールできなかった、GC(ガベージ・コレクション)の実行もプロファイラから行えます。これにより、リソースのリークがないかどうかの確認ができます。Flex 2では、このたぐいの情報では、使用している総メモリ量の取得しかできませんでした。
関連して、Flash Player 9.0.115では、実行時のメモリ使用量などを追跡するためのAPIとして、「flash.sampler.*」が提供されています。さらに、関数単位の実際の実行時間も記録可能です。
図3 プロファイラ(画像をクリックすると拡大します) |
■ デバッグ支援
デバッグ中に、ソースコード上の変数や式にマウスオーバーすると、その値がチップ表示されるようになりました。
図4 変数の値のツールチップ表示 |
■ Flash IDE CS3との連携
Flash IDE(Flashコンテンツ開発環境) CS3との連携をサポートする「UIMovieClip」「ContainerMovieClip」という新しいクラスがFlexフレームワークに追加されました。
Flash IDE CS3で基本となる部品を作り、Adobeが無料で提供する機能拡張を使ってFlexのコンポーネントに変換することで、Flex側に容易に受け渡すことができます(※Flex 2は、Flash IDE CS3に先行してリリースされたこともあり、いままでは連携のための機能拡張がβ版として提供されていました)。
また、フレームワーク側で、ステートフルなスキンがサポートされました。
コンポーネントの状態(例えば、マウスオーバー/マウスダウン)に応じて、背景がアニメーションするような凝ったボタンを作成することが容易になっています。
■ 制約ベースのレイアウト種類の追加
制約に列制約と行制約が追加されました(ConstraintColumn/ConstraintRow)。Canvasなど、絶対座標を使って子をレイアウトするコンテナと組み合わせて使うことにより、より柔軟なレイアウトを定義できます。
図5 行/列制約 |
■ Flexフレームワークのキャッシング
(Flash Player 9.0.115.0以降との組み合わせの場合のみ)
Flexフレームワークのコンパイル済みのバイナリを、クライアント側のFlash Playerでキャッシュする機能が、Flash Player 9.0.115で追加されました。
これによりFlex 3で作成したアプリケーションのファイルサイズを、大幅に小さくできます。フレームワークはクライアント側でキャッシュされるため、フレームワークを省いた形でコンテンツを配置できます。WindowsにおけるDLLのような機構です。
■ 国際化のサポート
Flex 2でも国際化のための仕組みがありましたが、Flex 3では(言語などを)実行時に動的に切り替えできるようになりました。
■ Webサービスの自動インポート機能
WebサービスのWSDLのURIを指定すると、内容を解析し、そのWebサービスにアクセスするためのActionScriptソースコードを生成する機能が追加されました。
■ 高品質・高圧縮率な動画コーデックのサポート
Flash Player 9.0.115から、H.264形式の高精細な動画を再生できるようになりました。音声面ではHE-AACをサポートしています。
Flexの未来はいったいどうなるの?
Adobeのホームページ上では、早くもFlex 4のロードマップが公開されています。
図6 Adobe OpensourceのFlex 4のページ |
2008年末にβ版、2009年にリリースが予定されており、オープンソース化されたFlex SDK 4の開発中のソースコードは、Subversionのリポジトリ上で誰でも確認できます。
■ デザイナーとの協業を加速させる「Thermo」
RIAで今後ますます重要になってくるのが、UIやインタラクションの設計です。
現在のFlexの開発フローでは、デザイナーの仕事をプログラマーが受け取り、インタラクションを加えていくのが一般的ですが、Adobeで開発中のツール「Thermo(コードネーム)」では、このフローをさらに一歩踏み込み、デザイナーが動きの部分まで作りこんだ後、MXMLファイルとして出力できるようになるといわれています。
図7 Adobe labsのThermoのページ |
デザイナーがコントロールできる領域が増すことで、コミュニケーションロスや手戻りが減り、高品質なRIAの開発につながるものと期待されています。
Officeやファイル共有も!? 米のAdobe Max2007総評 連載:Flash観測所(7) 先ごろ米で開催されたユーザーカンファレンスAdobe Max2007。RIAの今後の方向性を知るうえで非常に重要な発表が今年も山盛りでした 「リッチクライアント & 帳票」フ ォーラム 2007/10/15 |
■ オープンソース化の恩恵
Flex 3のリリースと併せ、Flex SDK 3/BlazeDSがオープンソース化されました。コミュニティからの貢献やフィードバックを通じ、機能追加やバグ修正が行われ、さらに安定した基盤となることが期待されます。
ユーザー主導のリッチクライアント研究広がる WCR Watch(14) Flexの勉強会を草の根ユーザー会FxUGが開催、50名以上の参加者を集めた。高い関心の背景にはリッチクライアントへの切実なニーズの高まりがある 「リッチクライアント & 帳票」フォーラム 2006/8/1 |
いまこそFlexに触れてみませんか?
本稿ではこのように、Flexや、それを取り巻くAdobeのほかのRIA関連製品群の変遷を振り返ってきましたが、いかがでしたか。
AdobeのFlexチームのプロダクトマネージャ、Matt Chotin氏もFlex 3の紹介記事の中で書いていますが、いまはFlexに触れてみるのに最適な時期だと筆者も思います。「Flex 2のリリースは素晴らしいことだったが、Adobeが必要と考える機能をすべて含めるには時間が足りなかった」(Matt Chotin氏)。
実際にFlex 2で開発を行っているときには、リファクタリングやプロファイラは欲しい機能でした。Flex 3にはそれらが備わっています。また、開発したプロジェクトをAIR化し、AIRに特化した実装を加えることでより魅力的なRIAとする楽しみもあります。
状況が整ったいま、大きな障壁は見当たりません。この機会にFlexの世界に触れてみるのはいかがでしょうか。
プロフィール:篠崎 大地(しのざき だいち) クラスメソッド株式会社 情報システム部 テクニカルスペシャリスト Macromedia Certified Flash MX 2004 Professional 認定技術者 Adobe Certified Professional Flex 2.0 Developer 認定技術者 Flashエンジニアとして教育系コンテンツの設計・開発などを経て、クラスメソッド株式会社に。 入社後は、主に金融・証券系のRIAコンテンツの開発に従事し、証券取引システムのフロントエンドやチャートシステムなどの実績がある。初めて触ったMacromedia製品はDirector 3.1。Flashは5から。 |
1-2 |
INDEX | ||
いまさら聞けないFlex、そして、いまこそ入門のとき!? | ||
Page1 Flex 3正式版リリース! いまさら聞けない「Flex」とは? AIRによって大きな1ピースがはまった いまこそ総まとめ! Flex/Flashの歴史 |
||
Page2 Flex 3の新機能はこんなにある Flexの未来はいったいどうなるの? いまこそFlexに触れてみませんか? |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|