約3ヶ月前、私はエンタープライズウェブアプリケーション(実際には一連の小さなウェブアプリケーション)を開発する必要があると言われましたが、私が望む技術を選択することができました。
私はVS/C#/ .Netに最も慣れているので、ジレンマはASP.NET WebFormsまたはASP.NET MVC2を選択するかどうかでした - あなたとは異なり、私の唯一の背景はWindowsフォーム(WinForms)と小さなWPF。だから私はWebFormsとMVCの両方を研究し(そして試してみなければならなかった)
私のアプリはGoogleやアップルのようなものではなく、何千ものボタンやボックスなどの標準的な会社のアプリであることに気がつきました.WebFormsは展開が最も速いようでしたが、テストし、長期的に維持するのは難しいです。 MVCははるかに急な学習曲線を持つように見えましたが、一度確立されると、テストとメンテナンスは簡単になります。
私は1週間だけWebフォームを操作したので、実際にコメントすることはできません。しかし、MVCは間違いなく私が期待していたすべてです。
はい、急な学習曲線です。私に新しかったコンセプト:
- のModel-View-Controller(MVC)懸念の
- 分離(SoC)の
- モデルバインディング
- ユニットテストとテスト駆動設計(TDD)
- 依存性注入(DI)私を助けた
本をからかっとスタブほとんどは以下の通りであった。
私も私のHTMLをブラッシュアップしなければならなかった、CSS 、およびJavascript。
全体としては、初期段階でかなりの量のランプアップ作業があるようですが、既存のアプリケーションを維持して拡張するのはかなり苦労しています。私が変更を求められたときはいつでも、それはかなり簡単で、通常、時間通りに、あるいは時には時よりも先に配信することができました。
理想的な世界では、MVCアプリケーションの作成は2人で行われます。 UIとビュー(HTML、CSS、Javascript)を書く二人目のコアコードを書いた人。あなた自身ですべてを行うことは可能ですが、 (これは私が今やっていることです...)
私はエンタープライズでいくつかのヒッチを展開しています。内部的には、私の会社はWindows Server 2003とIIS6を実行しています。残念ながら、私たちはVirtual Pathingを使用している場合、IIS6上に適切に展開するアプリケーションを取得することができませんでした。 (CSSファイルへの参照はすべて壊れています)MVCのデプロイメントを計画しているなら、IIS7以上の使用をお勧めします。 MVCはIIS6上で動作すると思われますが、IT部門がどのように動作させるかを把握しておく必要があります。
編集:私はちょうどあなたの質問に直接答えなかったことに気付きました。ここに行く:私はそれに取り組んできた
私の個人的な経験は、はい、学習曲線が良いモデルとUIを構築するための急勾配である、ことを、言ったが、私は実際にウェブ開発者ではありませんよハンディキャップ。良いニュースは、MVC技術はかなり成熟しているということです。
はい、コミュニティはかなり成長しています。 StackOverflowだけでなく、MSのASP.NET MVCサブフォーラムから多くの良い答えを得るでしょう。
WebFormsのコーディングは個人的な経験はありませんが、私はたくさんのWinFormsアプリケーションをコーディングしています。このMVCアプリケーションを構築するのに3倍の時間がかかります。初期の投資はクマですが、定期的なメンテナンスと改善は、特にアプリが成長したときに、もっと早くなるようです...プログラマーのチームがいるようだから、おそらく分裂する可能性があるので、学習/ワークロード
WebFormsの以前の経験はありませんでしたが、私は、ASP.NET MVCを学んでいたときに、以前のASPがなかったために何が起こっていたのか苦労していました。 NET背景。(例:メンバーシップと役割のプロバイダー - 私は自分自身を最近コードしなければなりませんでしたが、ボーイは面白かったです...)プラス面では、「古いことをやっている」(別名WebForms)どちらか。あなたがPostBack/CodeBehindに魅了されているチームを持っているなら、最初はMVCがひどく不思議に思えるかもしれません。しかし、あなたのチームはMVCがもたらす利点を見て、それを完全に受け入れることを願っています。
ああ、MVCとWebFormsを混在させることができます。それは全か無かという命題ではない。私があなたの靴の中にいたのであれば、私はできるだけMVCを採用しようとしていましたが、WebFormsを使うのは明らかに理にかなっています。
[OK]を、私は場合にのみエリック・バークの漫画のために、
1 :-) ...これが役に立てば幸い! :P –
+1、上記のように:) – twk