【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
 

VB研公開ゼミ:テクノロジーバトル 開発者の選択

第1回 Silverlight vs. jQuery+ASP.NET AJAX

デジタルアドバンテージ 一色 政彦
2009/07/01
Page1 Page2 Page3 Page4

 第8回まで続いたVB研公開ゼミだが、今回は趣向を変え、2つの技術をバトル形式で議論するセミナー形式で開催された。2009年6月13日(土曜日)にベルサール九段で開催されたテクノロジーバトル「開発者の選択」第1回には、約70名の参加者が集まり、大いに盛り上がった。

第1回 テクノロジーバトル会場の様子

 今回は「Silverlight vs. jQuery+ASP.NET AJAX」と題し、.NET系のRIA(リッチ・インターネット・アプリ)テクノロジの大本命として注目される「Silverlight」、そしてWebをリッチにする技術としてGoogle Mapsに始まりWeb世界で広く活用されている「Ajax」という2つの技術を対決させた。なお今回の「Ajax」とは、純粋な「JavaScriptとXMLによる非同期通信」だけを指すのではなく、.NET Frameworkとの親和性が高い「ASP.NET AJAX」や、オープンソースで人気が高くVisual Studioに統合された「jQuery」ライブラリなどを活用したJavaScriptによるUI実装からAjax通信(=XMLHttpRequestによる非同期通信)までを指している。

 基調講演では、山田氏がAjaxについて、八巻氏がSilverlightについて、その基礎的な内容を説明した。この基調講演を踏まえて、前半/後半、40分ずつでパネル・ディスカッションが開かれ、それぞれの機能、長所/欠点、実情、将来性などを議論した。パネル・ディスカッションのパネラーとして参加したのは、以下の方々(以下、敬称略)。

パネラー

]Ajax陣営:
  山田 祥寛(WINGSプロジェクト)
  宮崎 昭世(日立ソフトウェアエンジニアリング)
  一色 政彦(@IT Insider.NET副編集長)

]Silverlight陣営:
  八巻 雄哉(グレープシティ)
  菅原 英治(シグマコンサルティング)
  遠藤 孝信(@IT Insider.NET編集長)

司会   小川 誉久(@IT Windows Server Insider編集長)

パネル・ディスカッションの様子

 聴講者には、セミナー申し込み時に「いま、SilverlightとAjaxのどちらを支持するか」というアンケートに答えていただいた。68名の参加者分の集計結果によると、32名(47%)が「Silverlight派」、19名(28%)が「Ajax派」、残りの17名(25%)が「どちらでもない派」と、大幅にSilverlightに票が集まっていた。パネル・ディスカッション後に、それぞれの派閥の人数がどう変化するのかで勝敗が決められる。

 本稿では、このパネル・ディスカッションの内容を要約してお伝えする。アプリケーションは「アプリ」と略す。

Silverlight、Ajaxのできること/できないこと

―― SilverlightとAjax、それぞれで他方にはない利点とは何ですか?

]一色 Ajaxの良いところは、HTMLコードとシームレスに連携が取れる点です。例えばjQueryを使えば、非常にシンプルで直感的な記述でHTML DOM(Document Object Model)を操作できます。どれくらいシンプルかというと、

  「$("#ID名").css("プロパティ名", "値");」

のように1行で書けます。この1行の構文は、HTMLタグに指定した「ID」に対応する「CSS」として(例えば「background-color: #FF0000;」などの)「プロパティ」と「値」を指定することでデザインを変更できると知っているだけで使いこなせます。つまり、HTMLとCSSの知識を持っている一般的なWebデザイナーなら、特別な学習はほとんど要りません。Ajaxの方が簡単なので、わざわざSilverlightを使う必要はないと思います。

]Silverlight派
グレープシティ株式会社
ツール事業部
テクニカルエバンジェリスト
八巻 雄哉

]八巻 確かにjQueryプラグインなどによるアニメーションやエフェクトはよくできていると思いますが、開発という面は弱いのではないかと思います。先ほど「Webデザイナーが直感的にできる」という話がありましたが、VB6などでクライアント/サーバ型システムを開発してきた開発者にとって、HTMLやCSSの世界は遠いところにあるのではないでしょうか。そういう観点でいうと、SilverlightはExpression Blendなどのツールがそろっており、開発者にとってはAjaxよりも開発しやすいと思います。

]一色 なるほど、Silverlightのそういった利点は理解できます。しかし、八巻さんの基調講演の中でも同様の発言がありましたが、例えばよく見るSilverlightのデモは業務アプリからかけ離れており、実際にはSilverlightが提供するような高度なアニメーション機能は不要ではないでしょうか。

]八巻 業務アプリで要求が多いのは、UI(ユーザー・インターフェイス)側で細かな操作をすることです。例えばエンド・ユーザーにクリックされないように制御したり、ある部分をクリックしたら何かを表示したりするなどです。サーバサイドのASP.NET AJAXでこれらを実現するには限界があるため、クライアント側のJavaScriptコードをゴリゴリと書いて細かい機能を実現しなければいけません。この点、Silverlightなら、使い慣れたVB(Visual Basic)言語を使って、クライアント側で細かい機能をより簡単に実現できます。

―― 例えば、Silverlightの基調講演のデモ「Silverlight Airlines」にあった飛行機の航路をシミュレートするようなUIは、Ajaxでも実現できるのでしょうか。

Silverlight Airlinesの実行例

]山田 はい、このデモのようなものであれば実現できると思います。もう1つのデモにあった医療業務アプリ「Patient Journey Demonstrator」については、SilverlightのDeep Zoom機能(=画像を深く拡大していく機能)が使われていますが、このような画像系の処理は、Ajaxは得意ではありません。しかしながら、一色さんも述べたとおり、あそこまでグラフィカルなUIが要求されることがどれくらいあるかというと、現実的にはあまりないと思います。従って、飛行機の航路のアプリをAjaxで作る技術を持っているなら、あえてSilverlightのような新しいテクノロジを使う必要性はあまりないのではないでしょうか。

Patient Journey Demonstratorの実行例

―― Silverlight側で「Ajaxにはこれはできない」という指摘はありますか?

]菅原 Silverlightは特に動画の扱いが強いです。例えば、医療向けの内視鏡で撮った動画を編集するアプリは、Ajaxではできないと思います。

]八巻 まもなく発表が予定されるバージョン3からですが、3Dを用いたUIやシェーダと呼ばれるエフェクトなどはSilverlightにしかできません。正直、3Dなどは業務アプリとはあまり関係ないと思いますが、できる/できないでいうと、こういうのはAjaxではできません。

]宮崎 確かにそれはAjax自体ではできません。しかし、YouTubeに代表されるように、実際のWebアプリではこういった処理はサーバサイドで実現されます。つまり、Ajax技術を使ったサイトでも、そのようなサイトを構築できないわけではありません。


 INDEX
  VB研公開ゼミ:テクノロジーバトル 開発者の選択
  第1回 Silverlight vs. jQuery+ASP.NET AJAX
  1.Silverlight、Ajaxのできること/できないことの対決
    2.リッチUI/開発言語/開発環境の対決
    3.クライアント環境/対応OS/クロスブラウザ/SEO対策問題の対決
    4.システム・アーキテクチャ/将来性の対決

インデックス・ページヘ  「VB研公開ゼミ議事録」

ホワイトペーパーTechTargetジャパン

Insider.NET フォーラム 新着記事

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

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

.NET開発者中心に生まれ変わりました

.NET開発者中心コーナー

- PR -

- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?