2010-12-13 10 views
7

私は、私の代理店でさまざまなプロジェクトに取り組んでASP.NET WebFormsを手に入れたフロントエンドの人です。新しいプロジェクトでMVCを学ぶか、WebFormsを使う?

私は開発者を念頭に置いたプロジェクトを持っています。私はMVCを使いたい/それを学びたいですが、MVCを使う価値はないと思います。彼の意見では、MVCのメリットが認識され、そのパフォーマンスは問題ではなく、単にWebフォームを進める方がよいという意見です。

プロジェクトは、人々にプロジェクト計画ツール、個人連絡先データベースの作成、および独自の基本Webサイトを提供するWebアプリケーションです。

私の個人的な気持ちは、ViewState、1つのJSFファイル、巨大なJSファイル、マークアップの制御不足(例えば、検証コントロール)など、WebFormsサイトに付随するすべての嫌なことです。

明らかに、ASP.NET WebFormsはリソースにリンクされていますが、MVCはURL構造と解釈に関するものです。

私は今、MVCの移行/学習曲線が大きくなるため、WebFormsにとどまるほうがよいと考えています。

私はRyan SingerがRoR MVCと一緒に仕事をしているのを見ましたが、私はどのように急速に発展するのか驚いていました。

WebFormsを使い、MVCを使用しないほうが現実的で生産性が高いということを受け入れるか、私の同僚にMVCが正しいことを納得させる方法を見つけるべきでしょうか?

+0

貧弱で一貫性のない文法に対する謝罪、イアン。私は会議に入る前に投稿を急いでいました。ちょっとしたペタントなのに、編集をありがとう。 –

答えて

6

私は強くASP.NET MVCをお勧めします - 多分それに入るには時間がかかります!しかし確かにそれはそうだった。たとえば、振り返って何かを変更する場合は、はるかに柔軟で簡単です。

たとえば、データベースを使用している場合は、LINQでこれを使用します。

ASP.NET MVCは最初は非常に難しいように見えるかもしれませんが、一度それに入ると、はるかに迅速にプロジェクトを作成できます。確かに私の意見です。

もう1つ良いことは、Test Driven Developmentのサポートが良好に構築されていることです。


編集(追加説明)

一つの理由は、MVCは3部モデル、ビューとコントローラをされて構築されていることです。つまり、良い方法でマークアップからロジックを共有することができます。 MVCの構築方法については、ここでは詳しく説明しません。 (http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controlle r)

そして、私が上で述べたように、あなたはTDDを非常にうまくサポートしています。私はこれを個人的に使っています。 ASP.NET MVCでのURLルーティングも非常に狂っています。私はこれをASP.NETでうまくサポートしていません。 ScottGuはこれに関する本当に良いブログを書いています。 http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

+0

そしてカミソリと一緒に行く! – Zote

+1

あなたが作っているポイントは、Webフォームプロジェクトよりも保守が簡単です。あなたはなぜこれを考えるのか説明できますか? –

4

MVCはWebフォームとは大きく異なるため、大きな学習曲線です。 MVCを習得したくない他の人とこのプロジェクトをやっているのなら、Webフォームを使うこともできます。学習したくない人を教えることはできないので、基本的にはあなたの車輪を無駄なく回転させることになるでしょう。あなたはすでにウェブフォームの背景を持っています。進捗。

これを自分で行っても、MVCを学んでも構わないチームであれば、新しいものを学んでフレームワークに移行するよりも、パフォーマンスとツールの可用性を低くすることをおすすめします。主にテストドリブン開発のコンセプトで構築されています。

Asp.Net MVCは非常に異なるフレームワークであり、確かな利点がありますが、経験不足の欠点にも対処しているので、プロジェクトを作成する必要があります。間違いなく、あなたがそれらが欲しいものを得る前に、何度か何かを再開しなければなりません。あなたは始まり、正方形に戻って新しいものを学び、新しいものを学び、正方形に戻り、泡立てて、すすぎ、繰り返します。

+0

これは私が現在いる場所です。私の質問は、全体として - これはプロジェクト開始時に今行われていることですか? –

+0

@ user315412 - 学習に時間を費やすことができ、何か画期的なことを学んだ後に忍耐力を一からやり直すことができれば、私は「はい」と言います。 MVCは私が大規模なプロジェクトでは優れているようですが、小さなプロジェクトでさえも学習者としてはまともです。 –

0

教育のためだけにMVCを学ぶ価値があります。フロントエンドの開発者にはメリットがありますが、バックエンドの人にとっては欠点があります。しかし、通常のクライアント側作業の小規模なプロジェクトでは、おそらく同じであるため、プロジェクトを使用して新しいテクノロジを学習できます。私はあまりにも抽象度の高いWebフォームを好む。

通常、マークアップのコントロールが重要な多くのアニメーションや視覚効果を持つAJAXヘビーフロントエンドを使用する場合は、ASP.NET MVCを選択する必要があります。多くのデータ入力とウィジェットスタイルの独立したコントロールがある場合は、Webフォームを選択する必要があります。なぜなら、ビヘイビアをもっとよくカプセル化できるからです。

+0

"バックエンドの人のための短所" - >どのように?私はそれが前後に似ていることが似ていると思う。 – Fermin

+0

@Stilgar - 私はバックエンドの人のための短所は見ません。 LINQ to SQLと強く型付けされたモデルの使用法を考えると、私はそれが「バックエンドの人」として理想的だと思っています。ウェブフォームが「抽象度が高い」と思うなら、私はあなたがMVCを学ぶ時間を取ったとは思いません。私は、MVCがWebフォームよりも抽象度がはるかに高いことを発見しました。私は表面を壊しただけです(私はWebフォーム開発者の中間移行です)。 –

+0

@Joelコンポーネントは、コントロールをレンダリングするか、HTTP POSTを.NETイベントにするのに必要なHTMLのような実装の詳細を隠すことができます。したがって、コンポーネントは抽象度が高くなります。 Webフォームを使用すると、HTMLをほとんど知らなくてもWebサイトを開発できます。それはこれまでに作成された最高のマークアップではありませんが、あなたはそれを行うことができます。 – Stilgar

0

MVCまたはWebフォームを選択する100の理由があります。しかし、あなたがフロントエンドの開発者であることを考えると、HTMLのコーディングについてはほとんど知られていないバックエンド開発者ほど学習曲線が似ていません。

JS、CSS、Htmlなどの既存のスキルは、MVCにシームレスに移植されます。

関連する問題