本稿では、10月3日から5日にかけて開催されたAdobe主催のユーザカンファレンス「Adobe MAX 2011」より、米EffectiveUIのシニアソフトウェアアーキテクトを務めるRJ Owen氏による技術セッションの様子をお伝えする。EffectiveUIはUIの設計や開発に関する高度かつ専門的な技術を持つ企業である。セッションでは、Owen氏がUIの専門家としての視点からFlexおよびFlashの優位点を紹介した。
1. エンタープライズアプリケーション
まず最初に挙げられたのがエンタープライズ分野だ。エンタープライズ・アプリケーションの開発に使う言語やツールには次のような要素が求められる。
- クライアントとサーバの連携
- オブジェクト指向
- 優れた開発ツールセット
- 言語としての成熟度
- 自動コード生成機能
- ベストプラクティス
JavaやFlexがこの要件をすべて満たしているのに対し、HTML5は現時点ではまだ発展途上であり、エンタープライズシステムで採用できるほど成熟しきってはいない。Flexが特に優れているのは言うまでもなくUIを中心とするアプリケーションのフロントエンドの開発能力である。今後も当面の間は、バックエンドをJava、フロントエンドをFlexで開発するというスタイルが主流であり続けるだろうとOwen氏は指摘している。
2. マルチスクリーン開発
ここ数年でスマートフォンやタブレットは爆発的な普及を遂げてきたが、この傾向は少なくともあと数年は続くだろう。従って、PCだけでなく複数のデバイスに対応したアプリケーションを作成することは、この市場で勝ち抜くためには必要不可欠だ。PCだけでなくiOS、Android、BlackBerry、そしてテレビにも対応しているFlexは、この点では間違いなく優位だ。
もちろん、HTML5もマルチスクリーン開発のための有力な候補であることに間違いはない。Owen氏は、Flexが特に威力を発揮するのはビジネスユースのアプリケーション開発においてだと指摘する。また、同じコードベースでAIRアプリケーションが開発できる点も大きなメリットだという。AIRを使えばデバイスごとのネイティブのアプリケーションを提供することができる。AIR 3より追加されたNative Extensionsの機能を活用すれば、デバイス固有の機能を利用することも可能になる。マルチスクリーン対応とネイティブ機能の活用、その落とし所としてFlex/Flashは優れた選択肢と言える。
3. コミュニティ
歴史があり、活発なコミュニティはFlexの魅力の一つだ。コミュニティから発祥した非常に多くのプロジェクトがあり、膨大な数の成果物が生まれている。最近では、AdobeのFlexチームとコミュニティがよりうまいサイクルでFlexの開発を進められるような、新しい開発プラットフォームの構築を目指す「Spoonプロジェクト」も開始された。Flexのユーザはさまざまなプロジェクトの成果物を利用したり、コミュニティの協力を求めることもできるし、逆にコミュニティに貢献することでFlexの成長を促すこともできるわけだ。
4. ビデオおよびオーディオ
ブラウザベースのビデオ再生技術でも、現在のところFlashに一日の長があると言えるだろう。HTML5のビデオ再生はコーデックに依存する。現在利用されているコーデックとしてはOgg TheoraやH.264、WebMなどがあるが、Webブラウザごとにサポート状況が異なるという問題がある。例えばH.264はIE9/IE10やSafariでは標準で利用できるが、FirefoxやGoogle Chrome、Operaでは再生することができない。Webブラウザがサポートするコーデックについてはライセンス面の事情が絡み合っており、解決は一筋縄ではいかない。
その点、Flashビデオは主要なWebブラウザを一通りカバーしている。Flashビデオの再生に対応していない一部のモバイル端末についても、Flash Media Serverを利用すれば再生可能な形式でコンテンツを配信できる。それに加えて、適切なコンテンツ保護機能を備えていることもFlashビデオの強みだとOwen氏は言う。コンテンツ配信ビジネスを展開する上で、この機能は必要不可欠だからだ。現時点で、HTML5には同様の機能は備わっていない。