10/1に開催された「知ろう! 学ぼう! ASP.NET MVC ~最新 Web 開発フレームワークの全体像~」に参加してきました。全体を通して、気になった部分について纏めてみました。
■第1部 ASP.NET Web開発の全体像
- Microsoft Web Platform ホーム(通称 /web)
Microsoft Web プラットフォーム インストーラー(Web PI)やWindows Web アプリケーション ギャラリーなど、http://www.microsoft.com/web からMicrosoft製品を使ったWeb開発に必要なツール、情報が揃っているサイト。WordPress日本語版も WebPIに対応。
■第2部 知ろう! ASP.NET MVC ~概要・入門編~
- MVCデザインパターンについて
- Model
データとビジネスロジックを表現 - View
プレゼンテーション(UIへの出力) - Controller
(UIからの)入力と制御
- Model
- WebアプリケーションにおけるMVCパターン
- Controllerがリクエストを受信
- ControllerがModelを初期化する
- Modelがビジネスロジックを実行する
- ControllerがViewを呼び出す
- ViewがModelを参照する
- Viewがレスポンスを送信する
- URLルーティング
- System.Web.Routing名前空間を用いて、URLを簡潔に表現することが可能
例: http://example.com/Products/Car/Details/5 - ASP.NET MVCでは規定で有効
- SEO(検索エンジン最適化)対策で有効
- System.Web.Routing名前空間を用いて、URLを簡潔に表現することが可能
■第3部 学ぼう! ASP.NET MVC ~活用・応用編~
- Viewの部分レンダリング
- RenderPartial
- Html.RenderPartial(ViewName, …)
- RenderAction
- Html.RenderPartial(ViewName, …)
- テンプレートの利用
- データ型やクラスに基づいたテンプレートの利用
- 名前付きテンプレートの利用
- RenderPartial
- セキュリティ対策
- Controller実行時の認証の要求
- HTML Encoding構文(WebFormViewEngine)
- Cross Site Scripting(XSS)
- Cross Site Request Forgeries(CSRF)
- JSON Hijacking
- ASP.NET MVC 3
- 現時点では、Preview 1(2010/07/27リリース)
- Webページの新しい記述構文であるRazor構文
- ASP.NET 4 & Visual Studio 2010以降で対応
■まとめ
- WebフォームとMVC
要求や仕様、エンジニアのスキルなど適材適所で使い分けることが重要- Webフォーム
- 多数のコントロールが使用可能
- イベント駆動型プログラミング
- ViewStateやポストバック処理を多用する
- ロジックの検証にWebサーバーが必要となる
- HTMLベースでのUI開発
- アクションメソッドによるリクエスト処理
- ViewStateやポストバック処理を使用しない
- ロジックの検証にWebサーバは不必要
- Webフォーム
■参考
- Microsoft Web Platform
http://www.microsoft.com/web - ASP.NET デベロッパーセンター
http://msdn.microsoft.com/ja-jp/asp.net/default.aspx - ASP.NET MVC のチュートリアル
http://msdn.microsoft.com/ja-jp/asp.net/ff630143.aspx - ASP.NET ルーティング
http://msdn.microsoft.com/ja-jp/library/cc668201.aspx - Codeplex – ASP.NET MVC
http://aspnet.codeplex.com/wikipage?title=MVC - Tech Fielders セミナー
http://www.microsoft.com/japan/powerpro/TF/seminar.mspx - THE TRUTH IS OUT THERE – Site Home – MSDN Blogs
http://blogs.msdn.com/chack/