今回のAdobe Flex 4.5 SDKおよびFlash Builder 4.5のリリースに伴い、Flex SDKとFlash Builderは、タッチスクリーン式のスマートフォンやタブレット向けの開発にも対応します。Adobe AIRランタイムを利用しながら、デスクトップ向けの開発と同じ手軽さで、モバイル向けのActionScriptアプリケーションとFlexアプリケーションをGoogle Android、Apple iOS、BlackBerry Tablet OS向けに開発でき、同様の品質も維持します。
Flash Builder 4.5を使用すると、Google Androidプラットフォームに対応したモバイル向けのFlexアプリケーションを構築できます。また、AndroidとApple iOSの両方に対応したモバイル向けのActionScriptアプリケーションを構築することもできます。FlexおよびFlash Builder 4.5のリリース後すぐに、iOS向けのFlexアプリケーションの開発を可能にするアップデートをリリースする予定です(※編集部注)。
この記事は、2011年4月12日執筆時点の情報です。7月11日現在、iOSにも対応したFlash Builder 4.5.1がリリースされており、本記事は4.5.1更新版の情報に基づいて更新されています。
必要となる他の製品
Adobe Flash Builder 4.5(Adobe Flex 4.5 SDKを含む)
Flexを使用したモバイルアプリケーション開発の概要
最初のリリースでは、Flexを使用したモバイルデバイス向けの開発に次の3つの要素が含まれます。
- ランタイム:モバイルデバイスに対応したAdobe AIR
- フレームワーク:Adobe Flex 4.5 SDK
- 開発環境:Adobe Flash Builder 4.5
ランタイム:モバイルデバイスに対応したAdobe AIR
Flex SDKおよびFlash Builderに搭載された最初のバージョンのモバイルアプリケーション開発機能は、モバイルデバイスに対応したAdobe AIRランタイムを使用して、スタンドアロンインストールのアプリケーションを開発することを想定しています。ハードウェアの「戻る」ボタンやメニューボタンの押下の処理、ローカルストレージへのアクセスなど、FlexはAIRが各モバイルプラットフォームで提供する統合性を最大限に活用します。
デベロッパーは、AIRを利用することで、各プラットフォームのネイティブアプリケーションと同じようにデプロイし、必要に応じて販売も行うことができるアプリケーションを開発できます。すなわち、AIRで構築したアプリケーションは、Android Market、iOS App Store、BlackBerry App Worldで配信することができます。AIR for Mobileについて詳しくは、Adobe AIRデベロッパーセンターを参照してください。
フレームワーク:Adobe Flex 4.5 SDK
Flash PlayerおよびAIRによって提供される主なランタイムAPIをベースにしながら、Flex SDKは堅牢で生産的なフレームワークを提供し、アプリケーションのUI開発やサーバーサイドのデータへのアクセスを実現します。Flexには、組み込みのUIコンポーネント、データアクセスコンポーネント、データバインディング、宣言型言語であるMXMLを使用したUI開発、ダイナミックレイアウト、拡張可能なコンポーネントアーキテクチャなど、豊富な機能が搭載されています。
Adobe Flex 4.5 SDKのモバイル機能は、こうしたFlexの主要機能を2つの形で取り入れています。1つは、従来のコンポーネントおよびそのスキンを、タッチスクリーン式のデバイス上でそのまま利用できるように最適化および機能拡張したことです。もう1つは、スマートフォンに特化した共通のアプリケーションデザインパターンを内蔵した新しいコンポーネントの追加です。フレームワークに追加されたこうした機能については、後述の「Flex 4.5 SDKを使用したモバイルアプリケーションの開発」で説明します。
開発環境:Adobe Flash Builder 4.5
Flash Builder統合開発環境の4.5リリースは、モバイル向けの開発におけるデザイン、構築、デバッグのための生産的なワークフローを実現します。プロジェクト作成から、ビジュアルレイアウト、ワンクリックでのデバッグやデバイスへのデプロイに至るまで、Flash Builder 4.5のモバイル機能は、ActionScriptやFlexをベースにしたモバイルアプリケーションの開発を、デスクトップアプリケーションやWebアプリケーションの開発と同じくらい簡単にすることを目的にしています。詳しくは、後述の「Flash Builder 4.5を使用したモバイル向け開発ワークフローの合理化」を参照してください。
モバイルアプリケーションのデザインと開発に関する留意点
タッチスクリーン式のモバイルデバイス用に開発されたアプリケーションには、デスクトップアプリケーションやWebアプリケーションと異なる点がいくつか存在します。
- タッチ入力で簡単に操作できるようにするためには、一般的に、デスクトップ向けアプリケーションよりも広い範囲のヒット領域が必要です。モバイルデバイス画面のピクセル密度はデスクトップモニターよりも高密度なので、特にこの点は重要です。
- スクロールなどのアクションに対するインタラクションパターンは、タッチスクリーン式のデバイスでは異なります。
- 画面領域が限られているので、スマートフォンのような小型デバイスで実行するアプリケーションが一度に画面に表示できるUIはほんのわずかです。そのため、デスクトップアプリケーションとは違う形でデザインすることが必要です。さらに、UIデザインでは、デバイスごとに変わる画面解像度とピクセル密度の違いを考慮する必要があります。
- モバイルデバイスの性能は着実に向上しているものの、そのCPUおよびGPUのパフォーマンスは依然としてデスクトップにははるかに及びません。
- モバイルデバイスで使用できるメモリは限られているので、アプリケーションのメモリ使用量を節約するように気を配ることが必要です。また、OSによってはいつでもアプリケーションが終了または再起動される可能性があることに注意する必要があります。
結果的に、モバイルデバイス向けアプリケーションの開発は、デスクトップアプリケーションを取り出して、様々な画面サイズに合わせて「スケールダウン」させればよいということではありません。アドビが目標としてきたのは、モバイル向けプロジェクトとデスクトップ向けプロジェクトの間で基本的なモデルおよびデータアクセスコードを共有し、開発作業の無駄を最小限に抑えることであり、またデベロッパーがそれぞれのフォームファクターに合わせたユーザーインターフェイスを簡単に構築できるようにすることです。