私は新しい Web プロジェクトを開始しており、2 つのプレゼンテーション フレームワークを検討しています。ASP.NET MVC または Silverlight について考えています。ASP.NET コントロールの基本的な知識しか持っていませんが、私は .NET 開発者としてかなりの経験を積んでいるので、Silverlight を使用する傾向があります。
11 に答える
これは主にインターナル製品になるため、ブラウザは問題になりません。
アプリケーションの性質について、まだ適切な説明を書いていません。アプリケーションが適用されているドメインと、それが解決するように設計されている問題を十分に理解していないと、どのテクノロジが適しているかを評価することは困難です。
一般に、マイクロソフトはこれらの一連のプレゼンテーション テクノロジを「リーチ vs リッチ」の連続体に位置付けています。一方の端には「プレーンな古い」HTML と Javascript があり、そこにあるほとんどの数のクライアント マシンで受け入れられ、もう一方の端には限られた数のマシンで処理できる究極の本格的な WPF があります。これは内部アプリであると述べたので、XBAP または ClickOnce 経由の WPF も可能です。
したがって、スケールは次のようになります: (リーチ) ASP.NET、AJAX、Silverlight、WPF (リッチ)。
問題は、展開ベースが損なわれるまで、ユーザーにとってどれだけリッチである必要があるかということです。率直に言って、取得するのがフォームと表形式のデータと統計だけであれば、通常の ASP.NET Web フォームで十分です。オンザフライでサイズ変更可能なグラフと、クライアント側でバックエンド WCF Web サービスとの対話が必要な場合は、Silverlight でそれを実行できます。リモート展開オプションを介して WPF よりもさらに強力なグラフィカル レンダリングが必要な場合は、それが最適です。
RIA を搭載した Silverlight 3 は非常に強力なようです。VB6 に取り組んでから 6 年間、プログラミングをしていませんでした。私は約 1 か月間、SL3、WCF、およびエンティティ フレームワークを使用する Web アプリケーションを開発しており、非常に快適に感じています。
もちろん、シルバーライト フォーラムとスタック オーバーフローは非常に活発で、私が抱えていたいくつかの問題については、簡単に解決策を得ることができました。
私がまだ確信していないことの1つは、パフォーマンスです。
個人的にも専門的にも、Windows フォーム アプリと Windows サービスの C# を毎日書いています。これを何年も続けた後でも、.NET を使用するよりも、PHP や Python を使用して Web アプリケーションを作成する方がはるかに高速であることがわかりました。Silverlight で状況が変わったのかもしれませんが、私にとって、ASP.NET の学習曲線は、見返りに比べてばかげています。
編集:上記は、ASP.NET MVC を試す 1 年ほど前に書かれたものです。ASP.NET MVC は素晴らしく直感的でクリーンだと思います。
Silverlight を使用するにはプラグインが必要になることを忘れないでください。私の知る限り、Silverlight は IE に「ネイティブに」追加されておらず、他のブラウザーは言うまでもありません。そのため、それだけで多くのメンテナンス/サポートの問題が発生する可能性があります. PDF ファイルは今では「ユビキタス」と見なされていますが、コンピューターに Adobe Reader がインストールされていないユーザーがまだ 1 人または 2 人います。
基本的なレベルでは、これが Web アプリケーションに Silverlight を使用することを妨げている理由です。その背後にあるテクノロジーは優れていると思いますが、最近では Webforms/MVC/AJAX/jQuery の優れた組み合わせ (好みに合わせて組み合わせてください) で同等の可視性/機能を得ることができることを考えると、ASP.NET に固執すると思います。
IMO ASP.Net の方が良いかもしれません。わずかな学習曲線がありますが、RTM の前に変更される可能性が高いベータ版ではなく、実績があり、信頼性が高く、スケーラブルなモデルで開発することになります。
また、最近の AJAX を使用すると、ASP.Net から非常に洗練されたユーザー エクスペリエンスを得ることができます。
ASP.NET をお勧めします。追加のダウンロードは必要ありません。
私は Silverlight を使用しましたが、多くの企業はユーザーが何かをインストールすることを許可していません。また、ホーム ユーザーはブラウザー プラグインのインストールに満足していません。Silverlight は Flash プレーヤーとしてはあまり知られていません。
初心者および上級プログラマー向けのビデオ チュートリアルを で見つけることができます。
Flash などのアプリケーションを作成する場合にのみ、Silverlight が必要になると思います。これらのアプリケーションは、クライアント マシンに一度ダウンロードされる単一の実行可能ファイルに結合されます。サーバー上にあるデータや機能が必要な場合は、サーバーと通信できます。これらのアプリケーションを実行するには、エンド ユーザーが Silverlight 環境アドオンをインストールする必要があります。
一方、asp.net アプリケーションを作成すると、そのコードはサーバー自体に存在して実行されるため、単純なインターネット ブラウザーで実行できます。しかし欠点は、ユーザー対話型アプリケーションの場合、コードで必要なときにサーバーとクライアント マシン間で個別の呼び出しを行う必要があることです。
あなたの .NET のバックグラウンドはあるものの、Asp .net の経験は限られていることを考えると、あなたはどちらかというとサービス/クライアントの方だと思います。これは、JavaScript がおそらく同じように制限されていることを意味します... この場合は、Silverlight を使用します。これにより、将来使用する可能性が高い WPF に簡単に慣れることができます。
しかし、より重要なことは、Silverlight 2.0 での作業が、サンドボックス化されたデスクトップ アプリケーションを構築するように感じられることです。Web アプリケーション以上のもの。以前にクライアント アプリを使用した経験がある場合は、Silverlight に慣れることができます。
Web サイトやアプリケーションの構築に取り掛かりたい場合は、ASP .NET MVC を使用してください。
いずれにせよ、一般的な ASP .NET コントロールの知識は、Web フォーム用であるため、あまり役に立ちません。
Flash のようなアニメーションやインタラクション機能が必要でない限り、ASP.NET を選んでください。プログラミングが簡単で、ユーザーが追加でダウンロードする必要もありません。
アプリケーションが何であるかを知らずに、どちらかを推奨することは困難です。何を決定するにしても、必ずターゲット ユーザーを念頭に置いてください。すべての人が自分のコンピューターに Silverlight をインストールするわけではありません。
個人的には、信じられないほどインタラクティブで美しい Web アプリを設計していない限り、ASP.NET (MVC フレームワークの有無にかかわらず) を使用しますが、Silverlight はまだ比較的新しい一方で、ASP.NET に関する参考資料が大量にあるという事実だけが理由です。地域。
これは主にインターナル製品になるため、ブラウザは問題になりません。それは開発の価格に関するものです。Silverlight モデルと ASP.NET モデルのどちらが習得しやすいですか? Silverlight は WebServices に基づいているので、アプリケーション コードをビジネス ロジック (サービス) とプレゼンテーション (silverlight アプリケーション) に明確に分割できると思います。