The Microsoft Conference 2014 Web アプリのリフォーム ~ モバイルとクラウド活用に向けた技術選択 ~ ROOMD 日本マイクロソフト株式会社エバンジェリスト 井上章 ( いのうえあきら ) http://aka.ms/chack
MSC 2014 開発系関連セッションの位置づけ ビジネス環境の変化に伴うアプリケーションのリフォーム方法と技術選択 DE-241 デスクトップアプリリフォーム DE-261 Web アプリのリフォーム DE-251 マルチデバイスを見据えたこれからのアプリケーション開発技術 DE-121 実践!! IoT (Internet of Things) DE-211 オープンテクノロジによる O365 アプリの可能性 DE-271 Visual Studio で実現するクラウド時代の Rapid Release DE-131
セッションのゴール Session Takeaways Web アプリ開発のトレンドを振り返る ASP.NET アプリのモバイル & クラウド活用を学ぶ.NET のモバイル & クラウド最適化の流れを知る
アプリケーションの技術トレンドと近未来 Productivity Future Vision デバイスの多様化 マルチデバイス (PC, Tablet, Smartphone...) クロス プラットフォーム IoT (Internet of Things) 不可欠な Web 技術 HTML, CSS, JavaScript, HTTP, REST... クラウド環境の普及と活用 スケーラビリティとアベイラビリティ ビッグデータ分析
MOBILE CLOUD
MOBILE-FIRST CLOUD-FIRST
Mobile First
PC, Tablet, Phone
ASP.NET 4.5 レスポンシブ Web ディスプレイモードクロスブラウザー
レスポンシブ Web デザイン Mobile Web Experience CSS3 メディア クエリによるスタイルとレイアウト変更 デザイン中心のマルチデバイス対応手法 共通した HTML マークアップによる UI エクスペリエンスの提供
Twitter Bootstrap with ASP.NET Bootstrap http://getbootstrap.com/ http://bootswatch.com/
デバイス判別とビューの切り替え マルチデバイスへの対応 ASP.NET の Display Modes 機能によるデバイスの判別 モバイル向けビュー (*.mobile.*) へ自動切り替え
Web アプリにおけるマルチデバイス対応手法の選択 Design and Mobile Experience レスポンシブ Web デザイン重視 デスクトップとモバイルで同じ URL の Web サイトを提供 jquery Mobile タッチ操作重視 モバイルに特化した Web サイトを提供 デバイス判別とビューの切り替え (ASP.NET Display Modes 機能) モバイル デバイス毎に最適化した Web サイトを提供
Cloud First
クラウドの利用目的と形態 社外公開向け Web サイト 社内向けアプリ & インフラ基盤 開発 & テスト環境 外部向けアプリ基盤
コンピューティング WEB サイト 仮想マシン クラウドサービス モバイルサービス データサービス Blobs テーブルキュー Files SQL データベース Machine HD Insight 復旧サービス Leaning StoreSimple アプリケーションサービス メディアサービス Service Bus 通知ハブ Visual Studio Online BizTalk サービス Automation スケジューラ API 管理 RemoteApp Active Directory CDN Caching ネットワーク 仮想ネットワーク Traffic Manager Express Route
Visual Studio 2013 & Microsoft Azure
Load Load アプリケーションの負荷パターン バッチ処理 予測可能 No load 増加 予測不可能
スケール
スケール
スケール
Web アプリケーションパターンの進化と ASP.NET 技術選択
"More and more of ASP.NET is open source. We want to make ASP.NET more pluggable, more open, more fun." "We've got big things planned - some that will surprise you." February 25, 2012 by Scott Hanselman
One ASP.NET 構想 One ASP.NET Vision
http://nuget.org/ NuGet (ぬげっと / にゅーげっと) オープンソース ライブラリなどのパッケージ管理の 仕組み インストール 更新 配布 Visual Studio で標準採用 NuGet ギャラリーを利用したパッケージの公開が可能
Web フォーム と ASP.NET MVC Web Forms vs. MVC D & D 配置 容易な UI 開発 Web フォーム 豊富なサーバー コントロール イベント駆動型プログラミング ASP.NET MVC HTML ベースの UI 開発 Model-View-Controller パターン Web 標準志向 テスト駆動開発
Evolution of Web Application Patterns クライアント + デバイス サーバー 従来型のパターン (Established Patterns) + サービス 次世代型のパターン (Emerging Patterns)
Single Page Application Architecture ASP.NET View Async View Model クライアント HTML HTTP REST JSON XML Web API サーバー
ASP.NET Single Page Application (SPA) 単一ページ構成 の Ajax アプリケーション HTML5/CSS3 や JavaScript を活用 優れた Web UX と マルチデバイス 対応 SPA
Framework for HTTP Services RESTful HTTP サービス構築のためのフレームワーク ASP.NET プロジェクト テンプレートの一部として提供 URL ルーティング スキャフォールディング モデル バインディング OData クエリ パラメータ
ASP.NET SignalR Real Time Web Application Library リアルタイム 非同期 双方向通信ライブラリ NuGet パッケージとして提供 ASP.NET アプリ サーバー SignalR ハブ リアルタイム 通信 SignalR ハブ Proxy JavaScript /.NET アプリ クライアント サーバーからクライアントへのプッシュや RPC 通信 クライアント - サーバー間の永続的コネクション トランスポートの自動ネゴシエーション (WebSocket, Long Polling ) 1 サーバーあたり数千の接続を非同期で処理
http://aka.ms/geekquiz ASP.NET / Azure Web 開発ハンズオントレーニング スライド, GeekQuiz デモソースコード
ASP.NET vnext
モダン Web と ASP.NET の今後 Modern Web and ASP.NET モジュール化 クラウドへシームレスな移行 迅速な開発サイクル エディターや開発ツールの選択 OSS オープンソースへの貢献 クロスプラットフォーム パフォーマンス向上
Visual Studio 14 & ASP.NET vnext Community Technology Preview 次期バージョン Visual Studio 14 CTP リリース RTM (正式リリース) は 2015 年を予定 (CTP 版は Go-live ライセンスではない) Azure 仮想マシン イメージが利用可能 Windows Server 2012 R2 + Visual Studio 14 Professional CTP 4 ASP.NET vnext オープン ソース ( http://github.com/aspnet ) 新しい ASP.NET vnext プロジェクト テンプレート (*.kproj) の採用 新しい設定システム (project.json) の採用 モジュラー設計, 完全な Side by Side 実行, 高速化, 低メモリ使用量 Windows, Mac, Linux での実行 * CTP: Community Technology Preview
.NET と Web アプリの今後
.NET の今後 Future of.net.netvnext ランタイム Next gen JIT ( RyuJIT ) SIMD (Data Parallelization) コンパイラー.NET Compiler Platform ( Roslyn ) Languages innovation ライブラリ BCL and PCL Entity Framework
Web アプリのリフォームに向けて NuGet ASP.NET
Appendix
書籍 プログラミング ASP.NET MVC / SignalR Programming ASP.NET MVC / SignalR プログラミング ASP.NET MVC 5 対応版 Dino Esposito 著 日本マイクロソフト 井上 章 監訳 http://ec.nikkeibp.co.jp/item/books/p98380.html 2014 年 10 月 30 日 一般発売開始 プログラミング ASP.NET SignalR Jose M. Aguilar 著 日本マイクロソフト 井上 章 監訳 http://ec.nikkeibp.co.jp/item/books/p98410.html 2014 年 10 月 30 日 一般発売開始
Expo 会場 Visual Studio ブースにお越しください 最新ツールを体験 Code Work Build Test Deploy Insight 抽選会やってます 豪華景品を当てよう
http://aka.ms/tryaz http://aka.ms/free-azure
開発 テストで使える MSDN Azure 無料特典 エディション別の Azure 無償枠 月々 Pro 5,500 円分 Premium 10,500 円分 Ultimate 15,500 円分 年間 66,000 円分 126,000 円分 186,000 円分 すぐ利用可能 無償枠を超過して自動的に課金されることはありません MSDN サブスクライバー向け Azure 特典 http://aka.ms/azure-msdn-benefits MSDN サブスクライバー向け Azure 無償特典利用方法 http://aka.ms/azure-msdn-use 無償枠内で例えばこんな使い方 開発環境として Windows+Visual Studio 月額 約 4,500円 チーム開発で Visual Studio Online 月額 約 2,000円 A1 + ストレージ 127GB を1ヶ月間平日に 24 時間利用した場合の料金 テスト環境として Windows Server 月額 約 4,500円
マイクロソフトのオンライントレーニング Microsoft Virtual Academy (MVA) 専門家が提供する質の高い無料コンテンツ 100 以上の日本語コースを提供 C# や HTML5 などプログラミングの基礎も網羅 MCSD* 受験対策コースも用意 * Microsoft Certified Solution Developer こちらの URL よりアクセス http://aka.ms/msmva
2014 Microsoft Corporation. All rights reserved. Microsoft, Windows 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.