The Microsoft
Conference 2014
ROOM
D
Web アプリのリフォーム
~ モバイルとクラウド活用に向けた技術選択 ~
日本マイクロソフト株式会社
エバンジェリスト
井上 章
(いのうえ あきら)
http://aka.ms/chack
MSC 2014 開発系関連セッションの位置づけ
ビジネス環境の変化に伴うアプリケーションのリフォーム方法と
技術選択
デスクトップ アプリ
リフォーム
Visual Studio で実現するクラウド時代の Rapid Release
Web アプリのリフォーム
マルチデバイスを見据え
たこれからのアプリケー
ション開発技術
実践 !! IoT
(Internet of
Things)
オープン テクノロジ
による O365 アプリ
の可能性
DE-241
DE-261
DE-251
DE-211
DE-121
DE-271
DE-131
セッションのゴール
Session Takeaways
Web アプリ開発のトレンドを振り返る
ASP.NET アプリのモバイル & クラウド活用を学ぶ
アプリケーションの技術トレンドと近未来
Productivity Future Vision
デバイスの多様化
マルチデバイス (PC, Tablet, Smartphone ...)
クロス プラットフォーム
IoT (Internet of Things)
不可欠な Web 技術
HTML, CSS, JavaScript, HTTP, REST ...
クラウド環境の普及と活用
スケーラビリティとアベイラビリティ
ビッグデータ分析
ASP.NET 4.5
クロス ブラウザー
レスポンシブ Web
ディスプレイ モード
レスポンシブ Web デザイン
Mobile Web Experience
CSS3 メディア クエリによるスタイルとレイアウト変更
デザイン中心のマルチデバイス対応手法
Twitter Bootstrap with ASP.NET
Bootstrap
http://getbootstrap.com/
デバイス判別とビューの切り替え
マルチデバイスへの対応
ASP.NET の Display Modes 機能によるデバイスの判別
Web アプリにおけるマルチデバイス対応手法の選択
Design and Mobile Experience
レスポンシブ Web
デザイン重視
デスクトップとモバイルで同じ URL の Web サイトを提供
jQuery Mobile
タッチ操作重視
モバイルに特化した Web サイトを提供
デバイス判別とビューの切り替え
(ASP.NET Display Modes 機能)
クラウドの利用目的と形態
社外公開向け
Web
サイト
開発
&
テスト環境
社内向けアプリ
&
インフラ基盤
外部向け
アプリ基盤
コンピューティング
データ サービス
Traffic
Manager
仮想
ネットワーク
Express
Route
モバイル
サービス
WEB サイト
クラウド
サービス
仮想マシン
アプリケーション
サービス
Blobs
テーブル
キュー
SQL
データベース
Machine
Leaning
HD Insight
復旧サービス
StoreSimple
Active
Directory
BizTalk
サービス
Service Bus
CDN
API 管理
メディア
サービス
通知ハブ
スケジューラ
Automation
Caching
RemoteApp
Visual
Studio
Online
ネットワーク
Files
アプリケーションの負荷パターン
増加
バッチ処理
Lo
ad
load
No
Lo
ad
予測可能
予測不可能
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 構想
• NuGet
(ぬげっと / にゅーげっと)
– オープンソース ライブラリなどのパッケージ管理の
仕組み(インストール、更新、配布)
– Visual Studio で標準採用
– NuGet ギャラリーを利用したパッケージの公開が可能
http://nuget.org/
Web フォーム と ASP.NET MVC
Web Forms vs. MVC
Web フォーム
豊富なサーバー コントロール
イベント駆動型プログラミング
ASP.NET MVC
HTML ベースの UI 開発
Model-View-Controller パターン
D & D 配置
容易な UI 開発
Web 標準志向
テスト駆動開発
Evolution of Web Application Patterns
サービス
デバイス
+
+
次世代型のパターン
(Emerging Patterns)
サーバー
クライアント
従来型のパターン
(Established Patterns)
Single Page Application Architecture
クライアント
サーバー
ASP.NET
REST
JSON
XML
HTML
View
Model
HTTP
View
Async
Web API
ASP.NET Single Page Application (SPA)
単一ページ構成 の Ajax アプリケーション
HTML5/CSS3 や JavaScript を活用
優れた Web UX と マルチデバイス 対応
Framework for HTTP Services
RESTful HTTP サービス構築のためのフレームワーク
ASP.NET プロジェクト テンプレートの一部として提供
URL ルーティング
モデル バインディング
スキャフォールディング
OData クエリ パラメータ
ASP.NET SignalR
Real Time Web Application Library
サーバーからクライアントへのプッシュや RPC 通信
クライアント - サーバー間の永続的コネクション
トランスポートの自動ネゴシエーション (WebSocket, Long Polling …)
1 サーバーあたり数千の接続を非同期で処理
リアルタイム・非同期・双方向通信ライブラリ
NuGet パッケージとして提供
ASP.NET
アプリ
SignalR
ハブ
JavaScript / .NET
アプリ
SignalR
ハブ Proxy
リアルタイム
通信
サーバー
クライアント
ASP.NET / Azure Web 開発 ハンズオン トレーニング
スライド, GeekQuiz デモ ソースコード
モダン 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 での実行
.NET の今後
Future of .NET
.NET
vNext
Next gen JIT
(“RyuJIT”)
SIMD (Data Parallelization)
ランタイム
コンパイラー
.NET Compiler Platform
(“Roslyn”)
Languages innovation
BCL and PCL
Entity Framework
Web アプリのリフォームに向けて
書籍:プログラミング 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 ブースにお越しください
Deploy Insight
Test
Build
Work
Code
抽選会やってます!
豪華景品を当てよう
最新ツールを体験
http://aka.ms/TryAz
開発・テストで使える MSDN Azure 無料特典
MSDN サブスクライバー向け Azure 特典
http://aka.ms/azure-msdn-benefits
MSDN サブスクライバー向け Azure 無償特典利用方法
http://aka.ms/azure-msdn-use
チーム開発で!
Visual Studio Online
月額 約
2,000
円
※
A1 + ストレージ 127GB を1ヶ月間平日に 24 時間利用した場合の料金
開発環境として!
Windows+Visual Studio
※
月額 約
4,500
円
テスト環境として!
Windows Server
※
月額 約
4,500
円
エディション別の Azure 無償枠
無償枠内で例えばこんな使い方
すぐ利用可能
Pro
Premium
Ultimate
月々
5,500
円分
10,500
円分
15,500
円分
年間
66,000
円分
126,000
円分
186,000
円分
※無償枠を超過して自動的に課金されることはありません。
マイクロソフトのオンライントレーニング
Microsoft Virtual Academy (MVA)
• 専門家が提供する質の高い無料コンテンツ
• 100 以上の日本語コースを提供
• C# や HTML5 などプログラミングの基礎も網羅
• MCSD* 受験対策コースも用意
* Microsoft Certified Solution Developer
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.