FlexとSilverlightで同じアプリを作って比較してみた
クラスメソッド株式会社
福田 寅成
2009/2/24
いま注目されているRIA(Rich Internet Application)/リッチクライアントに関しての入門連載です。RIAの概要と主要なRIA技術たちを紹介し、サンプルアプリケーションも作ってそれぞれを検証します
今回は業務用アプリケーションでポピュラーなマスタメンテナンスのアプリケーションの非常に簡単なものをFlexとSilverlightで作ったので、紹介します。単に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技術に触れよう |
リッチクライアント&帳票 全記事一覧へ |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|