Infragistics Developer Days
Visual Studio 2012 が可能にするタッチ デバイス
業務アプリケーション開発 ~ Web ソリューション構築編 ~

Visual Studio 2012 で実現する
HTML5 & マルチ デバイス時代の Web 開発
日本マイクロソフト株式会社
デベロッパー & プラットフォーム統括本部
エバンジェリスト
井上 章 (いのうえ あきら)
blogs.msdn.com/chack   twitter.com/chack411
セッションのゴール
Session Takeaways


• Visual Studio 2012 の Web 開発新機能 を学ぶ

• Web 開発の最新事情 を知る
モダン Web アプリと
 マルチデバイス対応
マルチデバイス エクスペリエンス
Devices, Platforms, Browsers

• クロス デバイス
  • PC, スマートフォン, タブレット ...

• クロス プラットフォーム
  • iOS, Android, Windows Phone ...

• クロス ブラウザー
  • Web 標準と HTML5 / CSS3
  • 実装レベル差異への対応
レスポンシブ Web デザイン
Mobile Web Experience

• CSS3 メディア クエリによるスタイルとレイアウト変更
 • デザイン中心のマルチデバイス対応手法
 • 共通した HTML マークアップによる UI エクスペリエンスの提供
モダン Web アプリ エクスペリエンス
Single Page Application Architecture

                                       ASP.NET

                           HTML
       View
                           HTTP
       Async

       View
       Model               REST        Web API
                           JSON
      クライアント                XML        サーバー
Visual Studio 2012
マルチデバイス向け新機能
ASP.NET MVC 4
Improvements of ASP.NET MVC 4

          HTML ベースの UI 開発
          Model-View-Controller パターン
• HTML5 対応プロジェクト テンプレート
• モバイル アプリケーション テンプレート
• Display Modes とビューの切り替え
• スクリプトの自動縮小化 & 結合処理
• Task, async, await による非同期アクション
 •   Task-based Asynchronous Pattern (TAP)
モバイル アプリケーション テンプレート
新しいモバイル向け プロジェクト テンプレートの追加

• jQuery Mobile の採用
Display Modes
モバイル デバイスへの対応
• MVC フレームワークによるモバイル デバイスの判別
• モバイル向けビュー (*.mobile.*) へ自動切り替え
ASP.NET Web API
New Framework for HTTP Services

      RESTful サービス構築のためのフレームワーク
      MVC 4 プロジェクト テンプレートの一部として提供


                                  • URL ルーティング
                                  • モデル バインディング
                                  • スキャフォールディング
                                   (w/ Entity Framework)
                                  • OData クエリパラメータ
                                   (Microsoft.AspNet.WebApi.Odata)
ASP.NET SignalR
Async library for .NET

       リアルタイム・非同期・双方向通信ライブラリ
       NuGet パッケージとして提供


• クライアント - サーバー間の永続的コネクション
• トランスポートの自動ネゴシエーション
 • WebSocket, Server-Sent Events, Forever Frames, Long Polling

• サーバーからクライアントへのプッシュや RPC 通信
• 1 サーバーあたり数千の接続を非同期で処理
コーディング支援機能
Improvements of Editors

• インテリセンス・コード スニペットの強化
• HTML5 / CSS3 スキーマ対応
• 開始タグと終了タグの同期リネーム
• CSS カラー ピッカー
• ベンダー プレフィックスとメディア クエリー
• ECMAScript 5 / HTML5 APIs サポート
• アウトライン表示
さらに進化した Web 開発 IDE
Improvements of Web Development

• Page Inspector (ページ インスペクター)
 • HTML, CSS の確認と検査
 • サーバー サイド コード連動
 • ページのプレビュー

• 画像のサムネイル表示
• デバッグ用ブラウザーの
 切り替え機能
デバッグとテスト
Web アプリのテスト
Improvements of Testing Tools

• JavaScript の単体テスト
 • Jasmine / QUnit をテスト エクスプローラーに統合可能
 • 拡張機能: Chutzpah※ test adapter for Visual Studio 2012

• Web パフォーマンスとロード テストのプロジェクト
 • 容易なパフォーマンスとストレス テストの実施
 • 同時アクセス ユーザー数や使用ブラウザーなどをシミュレート

  ※ フツパ
Visual Studio 2012 / ASP.NET
               Web 開発の今後
Web アプリ開発のトレンド
これからの Web アプリケーションで考えなければならないこと
• マルチデバイス対応
  • Web アプリか? ネイティブ アプリか?
  • HTTP 通信ペイロード削減

• レスポンシブ Web デザイン
  • デザイン・開発ツールの選択

• Single Page Application アーキテクチャ (SPA)
  • AJAX 処理における SEO 対策やブラウザ履歴管理対応
  • オフライン実行への対応

• HTTP REST サービス (Web API)
• リアルタイム コミュニケーション
One ASP.NET
ASP.NET Web Stack




※ One ASP.NET - Making JSON Web APIs with ASP.NET MVC 4 Beta and ASP.NET Web API : www.hanselman.com
© 2012 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.

Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発

  • 1.
    Infragistics Developer Days VisualStudio 2012 が可能にするタッチ デバイス 業務アプリケーション開発 ~ Web ソリューション構築編 ~ Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発 日本マイクロソフト株式会社 デベロッパー & プラットフォーム統括本部 エバンジェリスト 井上 章 (いのうえ あきら) blogs.msdn.com/chack twitter.com/chack411
  • 2.
    セッションのゴール Session Takeaways • VisualStudio 2012 の Web 開発新機能 を学ぶ • Web 開発の最新事情 を知る
  • 3.
    モダン Web アプリと マルチデバイス対応
  • 4.
    マルチデバイス エクスペリエンス Devices, Platforms,Browsers • クロス デバイス • PC, スマートフォン, タブレット ... • クロス プラットフォーム • iOS, Android, Windows Phone ... • クロス ブラウザー • Web 標準と HTML5 / CSS3 • 実装レベル差異への対応
  • 5.
    レスポンシブ Web デザイン MobileWeb Experience • CSS3 メディア クエリによるスタイルとレイアウト変更 • デザイン中心のマルチデバイス対応手法 • 共通した HTML マークアップによる UI エクスペリエンスの提供
  • 6.
    モダン Web アプリエクスペリエンス Single Page Application Architecture ASP.NET HTML View HTTP Async View Model REST Web API JSON クライアント XML サーバー
  • 7.
  • 8.
    ASP.NET MVC 4 Improvementsof ASP.NET MVC 4 HTML ベースの UI 開発 Model-View-Controller パターン • HTML5 対応プロジェクト テンプレート • モバイル アプリケーション テンプレート • Display Modes とビューの切り替え • スクリプトの自動縮小化 & 結合処理 • Task, async, await による非同期アクション • Task-based Asynchronous Pattern (TAP)
  • 9.
    モバイル アプリケーション テンプレート 新しいモバイル向けプロジェクト テンプレートの追加 • jQuery Mobile の採用
  • 10.
    Display Modes モバイル デバイスへの対応 •MVC フレームワークによるモバイル デバイスの判別 • モバイル向けビュー (*.mobile.*) へ自動切り替え
  • 11.
    ASP.NET Web API NewFramework for HTTP Services RESTful サービス構築のためのフレームワーク MVC 4 プロジェクト テンプレートの一部として提供 • URL ルーティング • モデル バインディング • スキャフォールディング (w/ Entity Framework) • OData クエリパラメータ (Microsoft.AspNet.WebApi.Odata)
  • 12.
    ASP.NET SignalR Async libraryfor .NET リアルタイム・非同期・双方向通信ライブラリ NuGet パッケージとして提供 • クライアント - サーバー間の永続的コネクション • トランスポートの自動ネゴシエーション • WebSocket, Server-Sent Events, Forever Frames, Long Polling • サーバーからクライアントへのプッシュや RPC 通信 • 1 サーバーあたり数千の接続を非同期で処理
  • 13.
    コーディング支援機能 Improvements of Editors •インテリセンス・コード スニペットの強化 • HTML5 / CSS3 スキーマ対応 • 開始タグと終了タグの同期リネーム • CSS カラー ピッカー • ベンダー プレフィックスとメディア クエリー • ECMAScript 5 / HTML5 APIs サポート • アウトライン表示
  • 14.
    さらに進化した Web 開発IDE Improvements of Web Development • Page Inspector (ページ インスペクター) • HTML, CSS の確認と検査 • サーバー サイド コード連動 • ページのプレビュー • 画像のサムネイル表示 • デバッグ用ブラウザーの 切り替え機能
  • 15.
  • 16.
    Web アプリのテスト Improvements ofTesting Tools • JavaScript の単体テスト • Jasmine / QUnit をテスト エクスプローラーに統合可能 • 拡張機能: Chutzpah※ test adapter for Visual Studio 2012 • Web パフォーマンスとロード テストのプロジェクト • 容易なパフォーマンスとストレス テストの実施 • 同時アクセス ユーザー数や使用ブラウザーなどをシミュレート ※ フツパ
  • 17.
    Visual Studio 2012/ ASP.NET Web 開発の今後
  • 18.
    Web アプリ開発のトレンド これからの Webアプリケーションで考えなければならないこと • マルチデバイス対応 • Web アプリか? ネイティブ アプリか? • HTTP 通信ペイロード削減 • レスポンシブ Web デザイン • デザイン・開発ツールの選択 • Single Page Application アーキテクチャ (SPA) • AJAX 処理における SEO 対策やブラウザ履歴管理対応 • オフライン実行への対応 • HTTP REST サービス (Web API) • リアルタイム コミュニケーション
  • 19.
    One ASP.NET ASP.NET WebStack ※ One ASP.NET - Making JSON Web APIs with ASP.NET MVC 4 Beta and ASP.NET Web API : www.hanselman.com
  • 22.
    © 2012 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.