SlideShare une entreprise Scribd logo
1  sur  17
ASP.NET MVC 2


     あおい情報システム
         小野 修司
     どっとねっとふぁん
    (http://dotnetfan.org)
       twitter:@onos

          Developers Summit 2010
注目されるASP.NET MVC
                         Technology Radar Janualy 2010
                              ThoughtWorks

                         Tools

                         We have been tracking ASP.NET MVC
                          since its early release candidates. This
                          is an exciting development in the .NET
                          space from Microsoft, both in the
                          programming model and in the open
                          source license under which Microsoft
                          has released the library. ASP.NET
                          MVC is similar to MVC frameworks on
                          the Java platform and is a move away
                          from the ASP.NET Web Forms
                          approach to one that supports greater
                          levels of automated testing.




      Developers Summit 2010
ASP.NET 3.5/4 の全体像
                                                              Silver
                 ASP.NET AJAX Library                         light
                                         クライアントスクリプト



  Webフォーム
                                                WCF        WCF
                     ASP.NET MVC 2              Data        RIA
  DynamicData                                  Services   Services


       Webアプリケーション                               Webサービス


                ASP.NET コア(HttpApplication)


                      Developers Summit 2010
Web フォームとの比較

 Webフォームの開発の特徴
  コントロールのドラッグ アンド ドロップ



  イベントドリブン




       Developers Summit 2010
Web フォームとの比較

 Webフォームの開発のメリット
  コントロールのドラッグ アンド ドロップ

        高い開発生産性

  イベントドリブン
    Windowsアプリと同じ開発方法



        Developers Summit 2010
Web フォームとの比較

 Webフォームの開発のデメリット
  コントロールのドラッグ アンド ドロップ

  自動生成されるHTMLを調整しにくい

  イベントドリブン
   PostBack/ViewState等独自の概念



         Developers Summit 2010
Web フォームとの比較

 Webフォームの開発のデメリット
  コントロールのドラッグ アンド ドロップ

  自動生成されるHTMLを調整しにくい
      Webアプリの開発者に
  イベントドリブン
      発想の転換を強いる
   PostBack/ViewState等独自の概念



         Developers Summit 2010
Web フォームとの比較

 ASP.NET MVCの開発の特徴
  コントロールのドラッグ アンド ドロップ
  データの表示箇所以外はHTMLを記述

  イベントドリブン
  リクエストに応じた処理の記述

  MVCパターンの採用

         Developers Summit 2010
Web フォームとの比較

 ASP.NET MVCの開発の特徴
  コントロールのドラッグ アンド ドロップ
  データの表示箇所以外はHTMLを記述
    Webアプリ開発者を
  イベントドリブン
    Windowsプラットホームに誘導
  リクエストに応じた処理の記述

  MVCパターンの採用

         Developers Summit 2010
ASP.NET MVCの開発
 Model
   固有のサポートはない
     Entity FrameworkやLINQ to SQLを利用可能
     DomainServiceに期待
   MVC 2ではAccountModelが参考になる
 Control
   足場(スキャッフォールド)を提供
 View
   足場(スキャッフォールド)を提供
             Developers Summit 2010
MVC 2 での機能強化

   Area
   非同期コントローラ
   強く型付けされたHTMLヘルパー
   Validation




          Developers Summit 2010
Area

        1つのアプリケーション内に
         複数のMVCの組み合わせを構
         築

        大規模なアプリケーションの
         構築/複数チームでの開発等
         に有効


        Developers Summit 2010
非同期コントローラ

 サーバ上で時間のかかる処理を実行する
  必要がある場合に有効

 外部のWebサービスと連携する場合に有
  効




       Developers Summit 2010
強く型付けされたHTMLヘル
パー



 型の定義(メタデータを含む)にあわ
  せた出力を生成
 型全体を指定することも可能
  例: Html.DisplayFor(model => model)
  型毎のテンプレートを用意する場合に有
   効
            Developers Summit 2010
Validation
 スキャッフォールド
                            修正




         Developers Summit 2010
Validation
 引数を利用するModelの型にする
   Postされたデータが自動的に型にバインドさ
    れる
   バインド時にValidation(検証結果)が行わ
    れる
 検証結果はModelStateに含まれる
   IsValidで状況を確認
 検証した状態を含んだModelをViewに渡
  す
   ヘルパーによりエラー情報が適切に表示され
            Developers Summit 2010
参考情報
 ScottGu’s Blog
   http://weblogs.asp.net/scottgu/
   日本語訳は@ITで

 Phil HaackさんのBlog
   http://haacked.com/

 無聊を託つ
   http://takepara.blogspot.com/

                 Developers Summit 2010

Contenu connexe

Tendances

アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)友太 渡辺
 
Web App Framework at SwapSkills vol28
Web App Framework at SwapSkills vol28Web App Framework at SwapSkills vol28
Web App Framework at SwapSkills vol28光一 原田
 
20121215 ono
20121215 ono20121215 ono
20121215 onovsug_jim
 
最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービュー最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービューAkira Inoue
 
Open棟梁 社会インフラシステム アーキテクチャの提案
Open棟梁 社会インフラシステム アーキテクチャの提案Open棟梁 社会インフラシステム アーキテクチャの提案
Open棟梁 社会インフラシステム アーキテクチャの提案Daisuke Nishino
 
第1回 CMS Fun Nagoya - Movable Typeの紹介-
第1回 CMS  Fun Nagoya - Movable Typeの紹介-第1回 CMS  Fun Nagoya - Movable Typeの紹介-
第1回 CMS Fun Nagoya - Movable Typeの紹介-新一 佐藤
 
App004 実践での成功例か
App004 実践での成功例かApp004 実践での成功例か
App004 実践での成功例かTech Summit 2016
 
App004 実践での成功例か
App004 実践での成功例かApp004 実践での成功例か
App004 実践での成功例かTech Summit 2016
 
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤Daisuke Nishino
 
~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~Oda Shinsuke
 
Spring mvc
Spring mvcSpring mvc
Spring mvcRyo Asai
 
マジックビーンズ
マジックビーンズマジックビーンズ
マジックビーンズAkira Suenami
 
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018Takeshi Fujimoto
 
CakePHP3で学ぶAPIマネジメント #phpconfuk
CakePHP3で学ぶAPIマネジメント #phpconfukCakePHP3で学ぶAPIマネジメント #phpconfuk
CakePHP3で学ぶAPIマネジメント #phpconfukYuta Matsumura
 
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツXamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツMasuda Tomoaki
 
[MR15] ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践
[MR15] ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践[MR15] ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践
[MR15] ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践de:code 2017
 
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)masakazusegawa
 

Tendances (20)

アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
アプリ開発も出来るイマドキのWeb技術入門(エンジニア適職フェアWeb技術入門セミナー)
 
Web App Framework at SwapSkills vol28
Web App Framework at SwapSkills vol28Web App Framework at SwapSkills vol28
Web App Framework at SwapSkills vol28
 
20121215 ono
20121215 ono20121215 ono
20121215 ono
 
最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービュー最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービュー
 
Open棟梁 社会インフラシステム アーキテクチャの提案
Open棟梁 社会インフラシステム アーキテクチャの提案Open棟梁 社会インフラシステム アーキテクチャの提案
Open棟梁 社会インフラシステム アーキテクチャの提案
 
MVC4
MVC4MVC4
MVC4
 
20120128
2012012820120128
20120128
 
第1回 CMS Fun Nagoya - Movable Typeの紹介-
第1回 CMS  Fun Nagoya - Movable Typeの紹介-第1回 CMS  Fun Nagoya - Movable Typeの紹介-
第1回 CMS Fun Nagoya - Movable Typeの紹介-
 
App004 実践での成功例か
App004 実践での成功例かApp004 実践での成功例か
App004 実践での成功例か
 
App004 実践での成功例か
App004 実践での成功例かApp004 実践での成功例か
App004 実践での成功例か
 
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
 
Flex入門
Flex入門Flex入門
Flex入門
 
~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
マジックビーンズ
マジックビーンズマジックビーンズ
マジックビーンズ
 
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
 
CakePHP3で学ぶAPIマネジメント #phpconfuk
CakePHP3で学ぶAPIマネジメント #phpconfukCakePHP3で学ぶAPIマネジメント #phpconfuk
CakePHP3で学ぶAPIマネジメント #phpconfuk
 
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツXamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
 
[MR15] ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践
[MR15] ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践[MR15] ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践
[MR15] ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践
 
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
 

En vedette (7)

20091207
2009120720091207
20091207
 
20100218 lt
20100218 lt20100218 lt
20100218 lt
 
20090418
2009041820090418
20090418
 
20120425
2012042520120425
20120425
 
20110607
2011060720110607
20110607
 
20100313
2010031320100313
20100313
 
20120616
2012061620120616
20120616
 

Similaire à 20100218

マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後Akira Inoue
 
Mvc conf session_3_takehara
Mvc conf session_3_takeharaMvc conf session_3_takehara
Mvc conf session_3_takeharaHiroshi Okunushi
 
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像Akira Inoue
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介david9142
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発Akira Inoue
 
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~Akira Inoue
 
patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後
patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後
patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後Akira Inoue
 
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介Tadahiro Higuchi
 
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデートAkira Inoue
 
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーションAkira Inoue
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をTech Summit 2016
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をTech Summit 2016
 
18-D-1 .Net Framework 4 概要
18-D-1 .Net Framework 4 概要18-D-1 .Net Framework 4 概要
18-D-1 .Net Framework 4 概要Developers Summit
 
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT appsMAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT appsShotaro Suzuki
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NETAkira Inoue
 
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 日本マイクロソフト株式会社
 
Asp.net core mvc の core な話
Asp.net core mvc の core な話Asp.net core mvc の core な話
Asp.net core mvc の core な話Masuda Tomoaki
 

Similaire à 20100218 (20)

マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
 
Mvc conf session_1_osada
Mvc conf session_1_osadaMvc conf session_1_osada
Mvc conf session_1_osada
 
Mvc conf session_3_takehara
Mvc conf session_3_takeharaMvc conf session_3_takehara
Mvc conf session_3_takehara
 
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
 
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
 
patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後
patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後
patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後
 
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介
 
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
 
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
 
18-D-1 .Net Framework 4 概要
18-D-1 .Net Framework 4 概要18-D-1 .Net Framework 4 概要
18-D-1 .Net Framework 4 概要
 
Mvc conf session_5_isami
Mvc conf session_5_isamiMvc conf session_5_isami
Mvc conf session_5_isami
 
[Japan Tech summit 2017] APP 001
[Japan Tech summit 2017] APP 001[Japan Tech summit 2017] APP 001
[Japan Tech summit 2017] APP 001
 
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT appsMAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
 
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
 
Asp.net core mvc の core な話
Asp.net core mvc の core な話Asp.net core mvc の core な話
Asp.net core mvc の core な話
 

Plus de 小野 修司 (20)

20140322
2014032220140322
20140322
 
20120609
2012060920120609
20120609
 
20111203
2011120320111203
20111203
 
20100224
2010022420100224
20100224
 
20090711
2009071120090711
20090711
 
20090606
2009060620090606
20090606
 
20090328
2009032820090328
20090328
 
20090212
2009021220090212
20090212
 
20081003
2008100320081003
20081003
 
20080630
2008063020080630
20080630
 
20080627 2
20080627 220080627 2
20080627 2
 
20080627 1
20080627 120080627 1
20080627 1
 
20080524
2008052420080524
20080524
 
20080213
2008021320080213
20080213
 
20080201
2008020120080201
20080201
 
20071204
2007120420071204
20071204
 
20071030
2007103020071030
20071030
 
20070310
2007031020070310
20070310
 
20061125
2006112520061125
20061125
 
20061122
2006112220061122
20061122
 

20100218

  • 1. ASP.NET MVC 2 あおい情報システム 小野 修司 どっとねっとふぁん (http://dotnetfan.org) twitter:@onos Developers Summit 2010
  • 2. 注目されるASP.NET MVC  Technology Radar Janualy 2010  ThoughtWorks  Tools  We have been tracking ASP.NET MVC since its early release candidates. This is an exciting development in the .NET space from Microsoft, both in the programming model and in the open source license under which Microsoft has released the library. ASP.NET MVC is similar to MVC frameworks on the Java platform and is a move away from the ASP.NET Web Forms approach to one that supports greater levels of automated testing. Developers Summit 2010
  • 3. ASP.NET 3.5/4 の全体像 Silver ASP.NET AJAX Library light クライアントスクリプト Webフォーム WCF WCF ASP.NET MVC 2 Data RIA DynamicData Services Services Webアプリケーション Webサービス ASP.NET コア(HttpApplication) Developers Summit 2010
  • 4. Web フォームとの比較  Webフォームの開発の特徴  コントロールのドラッグ アンド ドロップ  イベントドリブン Developers Summit 2010
  • 5. Web フォームとの比較  Webフォームの開発のメリット  コントロールのドラッグ アンド ドロップ 高い開発生産性  イベントドリブン Windowsアプリと同じ開発方法 Developers Summit 2010
  • 6. Web フォームとの比較  Webフォームの開発のデメリット  コントロールのドラッグ アンド ドロップ 自動生成されるHTMLを調整しにくい  イベントドリブン PostBack/ViewState等独自の概念 Developers Summit 2010
  • 7. Web フォームとの比較  Webフォームの開発のデメリット  コントロールのドラッグ アンド ドロップ 自動生成されるHTMLを調整しにくい Webアプリの開発者に  イベントドリブン 発想の転換を強いる PostBack/ViewState等独自の概念 Developers Summit 2010
  • 8. Web フォームとの比較  ASP.NET MVCの開発の特徴  コントロールのドラッグ アンド ドロップ  データの表示箇所以外はHTMLを記述  イベントドリブン  リクエストに応じた処理の記述  MVCパターンの採用 Developers Summit 2010
  • 9. Web フォームとの比較  ASP.NET MVCの開発の特徴  コントロールのドラッグ アンド ドロップ  データの表示箇所以外はHTMLを記述 Webアプリ開発者を  イベントドリブン Windowsプラットホームに誘導  リクエストに応じた処理の記述  MVCパターンの採用 Developers Summit 2010
  • 10. ASP.NET MVCの開発  Model  固有のサポートはない  Entity FrameworkやLINQ to SQLを利用可能  DomainServiceに期待  MVC 2ではAccountModelが参考になる  Control  足場(スキャッフォールド)を提供  View  足場(スキャッフォールド)を提供 Developers Summit 2010
  • 11. MVC 2 での機能強化  Area  非同期コントローラ  強く型付けされたHTMLヘルパー  Validation Developers Summit 2010
  • 12. Area  1つのアプリケーション内に 複数のMVCの組み合わせを構 築  大規模なアプリケーションの 構築/複数チームでの開発等 に有効 Developers Summit 2010
  • 13. 非同期コントローラ  サーバ上で時間のかかる処理を実行する 必要がある場合に有効  外部のWebサービスと連携する場合に有 効 Developers Summit 2010
  • 14. 強く型付けされたHTMLヘル パー  型の定義(メタデータを含む)にあわ せた出力を生成  型全体を指定することも可能  例: Html.DisplayFor(model => model)  型毎のテンプレートを用意する場合に有 効 Developers Summit 2010
  • 15. Validation  スキャッフォールド  修正 Developers Summit 2010
  • 16. Validation  引数を利用するModelの型にする  Postされたデータが自動的に型にバインドさ れる  バインド時にValidation(検証結果)が行わ れる  検証結果はModelStateに含まれる  IsValidで状況を確認  検証した状態を含んだModelをViewに渡 す  ヘルパーによりエラー情報が適切に表示され Developers Summit 2010
  • 17. 参考情報  ScottGu’s Blog  http://weblogs.asp.net/scottgu/  日本語訳は@ITで  Phil HaackさんのBlog  http://haacked.com/  無聊を託つ  http://takepara.blogspot.com/ Developers Summit 2010