BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Flex RIAの開発エコシステムの状況

Flex RIAの開発エコシステムの状況

ブックマーク

原文(投稿日:2010/01/11)へのリンク

Flex1.0は、2004年の3月にMacromedia(2005年にアドビに買収された)によってリリースされた。それ以来、Flexベースのリッチ・インターネットアプリケーション(RIA)開発は、ますます勢いを増してきた。そして、RIAは、広範囲に受け入れられたwebアプリケーション開発の手法となった。2010年に、アドビは、Adobe Flash プラットフォーム技術の一部であるFlash Builder 4 とFlash Catalystといっしょに、Flex 4をリリースする。Adobe Flexの状況を評価するために、InfoQは、現時点のFlex RIAの開発エコシステムを調査した。

Flexの開発環境

Adobe Flex Builder は、今なお、最も広く使用されている商用のFlex IDEである。オープンソースのEclipse IDEプラットフォームの上に作られている。Flex 4のリリースに合わせて、Flash Builderと名称変更される。これに加えて、 Adobe Flash Catalyst が、今ベータである。これは、FlashのデザイナとFlexの開発者間の橋渡しを意図したデザインツールであり、デザインのワークフローとプログラミング活動を統合している。

Adobeからのツールに加えて、Flexの開発環境は、様々な既存のIDEに統合されてきた。

  • IntelliJ IDEAは、成功したJava IDEであり、バージョン7から Flexの開発をサポート し始めた。最新のIntelliJ IDEA 9は、Flexをサポートするもっと完成度の高い フィーチャセット を持っている。
  • Amethyst は Flex IDE で、MicrosoftのVisual Studioに組み込むことができる。Microsoftプラットフォームの開発者が、Flexの開発を始め易いように、 馴染みのある環境 を提供している。
  • Ensemble Tofino もVisual Studioのプラグインで、Windows開発者向けのFlex開発ツールである。
  • FlashDevelop は、オープンソースのActionScript 2/3とwebと開発用環境であり、Adobe Flash IDE、 Adobe Flex SDK、MTASC (オープンソースの Flash), haXe (オープンソースのプログラミング言語でswf形式にコンパイルできる) と swfmill (XMLとswf の双方向のプロセッサ)を統合したものである。

アプリケーション・フレームワーク

ソフトウェアのフレームワークは、長い間開発されており、共通のソフトウェア開発のパターンを実装してきた。それにより、プログラミングの生産性を増し、品質を改善してきた。InfoQは、2008年に、 Flex/ActionScript用のフレームワークを多数紹介して、Flexが勢いを得るのに貢献した。 Cairngorm, PureMVC, Model-Glue:Flex, Foundry, Guasax Flex Framework, ARP, Flest Framework, EasyMVC そして Adobe FASTがあった。それから更にもっとフレームワークが現れ、Flexの開発を豊かにしている:

  • RubossFlex フレームワーク で、 Ruby on RailsMerbを統合している。またRESTfulなインターフェースを組み込んでいるので、Adobe AIRの内蔵データベースのSQLiteと話すことができる。AdobeのLiveCycle Data Services ES とJ2EE アプリケーションの関係と同様な方法で、Rubossフレームワークは、Rails や Merbのアプリケーションにサービスを提供する。
  • Mate Flex framework は、容易にイベント・ドリブンなFlexアプリケーションが開発できることを目的に、2008年に 登場した
  • Swiz は、Flex用のInversion of Control (IoC)(制御の反転)フレームワークである。他のフレームワークに見られるような制限、例えば、J2EEタイプのパターン、フォルダのレイアウトや決まりきったコードなどを課したりしない。
  • Prana もInversion of ControlタイプのActionScriptフレームワークであり、 Spring framework のXML 方言をベースに開発された。
  • JumpShip は、MVC ActionScriptフレームワークで、自動化されたデータのソート、列挙そして検索のための標準のデータモデルを持っている。最近のソフトウェア・フレームワークで流行りのプラクティスであるフレームワークにおけるシングルトンの使用を避けている。
  • GAIA は、Adobe Flash用のフロントエンドのActionScriptフレームワークで、Flex Builderをサポートしている。
  • Razor は、ActionScriptコンポーネント・フレームワークで、共通に使われているFlexコンポーネントの代替を提供する。
  • Flight Framework もActionScriptフレームワークでMVCと他のデザインパターンをサポートしている。

FlexとAIRの開発サポートツール

ソフトウェアの開発は、デバッグ、テスト、ログ取り、そしてドキュメント無しで完成させることはできない。何年にも渡ってFlexとActionScriptコミュニティにより、広範囲の開発支援ツールが作られてきた。

  • RIATest は、Flex用のGUIテストの自動化ツールである。WindowsとMac OS Xの両環境をサポートしている。
  • Flexcover は、オープンのソースコード・カバレッジツールでFlex, AIR そして ActionScript 3の開発で使える。
  • Alcon は、軽量のデバッグツールで、ActionScript3, Flex と AIRの開発を サポートする
  • Fluint は、Flex unit と integration(Flexの単体と統合)の略で、Flex 2 や Flex 3のアプリケーションを書いている開発者向けのテストフレームワークであり、アプリがAdobe Flash Player経由でブラウザに配信されたか、Adobe AIR経由でデスクトップに配信されたかは、関係ない。
  • Arthropod は、Flex と AIR開発用のデバッグツールで、実行時におけるアプリケーションのデバッグを 容易にする。
  • De MonsterDebugger は、オープンソースで軽量の、しかし本格的なデバッガでAdobe Flash, Flex そして AIR アプリケーション向けである。完全に Adobe AIRで作られている
  • ASTUce は、回帰テストのフレームワークで、jUnitのようなxUnitアーキテクチャに影響された。ActionScript 3の単体テストができる。
  • AsUnit は、ActionScript 3のためのオープンソースの単体テストフレームワークで、AsUnit 2.xは、完全にFlash IDEを統合している。
  • FlexMonkey は、Flexアプリ用のテスト・フレームワークで、キャプチャ、リプレイとFlex UIの機能性を検証できる。 “FlexMonkeyは、FlexUIの操作をレコードして、再生でき、ActionScriptベースのテストスクリプトを生成し、簡単に、連続的な結合プロセスの中に、テストスクリプトを含めることができます。”
  • Xray は、Flashアプリケーション用の検査ツールで、アプリケーションに余分な負荷を与えずに、実行時にアプリケーションのデバッグを行う。
  • FlexPMD は、Adobeが作成し、コード品質の改善に役立つ、AS3/Flexのソースディレクトリを検査して、共通の悪いプラクティスを検知する。
  • Natural Docs は、ドキュメント生成ツールで、ActionScript 3を含んだ複数の言語に対応している。

エンタプライズ向けのFlex

Adobeは、エンタプライズ向けのアプリケーション・システム開発をサポートする技術の開発に、相当の投資をしている。エンタプライズ・システムの多くは、サーバー側の開発と統合が必要で、この領域では、AdobeのオープンソースのBlazeDSと商用製品のLivecycle DSが、重要な役割を演じる。更に、Flex/ActionScriptのコミュニティにより、FlexのエンタプライズRIA開発をサポートする、代替のサーバーサイドの統合ツールが、開発されてきた。

  • Potomac framework は、Flex用で、Flexのモジュールフレームワークを使わない、モジュール化手法によって大規模なFlexアプリケーションを開発するためのものである。これは、 OSGiに触発されたもので、OSGiは、サーバーサイドのモジュール化された機能性をサポートする、アプリケーション・サーバーのプロバイダによって、広く使われている。
  • FluorineFx は、Flex/Flash Remoting, Flex Data Servicesそしてリアルタイム メッセージングの 機能を.NET フレームワーク向けに実装したものである。
  • FxStruts は、オープンソースのライブラリで、Struts のbean:writeと同じ機能を提供する、出力形式がAMF あるいは XMLであるという違いはあるが。
  • X2O フレームワークは、Adobe Flexアプリケーション開発用のwebベースのデータ・モデリング フレームワークであり、リモートでホストされるフレームワークを生成するので、クライアント側でのみプログラムすることができる。
  • Spring BlazeDS integration は、Springコンポーネントで、フロントエンドのクライアントとしてAdobe Flexを使い、Springにより強化されたRich Internet Applicationsを作成するのがより簡単になる。
  • Spring ActionScript は、かつては、Prana framework(先述)と呼ばれた。
  • Granite Data Services は、J2EEサーバー用のAdobe LiveCycle Data Servicesの代替品で無料である(LGPL)。
  • Red5 は、Javaで書かれたオープンソースのFlashサーバーである。
  • AmFast は、Python用のFlash remotingフレームワークで、NetConnectionクラス と RemoteObjectクラスのRPCをサポートする。
  • Exadel Flamingo により、Flex, JavaFX, Swing, J2ME, そして Android SDKを Seam、Spring、 そしてJEEと連動させることができる。
  • そして、色々なスクリプト言語をサポートするFlash Remotingがある: PHPObject, SabreAMF が PHP5用、 OpenAMF が JEE用、 AMF::PerlAmFast が Python用。

前進を続けるFlex RIA開発の次の未開拓分野は、モバイル・プラットフォームであろう。一連の発表によると、次のAdobe Flash 10.1は、広範囲のスマートフォーン デバイスに搭載される予定である。例えば、もうすぐリリースされるGoogle Nexus Oneフォーンには、Flash 10.1が搭載されている。Flashのモバイル技術が出てくれば、Flexのコミュニティは、すぐさま積極的に、モバイルのプラットフォームに関与してくるはずである。

InfoQは、引き続き、Flex RIAの世界における新しい開発をチェックし、報告していく。

この記事に星をつける

おすすめ度
スタイル

BT