質問

新しい Web プロジェクトを開始しており、2 つのプレゼンテーション フレームワークを検討しています。ASP.NET MVCかSilverlightのどちらかを考えています。私は、かなり経験豊富な .NET 開発者ですが、ASP.NET コントロールについては基本的な知識しかないため、Silverlight を使用する傾向があります。

役に立ちましたか?

解決

主に皮肉製品になるので、ブラウザは問題ではありません。

まだ書いていません ちゃんとした アプリケーションの性質に関する説明。アプリケーションが適用されている領域と、アプリケーションが解決するように設計されている問題を十分に理解していなければ、どのテクノロジーが適しているかを評価することは困難です。

一般に、Microsoft はこれらのプレゼンテーション テクノロジを「」に位置付けています。リーチ 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 アプリケーションを開発していますが、とても快適に感じています。

Silverlight フォーラムと stackoverflow はもちろん非常に活発で、私が抱えていた問題のいくつかについては、簡単に解決策を得ることができました。

まだ確信が持てないのはパフォーマンスです。

私は個人的にも仕事上も、Windows フォーム アプリと Windows サービス用に毎日 C# を作成しています。これを何年も続けてきた今でも、.NET で Web アプリを作成するよりも、PHP または Python で Web アプリを作成する方がはるかに速いことがわかります。Silverlight では状況が変わったのかもしれませんが、私にとって、ASP.NET の学習曲線は、その見返りに比べれば途方もないものです。

編集: 上記は、私が ASP.NET MVC を試す 1 年ほど前に書かれたものです。ASP.NET MVC は素晴らしく直感的でクリーンだと思います。

Silverlight を使用するにはプラグインが必要であることを忘れないでください。また、私の知る限り、Silverlight は他のブラウザーはおろか、IE にも「ネイティブ」に追加されていません。したがって、それだけでもメンテナンス/サポートの問題が山ほどある可能性があります。PDF ファイルは今では「どこにでもある」と考えられていますが、それでもコンピューターに Adob​​e Reader をインストールしていないユーザーに遭遇することが多く、タイミングが悪いときにインストーラーを入手するために慌てて探し回ることもよくあります。

基本的なレベルでは、これが私が Web アプリに Silverlight を使用できなくなっている原因です。その背後にあるテクノロジーは優れていると思いますが、Webforms/MVC/AJAX/jQuery をうまく組み合わせて (好みに合わせて組み合わせて) 同等の可視性と機能性を得ることができる現在を考えると、私は ASP.NET を使い続けると思います。

私の意見では、ASP.Net を使用する方が良いかもしれません。多少の学習曲線は必要ですが、ベータ版で RTM 前に変更される可能性が高いモデルではなく、実績があり、信頼性が高く、スケーラブルなモデルに基づいて開発することになります。

また、最近では AJAX を使用して、ASP.Net から非常に洗練されたユーザー エクスペリエンスを得ることが可能になっています。

追加のダウンロードは必要ないので、ASP.NET をお勧めします。

私は Silverlight を使用しましたが、多くの企業はユーザーに何もインストールすることを許可していません。また、ホーム ユーザーはブラウザ プラグインのインストールに満足していません。Silverlight は Flash プレーヤーとしてはあまり知られていません。

初心者と上級プログラマー向けのビデオ チュートリアルを見つけることができます。

http://www.asp.net/mvc

アプリケーションが何であるかを知らずに、一方を他方よりも推奨するのは困難です。何を決める場合でも、必ず対象読者を念頭に置いてください。誰もが自分のコンピュータに Silverlight をインストールしているわけではありません。

個人的には、信じられないほどインタラクティブで美しい Web アプリを設計している場合を除き、(MVC フレームワークの有無にかかわらず) ASP.NET を使用します。 トン Silverlight はまだ比較的新しい領域ですが、参考資料が充実しています。

これは主に永久的な製品となるため、ブラウザーは問題になりません。それよりも開発コストの問題です。Silverlight モデルと ASP.NET モデルのどちらを学ぶのが簡単ですか?Silverlight は WebServices に基づいているため、アプリケーション コードがビジネス ロジック (サービス) とプレゼンテーション (Silverlight アプリケーション) に明確に分割される可能性があると予想しています。

.NET のバックグラウンドはあるものの、Asp .net の経験は限られていると考えます...あなたはどちらかというとサービス/クライアント派だと思います。つまり、JavaScript も同様に制限されている可能性があります...このような場合は、Silverlight を選択します。これにより、将来的に使用する可能性のある WPF に簡単に慣れることができます。

しかし、より重要なのは、Silverlight 2.0 での作業は、サンドボックス デスクトップ アプリケーションを構築しているように感じられることです。Web アプリケーション以上のもの。以前にクライアント アプリを使用した経験がある場合は、Silverlight をより使いこなすことができます。

Web サイト/アプリケーションの構築に取り組みたい場合は、ASP .NET MVC を使用してください。

いずれにしても、典型的な ASP .NET コントロールは Web フォーム用であるため、知識はそれほど役に立ちません。

Flash のようなアニメーションやインタラクション機能が必要でない限り、ASP.NET を使用すると思います。プログラミングが簡単で、ユーザーが追加のダウンロードを行う必要がありません。

Silverlight は Flash のようなアプリケーションを作成する場合にのみ必要になると思います。これらのアプリケーションは 1 つの実行可能ファイルに結合され、クライアント マシンに一度ダウンロードされます。サーバー上に存在するデータまたは機能が必要な場合は、サーバーと通信できます。エンド ユーザーは、これらのアプリケーションを実行できるように Silverlight 環境アドオンをインストールする必要があります。

一方、asp.net アプリケーションを作成する場合、そのコードはサーバー自体に常駐して実行されるため、単純なインターネット ブラウザーで実行できます。ただし、ユーザー対話型アプリケーションの場合、コードで必要なときにサーバーとクライアント マシンの間で個別の呼び出しを行う必要があるという欠点があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top