- Flex アプリケーションを実行する為には、ユーザは新しく何かをインストールする必要があるという誤解
Ward氏 は、InfoQ.com だけに Flash の普及率と Flex のプログラミングモデルについて特別に話をしてくれた。Flex 2 と Flex 3 には Flash Player 9 が必要だ。Flash Player 9 のランタイムは次の URL で示されているとおり、現在世界のコンピュータの94%でインストールされている。 http://www.adobe.com/products/player_census/flashplayer/version_penetration.html
Flex 2 と Flex 3 のアプリケーションは Flash Player 9 で実行する。Flex アプリケーションはベクタグラフィックスやビットマップ操作、そしてネットワークキング(ブラウザネットワークキングスタックに基づいたもの)のような、ネイティブの Flash Player API 上に構築されている。Flex フレームワークはデートピッカーやデータグリッド、チャート等のような再利用可能なコンポーネントを提供している。Flex アプリケーションをコンパイルすると Flash Player 用のバイナリコードフォーマットである SWF ファイルが生成される。その SWF ファイルに含まれるものは、Flex フレームワークのコードとプロジェクトのカスタムコード用のバイトコードである。Flex のコンパイラは使用されるクラスだけが SWF ファイルに入るようにバイトコードを最適化する。
Adobe はデスクトップアプリケーション用に、Web ランタイムと同じくらいあらゆる場所で利用可能な、Adobe AIR という名の新しいデスクトップランタイムの開発を目指している。Adobe AIR 1.0 は 2008 年の初頭にリリースされる予定で、現在の AIR は labs.adobe.com からのベータ版リリースである。すでに多くの企業が実運用アプリケーションを AIR で構築している。eBay のアプリケーションである eBay Desktop (サイト・英語)でその例を見ることができる。 - Flash Player が100%プロプライエタリであるという誤解
Ward 氏は InfoQ.com のために、この製品について引き続き語った。Flash Player のコアは Mozilla によるオープンソースプロジェクトである Tamarin Virtual Machine だ。SWF ファイルのフォーマット完全に公開されているわけではないが、osflash.org 上のコミュニティによって文書化が行われている。SWF ファイルを読み書きするオープンソース製品は数え切れないほどある。Flash Player の製品方針は従来どおり、コミュニティとそのニーズに強く影響を受けてきた。Flash Player 用のコア言語は JavaScript 仕様である ECMAScript 262 の実装である。Flex では、コンポーネントとアプリケーションの見栄えを整えるために CSS も利用する。Adobe AIR は Tamarin や Webkit 、SQLite のようなオープンソーステクノロジ同様にデスクトップアプリケーション用の基盤として Web スタンダードを利用している。
- Flash はデザイナや動画、そして迷惑コンテンツ向けであるという誤解
Ward 氏は 2007 年 7 月のブログで「どのように Flash 恐怖症を乗り越えたか(source)」というテーマを取り上げた。Flashの能力が悪用されてきたのは疑いの余地もない。ポップアップ、ポップオーバー、イントロスキップ、迷惑広告が私たちのスクリーンに蔓延している。誤った伝道活動をしているからといって、それだけでその宗教を判断するべきではない、とはよく言われることだが、同じことがテクノロジにもあてはまる。Flash は迷惑な物に使われるといった理由だけで敬遠されるべきではない。つまるところ、スパム送信者が悪用するという理由だけで電子メールが避けられることがないのと同じである。
Ward 氏は InfoQ.com のために、この話題を更に詳しく述べた。従来の Flash コンテンツはタイムラインをベースにしたデザイナ向けツールで構築されていた。Flex は Flash をベースにしたコンテンツとアプリケーションを構築するための開発者用ツールセットである。デザイナと開発者はこの二つのツールのアセットを共有することによって共同作業ができる。Flex は次のような包括的なコンポーネントベースを提供している。
http://www.adobe.com/go/flex_explorer_app
http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&exc=15&loc=en_us - Flex は企業アプリケーションや業務アプリケーション向けではないという誤解
Ward 氏はこの数週間に渡って、Adobe Flex で実装されたいくつかの新しい Oracle のアプリケーションついて、パート 1 から 7 で構成された一連のブログ記事(source)を書いた。最近行われた Oracle OpenWorld で発表されたそれらのアプリケーションは、セールスツールからデータベースマネージメント、ビジネスインテリジェンスまで多岐にわたる。
Oracle の Flex 利用法に加えて、InfoQ.com では多くのグループが企業アプリケーションに Flex を使っている事実をまとめた記事を公開(参考記事)した。Ward 氏もまた、Workday、SAP、Salesforce、Business Objects など、Adobe Flex を使って開発された多くの企業アプリケーションの実例があることを InfoQ.com に指摘している。 - Flex は高価であるという誤解
Ward 氏はコストに対する関心に対応するため、Adobe が今まで行ってきたことを詳細に語った。Flex は Web とデスクトップ用のRIAを構築するための、間もなくオープンソース化される予定の無償の開発者用ツールキットだ。この無償の SDK はどのブラウザや OS でも同じように動作する RIA を構築するのに開発者が必要なものを全て備えている。無償の Flex SDK は、拡張可能、スキン変更可能、そしてアクセス可能な広範囲にわたるコンポーネントセットで構成されている。これらのコンポーネントの多くは、次の URL にある Flex コンポーネントエクスプローラで見ることができる。
James Ward 氏の Census RIA ベンチマークアプリケーションで、AMF と他のテキストベースのシリアライズテクノロジとの比較が参照できる。
http: //www.adobe.com/devnet/flex/samples/code_explorer/
Flex Builder は無償の Flex SDK を使ったアプリケーション開発を一層効率的にしてくれる Eclipse プラグインで、統合されたデバッグやデザインビュー、コード補完などの機能が備わっている。
Flex Builder の価格設定は最近幾通りかに変更された。現在、Flex Builder は学生と教育機関に無償提供されている。チャートコンポーネントが付随しない基本機能のみを備えた Flex Builder は、何タイプかある価格設定とのバランスをとるため、249 ドルまで値下げされた。
Flex アプリケーション用のバックエンドインフラを構築するためには多くの選択肢がある。高性能の AMF データ転送プロトコルを活用するための選択肢としては、Granite Data Services のような数多くのオープンソースプロジェクトや LiveCycle Data Services のような Adobe の公認製品がある。AMF を使うと、データをテキスト形式( SOAP や RESTful など)に変換して転送し、再びデータに戻すという無駄なステップが省ける。AMFはまた、型情報が通信全体に渡って保管されることを可能にする。
http://www.jamesward.org/census - Flex アプリケーションは特別なサーバを必要とするという誤解
以下は再び Ward 氏と InfoQ.com との対話である。Flex アプリケーションはどんな Web サーバやアプリケーションサーバ、データベースサーバ上でも実行可能だ。Flex アプリケーションはどちらかと言えばクライアントサーバアプリケーションに近い。ロジックが Flash Player 内のクライアントで実行されているため、サーバとの間に何らかの通信方法が必要だ。Flex をインフラに接続するには様々な方法がある。バックエンドデータとサービスを RESTful や XML や SOAP として公開し、それを Flex アプリケーションで手軽に利用するのに、特別なライブラリは必要ない。もし AMF バイナリシリアライズプロトコルを選ぶと、Web アプリケーションにライブラリをいくつか追加する必要が出てくるかもしれない。AMF は XML や JSON のようなよくある普通のシリアライズテクノロジであり、バックエンドの SOA と通信するための数ある方法の一つとなりうる。
- Flex は難しいという誤解
InfoQ コミュニティの Leftie Friele 氏は InfoQ.com の記事、「Flexを使っているのは誰?」(参考記事)にコメントを寄せ、彼の勤める会社が Flex を学んだときの様子を詳しく紹介した。私たちが設立した会社 Ezmo では立ち上げ当初から Flex を使っている。Flex フレームワークにはとても満足している。
Flex が初めてというの人のために、Ward 氏は、Flex アプリケーションが構築される様子を紹介するスクリーンキャストを用意(source)している。この他にも Adobe Developer Connection (source)で Flex と Java を使用した例を紹介する数多くの記事がある。
Flex と Flash の予備知識を一切持たずに私たちはアプリケーションを 2 週間以内で構築した。Java と Flex 間の統合はとてつもなくシンプルで、Flex を使い始めることはまるで公園の散歩みたいに簡単だ。
Flex Builder によるツールサポートもすばらしい。使い慣れた Eclipse の環境を用いて、問題なく開発を始めることができる。不足しているのは、継続的インテグレーションをサポートするよりよいツールと、Flex アプリケーションを構築するための Maven プラグインだ。 - Flex を使うと、アプリケーション全体の再構築が必要になるという誤解
今年の 1 月に Bruce Eckel 氏は「 Java のハイブリッド化(source)」というタイトルの記事を出した。そこで彼は、Java コミュニティは Java のよい部分は引き続き使うべきだが、Java が苦手とする分野には他のテクノロジを使うべきだと述べている。この記事で彼が重点を置いたのは、従来の Java の選択肢( Swing 、JSF 等)の代わりに、Adobe Flex をユーザインターフェースに使うということだ。
Ward 氏はこのコンセプトについて詳しく述べている。Flex はアプリケーションの UI 部分を担当するだけなので、バックエンドはたいてい同じ状態のままである。もしバックエンドが SOA パターンにしたがって構築されたのなら、新しい Flex のUI にこれらのサービスを公開するのは容易いことだ。これは、EJB であれ、Spring サービスや POJO であれ、あなたの既存のビジネスロジックを維持することになる。
- Flex は「戻る」ボタンのような通常のブラウザの機能を破壊する。
Ward 氏のブログは「戻る」ボタンについて次のように考察している(source)。Flex では、「戻る」ボタンのサポートが組み込まれていて、簡単にカスタマイズが可能なので、それが問題になったことはない。また、Flex はハッシュマーク(#記号)つきの URL (または名前つきアンカー)を作成する簡単な方法を提供しているので、アプリケーションの状態に応じて URL を変化させることが可能だ。もうひとつの Web 1.0 統合問題は解決済みだ。
Ward 氏は InfoQ.com のために、更に詳しく話してくれた。Flex 3 は URL が要求されたときにアプリケーションが名前付きアンカーで状態パラメータをストアし、これらのパラメータに基づいて状態を正しくリストアするための簡単な方法を提供している。この機能の詳しい情報は Flex 3 Feature Introductions Deep Linking documentation (source)で見ることができる。
アクセシビリティは Flex アプリケーションにとって常に重要である。Flash Player は Jaws や他のアクセシビリティテクノロジと連動するので、Flash ベースのアプリーションにアクセシビリティを追加することが可能だ。Flex フレームワークはそのコアにアクセシビリティを確立している。あなたのアプリケーションがどのような障害を持った人たちをサポートする必要があるのかによって、様々なアクセシビリティがある。Flex のアクセシビリティ機能については Developer's Guide (source)で詳しく知ることができる。 - Ajax を使えば Flex ができることは何でもできるという誤解
Ward 氏は以下のように説明している。RIA 開発のテクノロジとして Flex と Ajax は二者択一ではない。Google Finance 等(source)のサイトでは、どのようにして Flex と Ajax を一緒に使うことができるかを紹介している。Ajax がコンテンツ中心のアプリケーションに適している一方、Flex はインタラクティブ性やメディア、データ中心のアプリケーションに適している。もしあなたのアプリケーションがこの二つの領域の中間に位置するなら、 Flex Ajax Bridge を使って二つのテクノロジを統合することができる。Flex 3 では Flex Ajax Bridge がSDK 本体に統合されているが、Flex 2 を使っている場合は Flex Ajax Bridge を別途ダウンロードする必要がある。
また、InfoQ.com コミュニティの Michael Marth 氏はなぜ彼のグループが Flex を選んだのか、コメントを寄せている。私たちは間もなく立ち上げ予定のオンラインデートサイト viibee.com に Flex 2 を使っている。
Flex は私たちがよりよいユーザエクスペリエンスを提供することを可能にしてくれるからだ。JavaScript や Ajax に同等の努力を費やして実現できることとは比較にならない。
原文はこちらです:http://www.infoq.com/news/2007/12/top-10-flex-misconceptions