.NET Frameworkと.NET Core
.NET 2015
.NET Framework
ASP.NET 5
ASP.NET 4.6
WPF
Windows Forms
.NET Core
ASP.NET 5
.NET Native
Innovation
• モジュール化
• オープンソース
• Agileリリース
• エコシステム
• クロスプラットフォーム
ASP.NET 5 for Mac and Linux
Common
Runtime
Next gen JIT
SIMD
Compilers
.NET Compiler Platform
Language innovation
NuGet packages
.NET Core 5 Libraries
.NET Framework 4.6 Libraries
Compatibility
• 既存デスクトップ
• 既存サーバー
ポイント
既存のものには下
手に手を入れない
ポイント
既存環境にも最新の
アプリ開発モデルをポイント
可能な限り旧環境にも
オープンソースの成果を
pull-req
受付
back porting
とはいえ、4.6どころか…
8.
.NETのサポートOS
OS サポート期限.NETのバージョン
Windows Server 2003
2010/7/13
2.0
R2
2015/7/14
4
Windows 7 / Windows
Server 2008 R2
2015/1/13
2020/1/14
3.5.1
4.6
Windows 8 /
Windows Server 2012
2018/1/9
2023/1/10
4.5
4.6
上段: メインストリーム
下段: 延長
現実的に多そう
なのはこいつ?
上段: 標準インストール
下段: サポートする最新バージョン
業務におかれましては、サポート期限ギリギリのOSで、標準
インストールのバージョンの.NETでないと使えないことも
多々あるかと思われます
9.
VS 2015でも、2.0, 3.5開発できます
古いバージョンのVisual Studioとの共存も可能
今はクライアントOSでもHyper-V動くし
実機開発でも、Visual Studio 2015はWindows 7に入る
「Windows 7だからVisual Studio 2008で開発」とかやめて
“One .NET” 以前(.NETFramework)
現状: Profileベースのフレームワーク
.NET for
Windows
Desktop
.NET for
Windows
Store
.NET for
Server
BCL※
Runtime
BCL
WinRT
Interop
BCL
Runtime Runtime
• ターゲットごとに違うフレーム
ワーク(大きな赤枠)があって
• 「どのフレームワークならどの
クラスが使える」みたいなルー
ル(Profile)を定めてる
• 1つのインストーラーで全体の
インストール
• 多くのクラスがmscorlib.dllの中
WPF ASP.NET
※ Base Class Library
多様なアプリケーション
.NETは元々適用範囲広いし
ServerClient
On-premise Cloud
Web Site Web Service
HTTP Sockets
GUI CUI
Stand Alone Connected
Desktop Mobile
Mouse
Keyboard
Touch
Windows
Linux iOS
Mac Android
.NET Micro
Framework
「AかBか?」→ 「AもBも!」
、これからさらに広がる
38.
過渡期
一度大きく振らないと行けないことはある
AB
新しいチャレンジの際の過渡期
最終的には間に落ち着いたり、両方半々になったり
A AB B A & B
成熟の証
結局、全部ほしくなる
この状態に対して
「既存顧客を捨てるのか」とか
「そんなの流行らない」とか
言っちゃダメ
「ほらダメだった」とか
「やっぱり戻ってきた」とか
言っちゃダメ
39.
Windows 8 →10
Windows 10
デスクトップ回帰
エンタープライズ回帰
Mouse
Keyboard
Touch
制限なしWPF
審査付き
セキュアWinRT
エンタープライズ
コンシューマー
WinRT
Windows 10
Windows 10
Windows 8
Windows 8
40.
今はターゲットを広げる時期
協業
Xamarin,Docker
サポートOS
Linux, Mac
Android, iOS(Xamarin)
Web Server
IIS
開発環境
Visual Studio, Xamarin Studio, OmniSharp
41.
選べる大事さ: 開発環境
Windows環境
これからもVisual Studioは非常に強力な開発ツール
Visual Studio Communityエディション
非商用、学術・研究向け、オープンソースへの貢献用途には無料提供
非Windows環境
Xamarin Studio
そもそもIDEみたいな仰々しい仕組みがいやなら
OmniSharp - Cross platform .NET development
Sublime, Emacs, Vimなど向けのC#プラグインを提供
クラウド化
製品にCloudサービスを使うというのはもちろん
仮想マシンもAzureVMやAWSに置いたり
PaaSを使ったり: SQL Database, Service Bus, HDInsight, Media Services, etc.
自分達のインフラもCloudに
Visual Studio Online
MyGet
GitHub
お客様への納品物はだいぶクラウド化したのに、
自分のことになると「医者の不摂生」してないか
52.
Microsoft自身も
開発サービスを提供する側だけども
Azure,Office 365 API, OneDrive API
Visual Studio Online
すべてを自社でまかなわない
GitHubでソースコード公開
BCLパッケージ配布にMyGet※ を利用
エコシステム提供
3rd パーティ製サービスもAzure StoreのAdd-onsに並べられる
※ NuGetパッケージのホスティング、CIサービス