結局、RIAはどれを使うべきなのか?
連載インデックスへ
検証特集:結局、RIAはどれを使うべきなのか?(最終回)

FlexとSilverlightで同じアプリを作って比較してみた


クラスメソッド株式会社
福田 寅成
2009/2/24
いま注目されているRIA(Rich Internet Application)/リッチクライアントに関しての入門連載です。RIAの概要と主要なRIA技術たちを紹介し、サンプルアプリケーションも作ってそれぞれを検証します

 今回は業務用アプリケーションでポピュラーなマスタメンテナンスのアプリケーションの非常に簡単なものをFlexSilverlightで作ったので、紹介します。単にHelloWorld的なサンプルアプリケーションではなく、ある程度「本格的なプロジェクトでもひょっとして使えるぞ」と感じられるようなサンプルアプリケーションを作ってみました。

 前回の「“不況”時代を切り拓く、7つのRIA技術の基礎知識」で紹介した7つのRIA技術すべてでサンプルを用意できればよかったのですが、誌面の都合上取りあえずFlexとSilverlightだけとさせていただきます。まだ若いJavaFXやSilverlightを除き、前回紹介したRIA技術はすでに大規模業務案件での実績もあります。どれもRIA技術として検討の価値ありなのはいうまでもありません。

 RIA技術を比較検証する際に、今回のような別の技術を使って同じ仕様のアプリケーションを作るという手法を1つの比較手段として参考にしていただければと思います。

異なるRIA技術で同じアプリを作ってみよう

 今回のサンプル作成では、『簡単なアーキテクチャが異なるRIA技術間で同じように利用できないか』という部分を念頭に、サンプルアプリケーションの作成をめざしました。そうすればRIAのクライアント開発での大きな課題の1つである「アーキテクチャ設計」がある程度クリアになります(実際にはそんなに簡単ではないですが……)。

 少なくともある程度の見通しや「これならやれるぞ」といった直感を得られるのではないかと思い、サンプルアプリケーションを作成しました。その結果、『どちらのサンプルがFlex製でどちらのサンプルがSilverlight製か分からない』くらいのサンプルアプリケーションができました!

 今回、アーキテクチャが結構同じものができればいいなと思っていたのですが、見た目からクラス構成から変数やメソッド名からコメントまでほとんど同じものを作成できました。

 先に結論をいうと、筆者的には「Flexはイケル。Silverlightもイケソウ」という結論になりました(結論に関しては、また後ほど)。

検証サンプル「マスタメンテナンスアプリ」


 今回は以前のFlexの記事「1万件データ表示で知るFlex+Javaアプリの“速さ”」で作成した「一覧詳細」表示アプリケーションのシンプルなものを作成しました。これは例えば「ワークフローの申請一覧を表示し、その詳細を1件1件チェックし、間違っていれば却下、合っていれば承認する」といった業務を高速で行うようなシーンをイメージしたサンプルアプリケーションです。

FlexアプリとSilverlightアプリを触ってみよう

 以下のようなサンプルを作成しましたので、実際に触ってみてください。

Flex版「ユーザー一覧表示」サンプル(もっと大きな画面で見たい場合はこちらサンプルを動かすには、事前に実行環境のインストールが必要です。→ダウンロードページ

Silverlight版「ユーザー一覧表示」サンプル(もっと大きな画面で見たい場合はこちらサンプルを動かすには、事前に実行環境のインストールが必要です。→ダウンロードページ

 アプリケーションとしては大量のデータを「データグリッド」(表形式に配列データを表示してくれる便利な部品)に表示し、行を選択するとその詳細が右側に表示されるものです。ぱっと見どっちがどっちか見分けがつかないものになってしまいました。また、Silverlightの各コンポーネントのデフォルトのスタイルが少し貧弱だったということもあり、今回はわざとFlexのデフォルトの見た目に合わせてみました。

 サンプルのソースコードは、最後にダウンロードできます。

サンプルの応用例

 先ほど例に出した「ワークフロー承認アプリケーション」に、このサンプルを近づけるとすると、詳細表示部分に承認ボタンを付けたりする感じでしょうか。

 承認したものはサーバに通知が行くと同時にデータグリッドからは削除されます。さらに、「サーバからの返事を待たずに、ユーザーは次の承認依頼の処理に移る」といった応用例が考えられます。移動をキーボードショートカット+アプリケーションによるフォーカス自動遷移補助で実装しておけば、かなり高速に業務を行えるアプリケーションが作れます(という感じで、多くの開発者にとっては、三角や星マークがグルグル回るサンプルよりは今回紹介するサンプルの方がいろいろなことを想像しやすいのではないか、ひいてはRIA検討の材料になるのではないかと思います)。

 次ページからは、サンプルアプリケーションのソースコードを比較していきます。

1-2-3

 INDEX
検証特集:結局、RIAはどれを使うべきなのか?(最終回)
FlexとSilverlightで同じアプリを作って比較してみた
Page1
異なるRIA技術で同じアプリを作ってみよう
検証サンプル「マスタメンテナンスアプリ」
  Page2
ソースコードはどれぐらい違うのか?
  Page3
FlexとSilverlightは似ている?
標準“マナー”を作り、多くのRIA技術に触れよう



リッチクライアント&帳票 全記事一覧へ



HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日 月間