RIA開発


Flex3

弊社では、ブラウザベースのRIA開発としてアドビシステムのFlex3をご提案いたします。
Adobe Flash Playerが広く普及しており、Windows、Mac、Linuxすべてに対応していること、Flashと同様のアニメーション、生産性の高さなどからブラウザベースでのRIAにはFlex3が最適であると考えています。

Flex3を弊社が進める理由は以下のとおりです。

Flexがもつ強力な機能

  • Flashと同じエンジンであるAdobe Flash Playerで動作するため、Flashと同様のアニメーションやエフェクトを実現可能。ビジネスアプリケーションであってもFlashのようなインタラクティブな動作が実現可能です。
  • オーディオ、ビデオ等のマルチメディア機能の充実。H.264エンコード対応や、FLVストリーミング再生も対応しています。
    アプリケーション画面上の一部として、任意の位置に動画を再生でき、人物など背景を透過した再生も実現可能です。
    Flash Media Serverと連携することで、RTMPストリーミングが可能となり、テレビ電話やテレビ会議も簡単に実現できます。
  • デザインとプログラムの分離
    デザインは、XMLをベースにしたMXML言語とCSSで記述します。
    プログラム部分は、オブジェクト指向プログラミング言語であるActionScript3.0で記述します。
    ActionScript3.0は、クラス継承やメモリガーベッジなどJavaにも似た機能をもつ言語。
    型宣言と厳密な型チェックをもち本格的なプログラミングに向いており、高速な実行が可能となります。
  • デザイナがIllustrator、PhotoShopで作成したデザインをFlexのMXMLに移行が可能。
  • 既存のUIコンポーネントを拡張したカスタムコンポーネントを作成することができます。
    カスタムコンポーネントも標準コンポーネントとまったく同様に利用できるため、コンポーネントを利用した開発効率を高めることができます。
  • XMLデータをツリー構造として扱えるDOM Level3 に対応したXMLクラスが標準で用意されており、XMLデータ生成・解析が可能です。
  • CSSで動的な画面デザイン変更が可能。CSSやビットマップを別のswfとすることで、デザインを動的に変更可能。

生産性の高さ

  • ビジネスアプリケーションを開発する上で必要となるコンボボックス、リストボックス、データグリッドなどのUIコンポーネントがあらかじめ用意されており、ビジネスアプリケーション開発の生産性が高い。
  • Flex BuilderというEclipseをベースにした開発環境が非常に優れている。
    画面デザインはドラッグ&ドロップによるGUI画面レイアウトとMXMLソースコードによる記述の2モード対応。
    高度なデバッグ機能はもちろん、パフォーマンス/メモリプロファイラなどでチューニングにも効果を発揮します。
  • チャート用のコンポーネントも用意されており、チャート作成が簡単に実現できます。
    複数のチャートを一度に表示するようなダッシュボード型のアプリケーション開発も可能です。

実行環境

  • Windows、Mac、Linuxのすべての環境で実行可能。
    高い普及率をもつAdobe Flash Playerがインストールされている環境であれば、ブラウザに依存せず実行可能です。
    ブラウザ間の実装の相違を考慮する必要がないので、どこでも同じ動作が期待できます。
    かりにAdobe Flash Playerのインストールされていない環境でも、ブラウザから数クリックでインストールできます。
  • RIAアプリケーションは常にサーバーから最新版が自動ダウンロードされるため、クライアントでの運用コストが極めて低い。
  • ローカルファイルへのアクセス制限やクロスドメイン制限で、インタネットで公開する場面で悪意あるプログラム開発を制限可能。

データ通信の効率

  • サーバーとの連携は、HTTPを利用したサーバー連携のほか、AMFによるバイナリ通信も可能。
    AMFはオブジェクトデータをそのままやりとりできるため非常に高速で、Javaとの連携もスムーズに行える。
    もちろん、Webサービスも利用可能のため、PHPなどJava以外のサーバー連携も可能。
    PHPでもAMF通信は可能。
    さらにSocket通信も可能のため、POP3、SMTP、IMAP、NNTPなどのインタネットプロトコルでの通信が可能となります。
  • 1つのアプリケーションをモジュールに分割することで、プログラムを複数のswfに分離することが可能です。
    必要に応じてそれぞれのswfがダウンロードされ、一括ダウンロードに比べ起動時間を短くすることができます。
  • LCDS(LiveCycle Data Services)を利用することで、プッシュ型のデータ配信が可能となり、リアルタイムコラボレーションの実現が可能となります。
  • FMS(Flash Media Server)を利用することで、ビデオ・オーディオのストリーミング配信やテレビ電話のようなリアルタイム通信が可能となります。

 

<<back