2013-04-07 12 views
5

私はasp.net-mvcの大きなWebサイトを持っています。私は最近MVC 4にアップグレードしましたが、私が議論していることは、それが剃刀エンジンに移行する価値があるということです。私はsee there are toolsを "自動"アップグレードするが、私はそれが移行の痛みの価値があるかどうかを判断しようとしている。私は合計約100のビュー(通常と部分の両方)を持っています。私がしばらく一緒に暮らしていなければならないコードベースなら、それは価値があるのでしょうか?既存のasp.net-mvcプロジェクトをwebform viewエンジンでカミソリに移行する価値はありますか?

これはちょっと主観的に思えるかもしれませんが、私のプロジェクトのサイズを考えれば、この移行作業の予想コストと予想される利益を探していました。

+0

これは本当に価値がありません。既存のアプリケーションをお持ちの場合は、新しいバグや問題を導入しています。特に部分的なものについては。これは私が書くのは簡単ではありません。私はaspxビューが嫌いです。しかし、数年前に同様のジレンマに直面して、私たちはすべての新しいビューをRAZORにすることにしました。そうでなければ、これは、痛みを伴う長い道のりであり、無計画なコスト(導入されたバグ)が頭痛になることはありません。 –

答えて

5

具体的な理由がない限り、IMHO no。 RazorはWebFormsビューよりも少し、少し(ほとんどのソースによれば〜5%)遅いですが、これは古い情報かもしれません。せいぜい、彼らはまったく同じ速度を出すでしょう。私は剃刀がウェブフォームよりレンダリングが速いことを示唆するものは何も見ていませんASP.NET MVC 3 Razor performance)WebFormsのマークアップではできないことはまったくありません。

基本的には、より簡潔なマークアップ言語であり、WebFormsの構文よりも速く書くことができます。最後に、組織が、当日からWebFormsコードを作成するという遺産を持っている場合、すべての開発者はすでにWebForms構文に精通しています。学習曲線はありません。

アプリケーション全体を書き直すべきですか?いいえ、あなたは何も得られません。進んで、剃刀を使うべきですか?ほとんどの場合、そのように動いているように見えますが、それはよりよく見えて、ビューを少しきれいに保ちます。

ただし、ビューをrazorに更新し始める場合は、手順でこれを行うことができます。 ViewEngineは、どのビューをレンダリングするかを決定する際に、両方のタイプのビューを探します。これは一つにする必要はありませんが、急いで落ちたが、徐々に時間をかけて行うことができます。

PS - これはすぐに主観的な質問としてすぐに閉鎖されます。

0

本当に魅力的な理由がない限り、いいえ。 実際の唯一の違いは、ビューの構文がちょっと薄く、別のビューエンジンで動作する固有の「クール」要因があることです。

剃刀が最初に出たとき、私たちは少し混在していました。私たちは現在、剃刀とwebformsの両方のビューを持っています(これは、剃刀がデフォルトのMVCになる前に実装されていました)。

私たちはすべての新しいビューをrazorに書いており、私たちがゆっくりと移行しているウェブフォームに古いビューを残しました。しかし、その利益のために、顧客やエンドユーザーではありません。だから、ビューだけを移行するには、実際の目的を果たせないコストがかかり、タイムリーな事件です...

アプリを適切に階層化していれば、これを検討していると私が示唆していることは真剣です。既存のWebサイトだけを残し、新しいmvcインフラストラクチャを使用して独立したスタンドアロンサイトを作成します。 mvc 1または2アプリから新しいmvc 5アプリにサイトをアップグレードすることにより、明確な利益が得られます。

私たちのモデルとロジックはすべてスタンドアロンdllであり、非常に薄いコントローラを持っているので、私たちは現在仕事場でこれをやっています。私たちは、今組み込まれている新しいmvc5の機能から、多くの変更とアップデートに気づいています。バンドルやtwitter-bootstrapなどは、顧客が気付いたメリットを確実にするために使用できるものです。

これは同じ古いバックエンドですが、光沢のある新しい顔とそれは価値があります。

0

私は

Old Post

この記事はMVC4リリースの詳細を示します。..あなたの質問は、あなたの目標は、新機能と一致する場合は、モバイルサイトのサポートなどを同様に、アップグレードを選ぶ必要があり、過去に答えていると思います注記と違いMVC3とMVC4この記事の両方の答えはあなたの決定に役立ちます。

MVC 4改善するこれらの機能(主なポイント):

  • レシピをカスタマイズする

    • リフレッシュし、近代化、デフォルトのプロジェクトテンプレート
    • 新しいモバイルプロジェクトテンプレート
    • 多くの新機能がモバイルアプリケーションをサポートしますコード生成
    • 非同期メソッドの拡張サポート

    編集:MVC4の詳細については

    、あなたはを参照することができます質問は、特定のビューであるとして、ビューは変更せず、両方のバージョンで同じように動作します

    を、

    あなたが改善をレンダリングしたい場合、あなたはPartial View

    を使用する必要があり、不要なビューエンジン

    protected void Application_Start() 
    { 
        ViewEngines.Engines.Clear(); 
        ViewEngines.Engines.Add(new RazorViewEngine()); 
    } 
    

    を削除してみてくださいすることができます

    <div class="news"> 
        <h3>News</h3> 
        @Html.Partila("NewControl", Model.NewsItems) 
    </div> 
    

    コードパート:

    public ActionResult News(){ 
        NewItemViewModel vm = new NewItemViewModel(); 
        vm.Items = repository.GetNews(); 
        return PartialView("NewsControl",vm); 
    } 
    

    これは、ビューは、ビュー内の任意のヌルモデルを渡し組み合わせ、ないではないことを確認し、10倍

    により、通常の速度の行くの増加を行います。

    これはパフォーマンスの問題に役立ちます。

  • +0

    私はすでにasp.net MVC 4を使用していますので、質問は「MVC 4にアップグレードする必要がありますか」ではなく、ビューエンジン – leora

    0

    私に尋ねると、私はRazorの使用を開始して以来、私は通常のASPXビューエンジンを振り返りません。アプリケーションに新鮮な味を導入したい場合、開発者は新しいRazor構文(これは簡単で洗練されたもの)を気にしないでください。誰もがそれについて懐疑的であり、アプリケーションがそのままうまくいけば、移行しないでください。この質問は個人的なコメントを招いているので、私の意見はthisと一緒になります(これはRAZORが今では同等のASPXよりnegligibly slowerだと思われますが)明らかに - 私をマイグレーションして、と言っています。

    関連する問題