mvcConf @:Japan
~ ASP.NET MVC ブート キャンプ ~



    お気に入りのWeb Stack
    MVC, jQuery, HTML5
            竹原 貴司 (たけはら たかし)
            http://takepara.blogspot.com
                  Twitter @takepara
                takepara@gmail.com
Web Stack って何?
   クライアントサイドプラットフォーム
   サーバーサイドプラットフォーム
   サーバー
   OS
   ハードウェア
   ネットワーク
   お金


                        2
プラットフォーム?
 サーバーサイド
 .NET Framework
                   実行ランタイム
  ASP.NET
    ASP.NET MVC
                   フレームワーク
 クライアントサイド
 HTML ブラウザ         開発言語
  HTML
  CSS
  JavaScript
                             3
プラットフォーム間連携
 HTTP
  REST
   GET,HEAD,POST,PUT,DELETE…
  SOAP
 TDS
  SQL Server
 CIFS
  ファイル共有
                                4
入力→処理→出力
        サーバーサイド                               クライアントサイド
               入力                                           入力

                                                                                   Silverlight
  URL     Request Body     外部リソース      HTML     CSS       JavaScript   JSON,XML
                                                                                  Excel/Word




               処理                                           処理

 入力データ変換                 データ操作            HTML(CSS)パース                  JavaScript実行




               出力                                           出力

HTML     XML        JSON    バイナリリソース                     ブラウザへの表示

                                                                                                 5
ASP.NETの仕組み
 ASP.NET
  HttpApplication Pipeline
      Provider Model
  Page Pipeline
        Page Controller
        Control Tree
        Postback
        View State
 http://msdn.microsoft.com/ja-jp/library/bb470252.aspx   http://msdn.microsoft.com/ja-jp/library/ms178472.aspx

                                                                                                                 6
HTML5の定義
“HTML5 は、プロプライエタリなプラグインとして
提供されているリッチインターネットアプリケー
ションのプラットフォーム(JavaFX、Adobe Flash、
Silverlight 等)を置き換えることを標榜しており、
ウェブアプリケーションのプラットフォームとして
の機能やマルチメディア要素が実装されている。”

        http://ja.wikipedia.org/wiki/HTML5


                                             7
Approaching HTML5

                                                              W3C                                                             ECMA
                                                                                                                              ECMA




                                                                                                                    Geoloca
    HTML                                CSS                             Web Apps                    SVG                       Script




                                                                                                             tion
                                                                                                                              262




                                                                                      Candidate
           First Public Working Draft         Working Draft     Last Call                             Recommendation
                                                                                   Recommendation




8
                       http://channel9.msdn.com/events/MIX/MIX11/HTM05
HTML5とは
 Element
 Forms
 各種 Event と API
 パーサー
 Canvas
 Microdata        http://www.slideshare.net/dynamis/keypoints-html5-4920336

 Messaging
                                                                               9
JavaScriptとは
 ECMAScript の実装
  など細かい話は Google で検索
 フレームワーク
  jQuery
   jQuery Mobile
  Modernizr
  Prototype.js
  Mootools
                        10
サーバーサイド Stack
               ASP.NET MVC      Razor    WebForm




                                                                   WCF Data
                               ASP.NET              Code First
                                                                 Services(OData)




                                                     Entity
                     .NET Framewor(C#,LINQ…)                         WCF
                                                   Framework



  SQL Server                               IIS




                             Windows Server
                                                                                   11
クライアントサイド Stack
                                datajs
                jQuery      modernizr
                           Knockout.js




                    JavaScript
   HTML   CSS                            Silverlight   Flash
                         JSON




           Web Browser
                                                               12
Architecture Center - MSDN - http://msdn.microsoft.com/es-es/architecture/en/
                                                                                13
Architecture Center - MSDN - http://msdn.microsoft.com/es-es/architecture/en/
                                                                                14
テストについて
 Unit Test
  完璧を求めると疲れるね
 スタック,機能はMocks
  Service Locator大活躍
 結合はシナリオ               http://msdn.microsoft.com/ja-jp/magazine/cc163358.aspx


  Web システムなら Selenium とか
  徐々に増やしていこう
 継続的インテグレーション(CI)
                                                                                 15
実行環境
 オンプレミス
 クラウド
   IaaS
   PaaS
 ホスティング
http://www.datacenterknowledge.com/inside-microsofts-chicago-data-center/microsoft-chicago-center-aisle-container/




                                                                                                                     16
ASP.NET MVC3について少し
 Razor
 DependencyResolver
 HTML5 Template
  Mvc Html5 Template
   http://nuget.org/List/Packages/MvcHtml5Templates
  MVC Html5 Toolkit
   http://mvchtml5.codeplex.com/
 NuGet
                                                       17
デモアプリケーション
                    MVC             RESTful     MVVM

                                 WCF Data
 Cloud Storage   ASP.NET MVC                    HTML
                                 Services


                              Entity
     Mail                                        CSS
                           Framework


                     IIS         SQL Server   JavaScript


                       Windows Server




  External                 Server              Client
                                                           18
demo ...

           19
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the
         part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Mvc conf session_3_takehara

  • 1.
    mvcConf @:Japan ~ ASP.NETMVC ブート キャンプ ~ お気に入りのWeb Stack MVC, jQuery, HTML5 竹原 貴司 (たけはら たかし) http://takepara.blogspot.com Twitter @takepara takepara@gmail.com
  • 2.
    Web Stack って何?  クライアントサイドプラットフォーム  サーバーサイドプラットフォーム  サーバー  OS  ハードウェア  ネットワーク  お金 2
  • 3.
    プラットフォーム?  サーバーサイド  .NETFramework 実行ランタイム  ASP.NET  ASP.NET MVC フレームワーク  クライアントサイド  HTML ブラウザ 開発言語  HTML  CSS  JavaScript 3
  • 4.
    プラットフォーム間連携  HTTP REST  GET,HEAD,POST,PUT,DELETE…  SOAP  TDS  SQL Server  CIFS  ファイル共有 4
  • 5.
    入力→処理→出力 サーバーサイド クライアントサイド 入力 入力 Silverlight URL Request Body 外部リソース HTML CSS JavaScript JSON,XML Excel/Word 処理 処理 入力データ変換 データ操作 HTML(CSS)パース JavaScript実行 出力 出力 HTML XML JSON バイナリリソース ブラウザへの表示 5
  • 6.
    ASP.NETの仕組み  ASP.NET HttpApplication Pipeline  Provider Model  Page Pipeline  Page Controller  Control Tree  Postback  View State http://msdn.microsoft.com/ja-jp/library/bb470252.aspx http://msdn.microsoft.com/ja-jp/library/ms178472.aspx 6
  • 7.
    HTML5の定義 “HTML5 は、プロプライエタリなプラグインとして 提供されているリッチインターネットアプリケー ションのプラットフォーム(JavaFX、Adobe Flash、 Silverlight等)を置き換えることを標榜しており、 ウェブアプリケーションのプラットフォームとして の機能やマルチメディア要素が実装されている。” http://ja.wikipedia.org/wiki/HTML5 7
  • 8.
    Approaching HTML5 W3C ECMA ECMA Geoloca HTML CSS Web Apps SVG Script tion 262 Candidate First Public Working Draft Working Draft Last Call Recommendation Recommendation 8 http://channel9.msdn.com/events/MIX/MIX11/HTM05
  • 9.
    HTML5とは  Element  Forms 各種 Event と API  パーサー  Canvas  Microdata http://www.slideshare.net/dynamis/keypoints-html5-4920336  Messaging 9
  • 10.
    JavaScriptとは  ECMAScript の実装  など細かい話は Google で検索  フレームワーク  jQuery  jQuery Mobile  Modernizr  Prototype.js  Mootools 10
  • 11.
    サーバーサイド Stack ASP.NET MVC Razor WebForm WCF Data ASP.NET Code First Services(OData) Entity .NET Framewor(C#,LINQ…) WCF Framework SQL Server IIS Windows Server 11
  • 12.
    クライアントサイド Stack datajs jQuery modernizr Knockout.js JavaScript HTML CSS Silverlight Flash JSON Web Browser 12
  • 13.
    Architecture Center -MSDN - http://msdn.microsoft.com/es-es/architecture/en/ 13
  • 14.
    Architecture Center -MSDN - http://msdn.microsoft.com/es-es/architecture/en/ 14
  • 15.
    テストについて  Unit Test  完璧を求めると疲れるね  スタック,機能はMocks  Service Locator大活躍  結合はシナリオ http://msdn.microsoft.com/ja-jp/magazine/cc163358.aspx  Web システムなら Selenium とか  徐々に増やしていこう  継続的インテグレーション(CI) 15
  • 16.
    実行環境  オンプレミス  クラウド  IaaS  PaaS  ホスティング http://www.datacenterknowledge.com/inside-microsofts-chicago-data-center/microsoft-chicago-center-aisle-container/ 16
  • 17.
    ASP.NET MVC3について少し  Razor DependencyResolver  HTML5 Template  Mvc Html5 Template  http://nuget.org/List/Packages/MvcHtml5Templates  MVC Html5 Toolkit  http://mvchtml5.codeplex.com/  NuGet 17
  • 18.
    デモアプリケーション MVC RESTful MVVM WCF Data Cloud Storage ASP.NET MVC HTML Services Entity Mail CSS Framework IIS SQL Server JavaScript Windows Server External Server Client 18
  • 19.
  • 20.
    © 2011 MicrosoftCorporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.