私は最近、クライアントが今後数年で作成するアプリケーションに最適なUI作成技術に関する調査を実施しました。 私のクライアントは.NET開発者のチームです。つまり、標準のWebテクノロジーを使用した開発またはSilverlightの2つの主な方向に進むことができます。 ある技術を別の技術とは対照的に推奨する必要がある場合、理想的には、いくつかの意見以上のものに基づいて選択する必要があります。 候補技術のリストを作成しました。 次に、カテゴリに関連する基準のリストを作成しました。 すべての基準に特定の重みが割り当てられ、すべての候補技術についてそれぞれを評価しました。
この記事では、基準のカテゴリのみを調べて、調査結果について説明します。 結果を自分で調査できるように、詳細な表をデータと共有します。 ニーズや意見に応じて、重量と評価を変更し、これが結果にどのように影響するかを確認できます。 クライアントに固有のいくつかの基準を削除しましたが、結果に大きな影響はありませんでした。 この記事では、jQueryファミリ(jQuery Core、jQuery UI、jQuery Mobile)およびSilverlightと組み合わせて、候補となるテクノロジーの数をASP.NET MVC 3に減らしました。
カテゴリの不完全なリストといくつかの基準を以下に示します(詳細なリストはExcel文書にあり、リンクは記事の最後にあります)。
- ユーザーインタラクション(ユーザーインターフェイスの完成度、アクセシビリティ、直感性/使いやすさ、さまざまなデバイスからのアクセシビリティ、さまざまなプラットフォームからのアクセシビリティ)
- インフラストラクチャ(展開の容易さ/柔軟性、制御性)
- セキュリティ( XSS 、 CSRFから)
- パフォーマンス(サーバーリソースの消費、クライアントリソースの消費、非同期性、ユーザーインターフェイスの応答性、初期ブート時間)
- コード/アーキテクチャ(完全性、検証ロジックの再利用、シンプルさ、サポートコスト、柔軟性、可能性、テスト容易性、国際化、フィードバックループ、テクノロジーのしきい値、潜在的効果、ラピッドプロトタイピング、読み取り可能なURL、拡張性)
- 人々(必要なスキルの数、ユーザーからの注意の必要なシェア、ドキュメント、パブリックサポート、商用サポート)
- 戦略(見通し、標準への準拠、違い、サポート、ビジョン)
- ライセンス(コードにアクセスできますか?)
- 価格
- ツール(IDEからのサポート、追加ツールの利用可能性、サードパーティ開発者からの無料コンポーネントの利用可能性、サードパーティ開発者からの有料コンポーネントの存在)
お客様のニーズまたは会社のニーズによっては、これらの基準の一部が適用されない場合があります。 おそらく重要だと思われる他の基準がありますが、このリストにはありません。 ただし、これはかなり完全なリストであり、このような決定を行う際に注意する必要があるほとんどの要素を網羅していると思います。
次のグラフは、カテゴリごとの両方のテクノロジーの評価を示しています。

このチャートであなたを驚かせたものはかなりたくさんあると思います。 最初に思うのは、「ユーザーエクスペリエンスカテゴリでSilverlightの評価が低かったのはなぜですか?」という答えは非常に簡単です。ユーザーがWindowsまたはOS Xを使用していない場合、Silverlightを使用できません。 障害のあるユーザーも、Silverlightでのサポートが開発されていないため、不運です。 これらの要因を考慮に入れれば、Silverlightを使用しても、非常に豪華なアプリケーションを作成できることは重要ではありません。 さらに、ほとんどの人は過度のアニメーションにすぐに飽きてしまうので、無理をしない方がいいでしょう。 それを念頭に置いて、jQuery UIとHTML5はニーズによりよく応えることができます。
Silverlightの評価が非常に低かった次の分野は戦略です。 規格に準拠していないという事実は、明らかに打撃をもたらしますが、他にも欠点があります。 まず第一に、モバイルプラットフォームは別の圧倒的な打撃をもたらします。 AndroidとiOSはSilverlightをサポートしていません。 このテクノロジーはiOSでは動作しないこと、そしてこのテクノロジーは重要な役割を果たさないという理由だけで、iOSで動作しませんが、AndroidにはSilverlightをサポートする理由はありません。 マイクロソフトは、Windows Phone 7ブラウザーでサポートするためのプラグインの作成をまだ発表していません。これを待つかどうかは誰にもわかりません。 これは、Windowsのフルバージョンをサポートし、小さな市場シェアを占めるものを除き、Silverlight Webアプリケーションはどのポータブルデバイスからもアクセスできないことを意味します。 第二に、当初のスローガン「Illuminating the Internet」にもかかわらず、Microsoftの計画では、社内ビジネスアプリケーションの開発、ビデオのストリーミング、Windows Phone 7用のアプリケーションの作成という3つの積極的に促進されたシナリオしかありません。これは今後数年間で行うことですが、幅広いユーザーが利用できる公開アプリケーションを作成する予定です。 内部アプリケーション用にSilverlightを使用し、パブリックアプリケーション用にHTML(5)を使用するのは、開発者を両方向で訓練する必要があるため、経済的ではありません。 HTML(5)は内部ビジネスアプリケーションに最適なので、これはあまり意味がありません。
しかし、お気づきかもしれませんが、Silverlightの評価がASP.NET MVC 3 + jQueryよりも優れている分野があります。 たとえば、[ツール]カテゴリでは、Visual StudioとBlendが開発者のニーズのほとんどを満たしているという事実を否定することはできません。 少なくとも使い慣れたIDEで費やす開発とデバッグの時間のほとんどは、標準のWebテクノロジーを使用する場合は、代わりにFirebugまたはGoogle Chromeの開発者ツールを使用して時間を費やす必要があります。 Visual Studioでほぼすべての作業を行います。 そして、それは私が人々のカテゴリーの議論につながります。 標準ベースのWeb開発に対するSilverlightの最大の利点は、C#とXAMLだけを知っておく必要があることです。 標準ベースの開発では、HTML、CSS、JavaScript、およびサーバーアプリケーションが記述されている言語を知っている必要があります。この場合、C#でもあります。 そして、それは新しい開発者を見つける能力に影響を与える可能性があるため、ある意味で、Silverlightには利点があります。
ただし、長い目で見れば、すでに知っていることに固執する人よりも、快適ゾーンを離れる準備ができている人と一緒に作業した方がよいことに注意してください。 セキュリティの観点からは、XSS、CSRF、およびその他の一般的なWeb開発の脆弱性などの一般的な問題に対処する必要がないため、Silverlightテクノロジーの評価も高くなっています。
したがって、Silverlightの評価がASP.NET MVC 3 + JQueryよりも優れている3つのカテゴリがありますが、これはギャップを減らすのに十分ではありません。 各基準に割り当てた重みに基づいて、可能な最大スコアは732ポイントです。 ASP.NET MVC3およびjQueryは568ポイントを獲得しました。 Silverlightは304ポイントを獲得しました。 明らかに、重要だと思うものによって結果は異なります。 このため、IT技術分野の研究とコンサルティングを専門とする大企業のアナリストに相談しました。 アナリストは調査結果とデータに完全に同意し、彼の会社がすべてのクライアントにHTML5への移行を推奨していることを確認しました。 彼はさらに進んで、アプリケーションがモバイルプラットフォームのサポートを目的としておらず、純粋に内部であり、このテクノロジーにすでに投資している場合を除き、Silverlightを推奨することは難しいと述べました。 これまでのところ、私はこの意見へのリンクを提供することはできませんが、これについての文書は近い将来に用意されます。それが公開されたら(文書が公開されている場合)リンクを提供するか、少なくとも参照することをお勧めします
テクノロジーの選択という同じ問題に直面したすべての人に、ニーズに合わせて以下に添付されている表を使用および変更することをお勧めします。 新しい基準を追加したり、重量や評価を変更したりして、状況に最適なものを確認できます。
こちらから表をダウンロードできます。
バックアップリンクMS Excel 2007(
html_vs_silverlight.xlsx )
バックアップリンクMS Excel 2003(
html_vs_silverlight_xl2003.xls )
Dmitry_Zhariyより :
このテキストを英語で読んでください!
スキルと優しさを向上させるために、この記事のテキストを英語で読んでみてください。
次のリンクは、この記事のバイリンガル(英語、ロシア語混合)バージョンにつながります。 英語のテキストを読み、英語のテキストの意味が突然失われた場合は、以下のロシア語の翻訳を使用してください。
[EN / RU] Silverlightの代わりにHTML(5)を使用する理由について前の投稿でバイリンガルテキストに関するフィードバックを残してくれたすべての人に感謝します
。