SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Adobe Developer Connection(AD)

FlexおよびJavaアプリケーション構築のためのテクノロジー

  • このエントリーをはてなブックマークに追加

 この記事では、FlexおよびJavaアプリケーションの構築に使用されるテクノロジーの概要を紹介します。読者としてはJava、Flex、Adobe AIR、その他のデベロッパーを想定していますが、これらすべてのテクノロジーに通じている必要はありません。

  • このエントリーをはてなブックマークに追加

はじめに

 この記事では、FlexおよびJavaアプリケーションの構築に使用されるテクノロジーの概要を紹介します。読者としてはJava、Flex、Adobe AIR、その他のデベロッパーを想定していますが、これらすべてのテクノロジーに通じている必要はありません。

 関連記事「FlexおよびJavaアプリケーションのアーキテクチャ」と、概要ビデオ「Flex 4およびJava統合の紹介」もご覧ください。

Adobe Flash Platform

 Adobe Flash Platformは、リッチアプリケーション(swfファイルの形式)の作成・実行・データ供給のためのテクノロジーファミリー全体にアドビが付けた名前であり、クライアントランタイム、ツール、フレームワーク、サーバー、クラウドサービスを含みます。その個々のコンポーネントの多くは、この記事で詳しく説明します。

Flash Platformランタイム

 Flash Platformの中心となるのは、クライアントランタイムです。すなわち、ブラウザ向けのAdobe Flash Playerと、ブラウザ外部向けのAdobe AIRです。ランタイムは、Flash Platformで作成されたアプリケーション(swfファイルの形式)をレンダリングします。

Adobe Flash Player

 HTMLとJavaScriptで作成された従来のWebコンテンツの操作に関するユーザー体験は、ここ何年かで大きく変化し、単純なリンクと独立した複数のページから、非同期のデータ呼び出しとインタラクティブコントロールを備えた1ページの「アプリケーション」へと進化してきました。しかしこの体験は、ブラウザのオブジェクトモデルで使用可能なオブジェクトによって、相変わらず制限されています。そこで、Flash Playerの出番です。

 Adobe Flash Playerは、ブラウザのプラグインまたはActive Xコントロールとして動作し、リッチなオブジェクトモデルとレンダリングエンジンにより、表現力の高いインタラクティブなコンテンツをWebアプリケーションに含めることを可能にします。このようなリッチなコンテンツを使用するには、何らかのデベロッパーツールを使用してswfファイル(Flash Playerがレンダリングできるコンパイルされたバイトコードファイル)を作成し、そのswfファイルをHTMLページで参照します。ブラウザがHTMLを解析する際に、swfファイルがダウンロードされ、Flash Playerによってブラウザウィンドウ内で実行されます。

Adobe AIR

 Flash Playerは、ブラウザ内のFlash Platformで作成されたアプリケーションのためのクライアントランタイムです。これらのアプリケーションは、ブラウザベースのアプリケーションの利点である、あらゆる場所からのアクセス、容易な開発(インストールが不要)、簡単なアップデート、すべてのオペレーティングシステムおよびブラウザでの一貫性といった特長をすべて備えています。

 一方で、ブラウザベースのアプリケーションの制限として、オフラインでのアクセスができないこと、ブラウザのセキュリティサンドボックスの制約により、ブラウザウィンドウ外部のユーザーのコンピューターとのやりとりができないことといった欠点を持ちます。

 ブラウザ内とブラウザ外の両方のアプリケーションの利点を取り入れるためにアドビが開発したのが、Adobe AIRです。これは様々なオペレーティングシステムで動作するランタイムとツールのセットであり、HTML、Ajax、Flash Platformのアプリケーション(swfファイル)をデスクトップに展開することを可能にします。

 最近多く用いられるアプリケーションのデザインパターンとして、全ユーザーのためのブラウザベースのバージョンと、アクティブユーザーやパワーユーザーのためのデスクトップバージョンを用意するという方法があります。Flash BuilderやFlash Professionalなどのツールを使用して作成したswfファイルは、Webアプリケーションとデスクトップアプリケーションの両方に使用できます。両方のタイプのアプリケーションを作成した場合、別々のコードライブラリからのコードを共有することもできます。

 デスクトップ用にFlexアプリケーションをコンパイルした場合、swfファイルとXMLファイル(アプリケーションデスクリプターファイルと呼ぶ)ができます。このファイルには、コンテナオペレーティングシステムウィンドウの表示方法、クライアントコンピューター上でアプリケーション用に使用するアイコンなどの情報が記録されています。

 開発中に、テストが必要になるたびにアプリケーションをコンピューターにインストールしなければならないのは不便です。Flash Builderの場合、アプリケーションをテストするときには、AIR Debug Launcher(ADL)というツールを起動して、アプリケーションをインストールせずに実行できます。

 展開の準備ができたら、Flash BuilderのADT(AIR Development Tool)というツールを使用して、リリースビルドを作成します。これには、swfファイルを含むAIRパッケージファイル、アプリケーションデスクリプターファイル、アセットなどが含まれています。このAIRファイルを、ユーザーに配布します。書き出しの際には、信頼できる機関によるデジタル証明書を使用してアプリケーションに署名する必要があります。このアプリケーションは、ユーザーのコンピューターにフル権限でインストールされ、オペレーティングシステムとやりとりする能力を持つからです(もちろん、有害なコードを導入するおそれを減らすため、信頼できるアプリケーションだけをインストールするようにすべきです)。

 AIRアプリケーションをインストールするには、ユーザーのコンピューターにAdobe AIRランタイムがインストールされている必要があります。ユーザーがWebページからアプリケーションを簡単にインストールできるように(AIRランタイムをダウンロードしてインストールしてから、AIRアプリケーションをダウンロードしてインストールするという手間を省くため)、アドビはテンプレート用のデフォルトのHTMLファイルとbadge.swfファイルを提供しています。これを使用すれば、ユーザーがバッジ(フレーム付きのカスタマイズされたイメージボタン)をクリックすると、ランタイムがチェックされ、必要ならインストールが行われた後、AIRアプリケーションがインストールされます。Adobe AIR Marketplaceでは、すべてのアプリケーションがこの方法で提供されています。

次のページ
ツール

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Adobe Developer Connection連載記事一覧

もっと読む

この記事の著者

Jeanette Stallons(Jeanette Stallons)

Adobe、Oracle、Boeing、Wachovia、Morgan Stanley、Charles Schwabなどの企業の代理人として様々な講習・研修活動を営む、個人のFlexトレーナー兼コンサルタント。個人での活動を開始する以前は、Allaire、Macromedia、Adobeに勤務し、ト...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5307 2010/08/05 14:09

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング