2010年末以来、シルバーライトの差し迫った死について多くの声がありました。その場合、ますます多くの事実が、Microsoftが実際にSilverlightを徐々に放棄していることを示しています。基本的な理由は、それがHTML5のプレッシャーを感じているためであり、直接的な理由は、フラッシュとの競争であまり勝利を達成していないことです。
iPhoneの人気のため、Jobsはすべてのブラウザープラグインが「邪悪」であると自信を持って発表したため、iOSブラウザはFlash、そしてもちろんSilverlightなどのプラグインを拒否します。その後、Win8のMetro-IEがデザインされたジョブと同じように、プラグインをサポートしていない場合、メガネが壊れているとは信じられませんでした。なぜマイクロソフトはそれほど強く、独立したのですか?
1.なぜHTML5がSilverlight(またはフラッシュ)を置き換えることができないのかどの製品もツールです。私はシルバーライトのデザイナーではなく、それに対して特別な感情はありません。それを置き換えることができるより良い技術があれば、それは素晴らしいことです。私は新製品をサポートするために立ち上がる最初の人になります。しかし、問題は、HTML5が本当にSilverlightに取って代わることができるということです。
Silverlightは、C#(またはVB.NET)言語で開発されたFATクライアントです。この系統は、その開発プロセスを本質的に決定します。プログラム構造は、Windowsアプリケーションの構造とまったく同じでなければなりません。実際、それはさらに一歩進んでいます。 WPFのSilverlightに継承された系統により、MVVMは非常に理想的に機能します。この完全な一連の製品は、.NETフレームワーク、組織モデルとしてのMVVM、開発言語としての高レベルの言語に基づいた強力な生態学的チェーンを構成します。 Silverlightは、クライアントとサーバーの開発技術を統合し、異なるブラウザー間のギャップを埋めます。
それ以上。シルバーライトは、SOA作業モデルで特に役立ちます。 WCFとの深い統合により、強力でサービス指向のWebプログラムを開発することがシンプルでエレガントになります。
HTML5はどうですか?グラフィック処理機能を強化し、ストリーミング機能を追加し、他の実用的な機能を追加します。しかし、これはまだRIAからはほど遠いものです。ソフトウェアエンジニアリング、パフォーマンス、開発効率には役に立ちません。
まず、言語と構造の観点から、高レベルの言語、強力なタイピング、およびオブジェクト指向の利点は、不必要な説明を必要としません。過去数十年にわたるソフトウェアの歴史は鉄の証拠であり、ソフトウェアの読みやすさ、保守性、セキュリティ、柔軟性にとって優れた設計パターンはさらに重要です。これに関して、基本的に余分な「証明」は必要ありません。プログラミングを学んだすべての人は、デザインパターンの重要性と役割を知っている必要があります。
HTML5は「HTML自体」ではありません。実際、JavaScriptという名前の主人公がいて、人々にほとんど無視されています。 HTML5の素晴らしい見込み客とクロスプラットフォームの機能が話題になっているすべての場所で、JavaScriptの名前についてはほとんど言及されていません。ただし、実際、HTMLのさまざまな動的関数と動作は、JSによって完全に実装する必要があります。 WebアプリケーションソリューションとしてのHTML5は、実際には「HTML5およびJavaScript」ソリューションと呼ばれる必要があります。
実際、より慎重にそれについて考えると、人々によって舞台裏で意図的に隠されているJavaScriptが実数1の主人公であり、HTML5は実際には単なる支持的な役割であることがわかります。
少し前に、MicrosoftはHTML5で実装されると主張する「カットロープ」と呼ばれるゲームを見せました。ゲームは確かに驚くべきことです。ただし、Web開発で働く人は誰でも、このゲームの実装では、HTML5がJavaScriptがいくらかを説明していることをすぐに認識する必要があります。その機能コードはどの言語ですか?答えはとてもシンプルで明確です。このゲームがHTML5の表示に使用されると言うよりも、JavaScriptを表示する方が良いと思います。
ゲームに関しては、近年中国のオンラインゲームの人気のあるWebバージョンに精通しているはずです。強力な機能はJSによって完全に実現されますか?私がそれについて考えるなら、それは私に麻痺します。それが可能かどうかに関係なく、たとえそれができたとしても、これはプログラミング史の大きな退行だと本当に思いませんか? ----長年の開発の後、高レベルの言語はスクリプト言語に置き換えられましたか?
実際、ゲームは単なる例です。 Webアプリケーションがますます人気が高まるにつれて、人々はより強力で、より繊細で、より高いパフォーマンスで、より複雑なクライアントアプリケーションを必要とします。これはすべて、より大きなプログラミングスケールを意味します。 「HTML5 Solutions」の場合、これはすべてのユーザーの期待をJavaScriptを通じて実装する必要があることを意味し、大規模なアプリケーションでは、これは何百万ものコードを意味する場合があります。 ----このスケールでのプログラミングでは、JSは強力なC#に匹敵しますか?
それだけではありません。
たとえば、私の会社のプロジェクトであるWebアプリケーションは、ローカルエリアネットワークに焦点を当てており、インターネットの制限を考慮していません。 ----これは実際には多くのWebアプリケーションの使用シナリオです。 LANSでは、Silverlightのようなクライアントプラグインは、非常に高性能通信(バイナリデータストリーム)とデータ処理を実現できます。これは、単純なテキストの解釈に基づいたHTML5系統の障壁です。そのパフォーマンスは、プラグインよりも高くなることはありません。
通信パフォーマンスに加えて、動的効果のパフォーマンスもあります。 Silverlightはハードウェアアクセラレーションを直接使用できますが、HTML5はブラウザに依存しているため、通信パフォーマンスと同様にSilverlightよりも低くなり、より高い可能性はありません。
開発効率(時間コスト)はありますか? .NETに基づくSilverlightは、Visual Studioの強力な機能を完全に使用できます。多くの場合、開発者はこれとWindowsプログラムの開発との違いを感じません。 .NETフレームワークは、多数の既製の機能、リッチコントロール、馴染みのあるプログラミングエクスペリエンス、強力なデバッグサポートをカプセル化します。
また、JSの開発にも精通しています。 VSは、巨大な.NETフレームワークや成熟した.NETランタイムおよびデバッガーと比較して、長年にわたってJSのサポートを継続的に強化してきましたが、それは単なるスクリプト言語です。マウスがどんなに脂肪であっても、象よりも重くはありません。これは基本的な常識です。
2。HTML5はどこですか上記の実用的な問題は別として、HTML5はどこにありますか?
まず、HTMLはブラウザのサポートを必要とします。 HTML5自体は単なる標準であり、その実装はブラウザに依存します。さまざまな理由で、各ブラウザには常に独自の「個性」があります。 HTML4には標準がないわけではありませんが、目の前の事実は、ブラウザメーカーがこの基準をどのように扱うかを完全に実証しています。 HTML5の時代がこの問題を完全に解決できることを証明する理由はありません。
第二に、HTML5ブラウザをサポートするいくつかのみがあります。すべての古いブラウザを排除するのに長い道のりです。そして、5年であろうと10年で、市場はさまざまなバージョンのブラウザで満たされ、各ブラウザが多少異なると予測できます。さらに、MicrosoftのIE9がどのくらい発売されましたか? IE10がリリースされました。 IE10とIE9はどちらもHTML5をサポートするブラウザですが、多くの目に見える違いがあります。まだ生きているブラウザの中で、MicrosoftだけがIE6からIE10まで5つの異なる製品を持っています。
第三に、強力なWebアプリケーションを構築するには、基本的なテクノロジーの成熟が必要であるだけでなく、多数のクラスライブラリも必要です。 HTML5自体は十分に成熟しておらず、HTML5(JS)に基づいた複雑なWebアプリケーションの構築には、十分な説得とクラスライブラリサポートがありません。将来のブラウザがSilverlightやFlashなどのJSを実際に説明できる場合、それは非常に長いプロセスになります。
HTML5の未熟性と比較して、Silverlightは目の前の最終製品です。 10年、20年後に何が起こるか心配です。それは私がいっぱいで、何もすることがないからです。
3。Win8と未来まあ、私は10年、20年後に何が起こるかを心配することは、必ずしもあなたがいっぱいで何もすることがないという意味ではないことを認めます。それでは、未来を見てみましょう。
Win8は実際にはWin7+Metroに相当します。つまり、win7と逆方向に互換性のあるデスクトップモードを脇に置いてください。メトロモードは実際のwin8です。
しかし、メトロとは何ですか?メトロモードは、ウィンドウ、WPF、さらには.NETを放棄します。このような大きな価格で、実際にモバイルオペレーティングシステムを複製します。外観が完全に無効であるだけでなく、WindowsアプリケーションストアもAppleへの愛を直接表現しています。 Metro-IEの異常な設計を考慮して...私はかつてWin8が雇用の指導の下で開発されたかどうかを疑っていました。
メトロモードは少し爽やかに見えますが、パーソナルコンピューターはゲームコンソールではありません。より多くの人がコンピューターを使用して作業するか、オフィスに似たことをする必要があります。彼らがそれを使用すればするほど、彼らは窓のないメトロモードを持つことがどれほど苦痛であるかを見つけます。人々が同時に2つ以上のアプリケーションを使用することは非常に一般的です。さらに、モニターのサイズが増加し続けるため、モニターは実際に毎年より多くの情報を表示する機能を備えていますが、Metroはユーザーに通知します。いいえ、すべての画面は1つのアプリケーションのみを表示するためにのみ使用できます。映画を見ながらQQとチャットしたいですか?親愛なる、それは許可されていません...
コンピューターは携帯電話ではありません。 Win8のデザイナーは、このような単純な真実を理解していませんでした。 Win8のメトロは役に立たないとは言えませんが、実際には使用が非常に限られています。
したがって、Windowsの将来の開発方向は、間違いなく鈍い地下鉄ではなく、クラシックウィンドウモードになります。
これを理解したら、将来はプラグインを無効にしないと信じることができます。 MetroがWin9で変形したフリークのようにオペレーティングシステムでまだ寄生虫であるとしても、嵐を引き起こすことはありません。デスクトップベースのWin7モードはKingであり、ブラウザがプラグインを無効にしない限り、SilverlightまたはFlashの可用性について疑いの余地はありません。マイクロソフトは再びシルバーライト6を発売しないかもしれませんが、何ですか?シルバーライトは、10年後に何が起こるかについて、少なくとも10年以内にうまく機能します...実際、ほとんどのコードはそれほど長く続きません。
4。コンピューターテクノロジーの性質「数秘術の祖先を忘れて」という古い中国人の言葉があります。 Webアプリケーションの場合、テクノロジーの天才は数秘術の祖先を忘れていると思います。彼らはクロスプラットフォームについて盲目的に空想していますが、どのコンピューターテクノロジーが使用されているかを忘れていますか?
コンピューターはツールであり、その開発履歴全体はユーザーにのみサービスを提供することです。ユーザーにとってより良い体験のみをもたらすテクノロジーは貴重であり、古いテクノロジーを打ち負かすことができます。低レベルで、タイプレス、制御が困難な、低性能JavaScriptにWebの未来を固定することは不合理で愚かです(HTMLは基本的に静的コンテンツを提示するために使用され、Webアプリケーションは静的ではなく動的なダイナミックに焦点を当てています)は愚かなアイデアです。ジョブズがすべてのプラグインが「悪」であると誇らしげに主張したとき、私は彼の哲学(「辞書」)が理にかなっていることに同意しましたが、彼がこの辞書を数えたとき、彼は彼の「祖先」を忘れました。 (アプリケーションはユーザーにサービスを提供する必要があります)
テクノロジーは、人材を節約できるという理由だけでユーザーのニーズを抑制できません。また、より多くのユーザーコンピューターリソースを不要にする必要があります。それどころか、パフォーマンスを改善し、リソースを節約し、より良い結果を達成し、ユーザーエクスペリエンスを向上させることができれば、どれだけの労力がかかっても、それを行う必要があります。
実際、JS+HTMLが達成できない多くの機能があり、JS+HTMLはセキュリティが非常に貧弱です。 (オンラインショッピングのセキュリティを保証できるのは誰ですか?)目の前でだけでなく、10年後にもプラグインを無効にすることは不可能です。ユーザーにとってより強力でより安全なWeb環境の必要性を考えてみてください。プラグインは制限されることしかできないことを知っていますが、禁止することはできません。 (いくつかの乱雑なプラグインは本当に迷惑ですが、いばらを持っているので魚を食べることは禁止されていますか?窒息のために食事をあきらめるのはいつも愚かです)
Flashは非常に優れた強力なWebプラグインですが、Microsoftのエコシステムでは理想的ではないため、Silverlightの代わりにFlashを使用することは実際には非現実的です。 Microsoftのテクノロジーを完全にあきらめるか、Silverlightのみです。
実際、私は個人的に、Webの未来は複数のクライアントのSOAモードに基づいているべきだと思います。機能はサービスによって実装され、UIは最も適切なテクノロジーを使用してさまざまなプラットフォームによって実装されます。盲目的にクロスプラットフォームを追求することは不合理です。携帯電話の画面は、そのディスプレイと操作モードがコンピューターの画面と異なる必要があると判断します。
5。XAML、アレイバインディングおよびMVVMこのトピックは少し悪いですが、私はまだ言及する必要があります。実際にSilverlight6と呼ばれるWin8 Metroアプリの新しい開発方法は、まだXAMLを使用しており、プログラミングフレームワークとしてSilverlightのような「制限付き.NETフレームワーク」に似ています。一部のSilverlightプログラムは、ラインを変更せずにWin8アプリに直接コンパイルすることもできます。
私はWin8とそのMetrolアプリについて楽観的ではありませんが、XAMLとMVVMは永遠に続き、WPFは死ぬことはなく、Silverlightが使用する技術は死にません。
ある意味では、Silverlight5が実際に最後のバージョンであっても、Silverlightがその名前を変更したばかりであり、新しいテクノロジーで生まれ変わったと考えることができます。
6。マイクロソフトの態度MicrosoftはSilverlightの開発を停止しましたが、MicrosoftはSilverlightプロジェクトが放棄されることを明示的に発表しませんでした。これは非常に興味深い現象です。 Microsoftの現在の規制は「言及することは許可されていません」。 Microsoftが本当にあきらめようと決心している場合、なぜダチョウのふりをするために「言及することを許可されていない」としなければならないのはなぜですか?
マイクロソフトも見ていると思います。彼らは、ブラウザプラグインに実際に見込みがないかどうかを見ています。 Flashを含む他のプラグインが将来ゆっくりと死んでいる場合、MicrosoftはSilverlightを自然に放棄します。それどころか、ブラウザプラグインが非常に快適であり、死の兆候がないことが証明されている場合、彼らはいつでもSilverlightプロジェクトを再起動し、SilverLight6を起動できます。
ですから、シルバーライトの生まれ変わりと再生が考慮されていなくても、シルバーライト製品自体(およびこの名前)も将来復活する可能性が高いと思います。
したがって、Microsoftの空の下に住んでいるWeb開発者にとって、Silverlightを選択することで、より強力な機能をより速く、よりエレガントに達成できます。シルバーライトを選んでみませんか?