Adobe SystemsのRIA技術紹介(Flash/Flex/AIR)
RIAシステム 構築ガイド Essential 2
RIAコンソーシアムが発行したRIAの普及促進や開発に関するガイドライン『RIAシステム 構築ガイド』の2008年版である『RIAシステム 構築ガイド Essential 2』をWeb担向けに特別にオンラインで公開するコーナー。
Adobe Flash
Flashは、タイムラインをベースとしたアニメーション表現を行う手段として登場しました。インタラクティブな Web サイトやリッチメディア広告はもちろん、魅力的なプレゼンテーションやインストラクショナルメディア、ゲームなど、あらゆるコンテンツとして利用されています。
また、Flashを再生するAdobe Flash Playerは圧倒的な普及率を誇り、確実に最大限のコンテンツ配信リーチを確保できます。最新のFlash Player 10では、3D効果やカスタムフィルター/エフェクト、縦書きをサポートするテキストレイアウト、GPUによる描画などの新たな機能で、さらに高度な表現力とパフォーマンスを提供します。
Adobe Flex
一方で、Flashの表現力をコンテンツだけでなくWebアプリケーションに適用する、つまりRIAの実現手段として注目するようになってきました。しかし、タイムラインベースのFlashは開発者にとって扱いやすいものではなく、大規模な開発や分業には向いていませんでした。そこで登場したのがFlexフレームワークです。
FlexフレームワークはXMLの規格にのっとったMXMLでUIを定義し、アプリケーションの挙動をActionScriptで記述して開発できるのが最大の特徴です。ここでの挙動とは、例えばボタンをクリックしたときに別のウィンドウを開くといった動きのことです。オーサリングツールがなくてもテキストファイルにコードを書くだけでFlashのUIを構築でき、多くの開発者にRIAの開発環境として支持されました。
ActionScriptはデザイナーになじみの深いスクリプト言語ですが、Flexではオブジェクト指向言語として強化されたActionScript 3.0を用います。これによりJavaや.NETといったオブジェクト指向言語に慣れた開発者には習得しやすくなりました。
Flexフレームワークにはあらかじめボタン/リスト/データグリッド/ツリー/タブといった基本的なUI部品(コンポーネント)が標準で搭載されています。また、グラフやチャートを容易に実現するコンポーネントがオプション製品として用意されていますので、すべてのUIの部品をいちから作成する必要はありません。
尚、Flexフレームワークで作成されるFlashアプリケーションは、オープンソースとして無償公開されているSDKを利用し、任意のテキストエディターでの作成も可能ですが、EclipseベースのFlex BuilderというGUI開発ツールで効率よく開発することができます。
Adobe AIR(Adobe Integrated Runtime)
Flashアプリケーションは、ブラウザ上のAdobe Flash Playerで動作するため大きなリーチを獲得していますが、その反面ブラウザの制約に束縛されているのも事実です。ブラウザの制約を超えて、デスクトップ上でもっと自由にアプリケーションを動作させるため、Adobe AIRという新たな環境が用意されています。
Adobe AIRは、Web標準の技術(HTML / XML / JavaScript / CSS / Flash / ActionScript / PDF / Flash Videoなど)を使ってデスクトップRIAを作成・配布できるランタイムです。既存のWeb技術を組み合わせてアプリケーションを作成するので、現在持っている知識をそのまま生かした開発ができ、特別な技術を新たに習得する必要はありません。また、1つのアプリケーションがWindows / Mac / Linux上で動作するので、OS毎にアプリケーションを作成する必要がないのも大きな特徴です。将来的にはこのクロスプラットフォームの枠をPC以外のデバイス(携帯電話やモバイル端末など)にも広げていく予定です。
AIRのAPIは、従来のWebブラウザ上で動作するアプリケーションでは実現困難だった機能を提供します。ファイルシステムアクセス、ネットワーク検知、システム検知、アプリケーション更新、ドラッグ&ドロップ、ローカルDB(内蔵SQLite)など、より魅力的で直感的なRIAをデスクトップで実現するための機能群です。
AIRアプリケーションは、AIRのランタイムが必要になるわけですが、ランタイムがない状況でAIRアプリケーションをインストールする時にランタイムも同時にインストールするシームレスインストール機構が用意されているため、導入の敷居が低いというメリットがあります。
このように、AIRはWebアプリケーションで長年培われた技術やノウハウ、ユーザ体験をデスクトップアプリケーションに展開するために、開発者やユーザにとって様々な機能や仕組みが提供されています。
Adobe Flash Catalyst
RIA開発で常に課題となるのは、デザイナーと開発者の連携になります。デザイナーが作成したデザインは、顧客の要望や仕様変更によって開発途中に幾度となく変更されます。アドビは、このような手戻りを極力抑えるために、RIAのキモとなる様々なインタラクションを含んだプロトタイプをデザイナー自身で作成できるツール、Flash Catalyst(コードネーム、"Thermo")を開発中です。
Flash CatalystはPhotoshopやIllustratorなどで作成したモックアップを直接読み込み、インタラクションを付け、プロトタイプとしてのSWFやAIRの書き出しが可能になります。また、MXMLのエクスポートも可能なため、プロトタイプそのままのデザインで開発者に作業を引き継ぐことができるようになります。このように、アドビはツールによる開発ワークフローのサポートにも力を入れています。
参考資料:Adobe:Innovation / これまでの25年、これからの25年(アスキー)
- 轟 啓介/TODOROKI Keisuke
- アドビシステムズ株式会社
この記事は、RIAコンソーシアムが発行した『RIAシステム 構築ガイド Essential 2』の内容を、Web担向けに特別にオンラインで公開しているものです。※掲載されている内容は2008年12月発行時点のデータに基づいています。
RIAコンソーシアムの活動記録とも言える本ガイドは、RIAの普及促進、開発に関するガイドライン、課題解決などについて、マネージメント、ユーザーインタフェース、テクノロジーの3つの視点からみた、それぞれのテーマについてまとめています。
冊子のご購入や「無料お試し版」ダウンロード、過去の構築ガイドに関してはこちらをご覧下さい。
https://www.ria-jp.org/about/guide.html
ソーシャルもやってます!