Upload
akira-inoue
View
3.781
Download
4
Embed Size (px)
Citation preview
最新 .NET テクノロジと次世代型アプリ開発 2013
日本マイクロソフト株式会社デベロッパー & プラットフォーム統括本部エバンジェリスト
井上 章 http://aka.ms/chack
ROOM
A
本日のセッション資料は …
aka.ms/de011
追加情報は …
aka.ms/chack
twitter.com/chack411
3
セッションのゴールSession Takeaways
次世代型 .NET アプリケーションパターンを学ぶ
バックエンドサービスの重要性を知る
デバイス & サービス時代のアプリケーションの今後を考える
全ての机に家庭にコンピューターを
5
.NET 構想における初期のビジョンDevices and Services
“To move beyond today’s world of stand-alone Web sites to an
Internet of interchangeable components where devices and
services can be assembled into cohesive, user-driven experiences”
Bill Gates on the goal for .NET
Forum 2000
“Web サイトが個々に独立している状態から、交換可能なコンポーネントからなる
インターネットへと移行し、さまざまな デバイスとサービス を組み合わせること
で一貫性のあるユーザー主導のエクスペリエンスを実現する”
7
.NET とは?
ライブラリランタイム 言語 ツール
8
.NET Framework の構成
OS
共通言語ランタイム(CLR : Common Language Runtime)
各種ライブラリ
共通言語基盤(CLI : Common Language Infrastructure)
VB C# C++ • .NET 対応の開発言語を利用可能
• 型などの共通仕様• 言語間のコンポーネント呼び出しが可能
• IO, ネットワーク, 暗号化 …
• ASP.NET, ADO.NET …
• 実行制御(メモリ管理, スレッド制御, 例外処理, セキュリティ …)
・・・
10
Visual Studio & .NET Framework のバージョン変遷
Client ServicesClient/Server
11
Visual Studio & .NET Framework のバージョン変遷
.NETFramework
1.0 1.1 2.0 3.0 3.5 4.0 4.5
ライブラリ
CLR
VisualStudio
1.0 1.1 2.0
3.0
3.5
1.0 1.1 2.0 4.0
4.0
4.5
20132012
4.5
2002 2003 20102008
2005
4.5.1
4.5.1
12
Visual Studio 2013 & .NET 4.5.1 の進化
開発生産性
パフォーマンス
継続的な機能向上
64bit エディット コンティニュ
メソッド 戻り値の確認
非同期デバッグの強化
ASP.NET アプリのサスペンド
マルチコア JIT の起動速度向上
…
.NET パッケージの NuGet リリース
NuGet フィードの整理
…
13
.NET 技術の選択
アプリケーションパターンの進化
16
アプリケーションモダナイゼーション
サービス
ネイティブ アプリケーション
Web アプリケーション
17
アプリケーションパターンの進化
サービス
デバイス
+
+
次世代型のパターン(Emerging Patterns)
サーバー
クライアント
従来型のパターン(Established Patterns)
18
.NET と 2 階層デスクトップアプリ (C/S 型)
19
.NET と 3 階層デスクトップアプリ
20
.NET と Windows ストアアプリ
21
.NET と Web アプリケーション (小・中規模)
22
次世代型 .NET アプリケーションの技術構成
配置先
Windowsストア
Windowsストア
デスクトップ
WPF
Win Forms
Web
鍵を握るバックエンドサービス
24
ASP.NET Web API
• URL ルーティング
• モデル バインディング
• スキャフォールディング
• OData クエリ パラメータ
RESTful HTTP サービス構築のためのフレームワーク
ASP.NET プロジェクト テンプレートとして提供
25
ASP.NET SignalR
クライアント - サーバー間の永続的コネクション
トランスポートの自動ネゴシエーション (WebSocket, Long Polling …)
サーバーからクライアントへのプッシュや RPC 通信
1 サーバーあたり数千の接続を非同期で処理
リアルタイム・非同期・双方向通信ライブラリ
NuGet パッケージとして提供
ASP.NETアプリ
SignalRハブ JavaScript / .NET
アプリ
SignalRハブ Proxyリアルタイム
通信サーバークライアント
26
Windows Azure 通知ハブ
Service Bus通知ハブ
マルチ プラットフォームへのブロードキャスト メッセージ送信サービス
多数のデバイスに低い遅延性で送信
ユーザー属性などの管理機能
APNSGCM iOS / Android
アプリ
Windows ストア アプリ
アプリのバックエンド
WNSMPNS
クライアント技術の近未来
28
Web or ネイティブ?~クライアント技術の変化~
2008 2015
29
OS OS
共通言語ランタイム(CLR : Common Language Runtime)
各種ライブラリ
共通言語基盤(CLI : Common Language Infrastructure)
VB C# C++ ・・・
Web ブラウザー(IE, Chrome, Firefox …)
各種 API 群
Web 標準(HTML5, CSS3, ECMAScript ...)
JavaScript HTML CSS
.NET と Web ~開発・実行環境の比較~
.NET アプリケーション Web アプリケーション
次世代型アプリケーションに向けて…
31
サービス構築の基盤となる .NET
次世代型アプリケーションへ ...
アンケートにご協力ください。
© 2013 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.