BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ アーティクル HTML 5かSilverlightか?

HTML 5かSilverlightか?

原文(投稿日:2011/08/08)へのリンク

序章

フラストレーションを感じたとき、Albert Einstein氏は、手段の完璧さと目的の混乱が、我々の主な問題に見えると言った。ただし、これはソフトウェア開発者の言葉ではなく、物理学者の言葉である。

開発プラットフォームは、発展と向上を続けており、森はしばしば木々の中で失っている。このような混乱が続いていることは、SilverlightとHTML5に関する議論で見ることができる。

マイクロソフトがHTML5の継続的な成長を推進するためにSilverlightを破棄しようとしているという考え方もある。これが事実であるとは言えない。マイクロソフトはSilverlightの戦略をシフトしているが、もはやクロスプラットフォームランタイムとしてではなくWindows Phoneおよびいくつかのメディアと基幹業務アプリケーションの開発プラットフォームとして、継続して推進している。Silverlightは離れているわけではない。実際にSilverlight 5は今年、最終形態で提供され、マイクロソフトのツールサポートは、伝説的にこれをバックアップしていくだろう。

HTML5は草案だが、クロスプラットフォームソリューションにおける究極的な役割は既成事実 である。HTMLが「すべてにおいて唯一のクロスプラットフォームソリューション」であることは、マイクロソフトも認めている

基本的に、SilverlightとHTML5の両方は、2つのツールの似ているところと異なるところに着目すると、それぞれの場所と目的を持っているだろう。

表面上の類似点

一見するとHTML5とSilverlight は、いくつかの点で似ている。似ている点は、リッチなユーザーインターフェイスと対話モデルの開発が容易である点だ。

デスクトップ、特にWindows開発者がWindows環境での開発に関してはある懸念がある。これは、中から大規模な企業では問題である。デスクトップアプリケーションの開発負荷は、いくつかのランタイムバージョンが提供されており、すべてのマシンをバージョンアップする必要があるため非常にやっかいである。これは、リッチなデスクトップアプリケーションの開発における痛点である。

いくつかのケースで、よりよいパフォーマンスとよりよいネイティブハードウェアの利用、簡単、よりシームレスであるなど、ビジネス上の理由でデスクトップアプリケーションに対する執着は続いている。さらにデスクトッププラットフォーム上の開発シナリオにおける既存のすばらしいプログラマの知識がある。これらの理由は、容易な開発の必要性で上書きすることができる。

すべてのカスタマがデスクトップアプリケーションで提供されるリッチさで幸せになれるわけではないため、開発に重点を置いているカスタマは、純粋なWebソリューションが好まれると思われる。代替ソリューションが模索されているような問題では、バランスが必要である。

一般的にAdobe AirとSilverlightの両方はよいソリューションだ。マイクロソフトのSilverlightは非常によいソリューションだ。なぜなら、これはランタイムであるにも関わらず、シームレスな配置と容易なユーザーの更新をする仕組みが提供されている。本質的に、マイクロソフトは更新の操作に注意を払っている。あなたは、エンドユーザーマシンにアプリケーションをダウンすることに心配する必要がない。

HTML5は、同じような配置シナリオを提供するが、隠れたトラップとしてこちらはブラウザに依存している。チームがHTML5ソリューションを使うことは合理的であるが、彼らのカスタマが最新のブラウザを使用可能で、それらをインストールできる必要がある。加えて、HTML5は、IE9、Chrome、Firefoxと広くサポートされており、IE10ではよりよく動作する。すべてのモバイルクライアントは、今はそうでなかったとしても将来的にこれをサポートするだろう。

要するに小さな配置に関しては、既存のSilverlightとHTML5は異なっており、デプロイメントモデルは、基本的にはどちらもシームレスである。

リッチなユーザーインターフェイス(UI)については、Silverlightにいくつかの利点がある。リッチなUIを迅速に作りたい場合、Silverlightはおそらく最適なソリューションである。これに関しては、HTML5はSilverlightに追いついてきている。まもなく、より多くのパッケージ化されたコンテンツが提供されて、リッチUI環境の構築が容易になるはずである。

2つのツールはまた対話モデルについても比較される。どちらもデスクトップアプリケーションのようにページのリフレッシュを待つ間、もういっぽうが動作することはない。

厳密な試験

厳密な試験では、HTML5とSilverlightの強力な機能は似通っている。まずSilverlightは、本当のWebベースデプロイメントのためにデプロイメント環境を超えた関連コントロールを持つ、イントラネットアプリケーションにより適している。

もう少し深くSilverlightの配置シナリオを見てみると、それは本当のエンドユーザーソリューションではない。もし開発者の目的が、アプリケーションユーザーがSilverlightをダウンロードして、彼らのマシンでそれを実行することなら、開発者は顧客のよい絵を持つことが必要である。顧客はSilverlightで実行出来るシステムを持つだろうか?それはなにができるだろうか?

たとえば、ユーザーがAmazon.comに行ったとき、Silverlightクライアントをダウンロードして、快適な操作を促進することはおそらくないだろう。Webサイトの利用には、よりシームレスで、操作性がよい方がよい。

しかしながら、イントラネットソリューション—開発者はマシンをコントロールしており、それらがWindowsマシンであることを知っている—デスクトップアプリケーションに必要なコントロールがないかもしれないが、彼らはそれらのマシンがSilverlightを実行できることを知っている。これは、開発者に大きな柔軟性を提供する。

現在、彼、または彼女は、HTML5と比較してSilverlightを選択することができる。これはもちろん、さらなる開発生産性を得ることができる。

マイクロソフトは、Silverlightアプリケーションのビルドと配置が容易なすばらしいツールを持っている。Silverlightはより構造化されて(ツールは独自のクラスである)おり、HTML5はもう少し作業が必要である。もしあなたのデプロイメント環境が比較的近い自信があるなら、おそらく近くにいる顧客に「これは最低要件だ」と言うことができ、Silverlightはさらに適している。Silverlightツールの質は優れており、開発者はSilverlightアプリケーションをドラッグ&ドロップで迅速に開発することができる。Silverlightはまた、マイクロソフトが提供するビルトインコントロール抽象モデルとネイティブコントロールによるUI開発、さらなる他の開発の高い生産性が提供される。

一方、HTML5は現在のWebアプリケーションツールのサポートが必要である。もしあなたがASP.NETの開発をしているなら、Visual Studio .NETはHTML5をサポートするツールを提供しておらず、多くの開発プラットフォームが現在、同じ状況である。

共通言語(Lingua Franca)か理解するための努力か?

プログラミング言語は、他の検討事項だ。C#(Silverlight)は、JavaScript (HTML5)よりも開発やデバッグが簡単だ。これは、ツールと言語の性質にまでさかのぼる。JavaScriptは手続き型であり、型アンセーフの性質を持つのに対して、C#はオブジェクト指向、型セーフな言語であるため、経験豊富なJavaScriptプログラマは、理解するのが少し難しいことを知っている。基本的に大規模なコードセットは、JavaScriptよりもC#で書かれている方がよいことを意味している。

Silverlightの制限と他の検討事項

モバイル配置が必要だとしたらSilverlightには制限がある。今のところ、SilverlightはWindows Phoneだけのサポートである。将来的には他のプラットフォームでもサポートされると思われるが、これは確実ではない。これは短期的にはなにかが起きるわけではない。現在の所、モバイルクライアントで使用できるSilverlightアプリケーションを開発するためには、Windows Phoneが必要である。

もし開発者がこれらのモバイルクライアントを管理することができなかったら、まだこれをサポートすることはできないため、HTML5は実行可能なオプションである。すでにiOS、Android 3、そしてWindowsがIE10でサポートすることが決まっており、HTML5は現在明かな選択肢である。

しかしながら、SilverlightはHTML5よりもパフォーマンスがよい。過去数ヶ月、マイクロソフトはSilverlight 5のハードウェアソリューションを実装しているため、新しいマシンではHTML5を若干超えたパフォーマンスになるだろう。しかし、HTML5が追いつかない理由はない。IE9はHTMLを多く実現しており、パフォーマンスの違いはより一時的であることは確実だ。これに大きな違いはない。

特にHTML5は標準ベースの環境であり、いくらかの開発者にはすばらしい関心事だが、その他には小さな関心である。もし開発者がマイクロソフトのスタックで作業している場合、彼または彼女は標準に感謝を感じるだろう。しかしながら、これはマイクロソフトが近づくまでの間に緩和されたため、マイクロソフトのプロプライエタリな技術を採用することは不本意ではない。

多くのケースで標準に執着しており、もしなにかが変わっても移行パスは容易である。HTML5は標準ベースであり、世界中で入手可能である。HTML5の進路はクリアだが、Silverlightはそれほどではない。

SilverlightがHTML5より優れているのは、90~95%のコードをデスクトップアプリケーションを共有できることである。もし成熟したデスクトップアプリケーションとWebで入手できるソリューションを持っている場合、Silverlightは容易である。

HTML5においては、開発者はUIとビジネスレイヤを分離することができる。しかし、ほとんどのコードを共有することはできないため、大量のコードを2つのプラットフォームに記述する必要がある。

情報を得ることの意味

最後に、ツールはEinstein氏が明確にした、混乱を避けるためにゴールを明確にして選択する必要がある。正しい道を選択することで、高価な失敗の可能性を最小限に抑える必要がある。たとえば開発者がWPFとSilverlightが快適でそれを選択したとする。しかしその後、アプリケーションでなにができるかを探索し、6ヶ月から1年以内にモバイルクライアントでの起動を望むかもしれない。さらに、彼らは複数のデバイスからのアクセスを望むだろう。

その時点では、Silverlightソリューションを使用するのは問題ないが、最終的にHTML5に進む準備をするか、それぞれのモバイルプラットフォーム向けにネイティブアプリケーションを書くことになる。もしそうじゃなければ、これは非常に高価な選択である。

裏を返すと、みんながHTML5に対して「将来はこれだ」と言うため、HTML5を押すかもしれない。すべての開発者がVisual Studioと最新のすばらしいマイクロソフトのツールを使うためのライセンスを持っている顧客でも、この方向で決断をくだすだろう。

もし彼らが開発環境をきちんと管理しており、今後6ヶ月の間にLinuxやMacで使用する予定がない場合、彼らはおそらく大きな間違いを起こすだろう。彼らは、より早く市場に投入することができ、彼らの現在のスキルとツールセットを利用することができるSilverlightを使うだろう。

要約:開発者は十分な情報を得た上で、SilverlightかHTML5のどちらかの選択でよい。

ベストを適用する

マイクロソフトは、HTML5を強くサポートする必要があり、現在モバイル市場をコントロールできていない。マイクロソフトの戦略は、プロプライエタリでなかったとしても、ベストツールとプラットフォームで可能にすることだ。

マイクロソフトによると「Webにおいて、Silverlightの目的はHTMLを置き換えることではありません。これは、HTML(と他の技術)ができなかったことを開発者が簡単に開発するためのものです。マイクロソフトは、HTMLがカバーしないシナリオを実現することで、Silverlightを使ってWebを拡張し続けています。Silverlightはユーザーが望むリッチな体験を実現するアプリケーションを作りだし、HTMLページの豊かでシンプルな島々から、ブラウザとその先で完全なデスクトップのようなアプリケーションを生み出しています。」

これらの下線を引かれた単語は我々にもはっきり見える。SilverlightとHTML5は、予測できる未来においてどちらも成長する。

著者について

Daniel Jebaraj Syncfusionの製品開発リード、あらゆるマイクロソフトプラットフォームの開発者向けエンタープライズ技術パートナー、アプリケーションライフサイクル全体を通じたサービス指向アプローチによる.NETコンポーネントとコントロールの幅広い開発。

彼は製品開発とリリースの計画を監督している。積極的に顧客と交流することにより、Daniel氏は顧客のフィードバックをベースにした新製品の向上を確約する。以前は開発のバイスプレジデントであったDaniel氏はSyncfusionでの製品開発の運営に注力している。
2001年にSyncfusionに入社する前、Daniel氏はRogue Wave Softwareで開発チームの管理をしていた。

Daniel氏は、Clemson Universityで生産工業の修士号を保持している。

この記事に星をつける

おすすめ度
スタイル

BT