[.NET] ASP.NET MVC について調べてみた
ふと思ったこと
どちらかというと、ASP.NET は社内で使用する業務系アプリの作成で使用されることが多く、そのような案件も多いと思う。しかし、まだまだ .NET Framework 2.0 (Visual Studio 2005) のものが残っているのではないかと思う。しかし、(事情はいろいろあるにせよ) そういう案件にばかり触れていると、ASP.NET MVC や LINQ といった技術についていけなくなってくる。そろそろそれら最新 (でもないが) の環境にアップデイトしないと .NET 開発者は置いてきぼりを食う時期に来ているのだと感じる。
もちろん、ASP.NET 2.0 でもデザインパターンを利用して厳格な設計がされたものもあることは知っている。意味もなく最新の環境にすればよいというわけでもないとは思うが。
それでも、選択肢の一つとして知っておくほうが良いと思う。自分もそう思ったので。
さて、ASP.NET MVC については、以下の記事が参考になる。
- 連載:ASP.NET MVC入門 - @IT
- 連載:ASP.NET MVC入門【バージョン3対応】 - @IT
- コードで学ぶ ASP.NET MVC アプリケーション開発入門 - msdn
- ASP.NET MVCフレームワークの概要を理解する - CodeZine
概念的な部分は msdn の記事が役立つ。
で、MVC とは何?
結局のところ、ASP.NET Web フォーム (従来までの ASP.NET) と、ASP.NET MVC は共存共栄していくのだと感じた。各所でも、そういわれている通り、そう感じた。ASP.NET MVC
- 画面とコードが完全分離。html の出力等も完全に制御できるし、URL も SEO に有利なものになる。
デザイナとの分業が容易であり、外向けサイトに向いている。モバイル対応にも最適。 - テストの自動化。
- Java や php 開発をしてきた人にもわかりやすい概念モデル。
ASP.NET Web フォーム
- 高い生産性。イベント ドリブンのわかりやすい実装。
- ViewState による状態保持の容易さ。画面コントロールが多い場合にも楽に開発。
- Windows フォームのアプリとコードが共有できる場合もあるので、 業務アプリには引き続きこちらが最適だと思う。
現存あるシステムを、無理して ASP.NET MVC に変更する必要はもちろんないわけだが。ただ、どちらの場合でも LINQ や ADO.NET Entity Framework などといった新しいことは覚えておくといいのだろう。