最近アレどうなってるの?
Xamarin・.NET Core・Unityなどの現状を整理
おしながき
• .NET Core
• ASP.NET Core
• .NET Standard
• Xamarin
• Unity
自己紹介
•名前:西村誠
•職業:ライター兼プログラマー
自己紹介
• Twitter:@coelacanth
• Facebook:西村誠
• ブログ:
眠るシーラカンスと水底のプログラマー
http://coelacanth.jp.net/
自己紹介
Microsoft MVP
Windows Platform Development
EC-CUBE公式エバンジェリスト
きっかけ
• 7年前(2011年9月)の思い出・・・
• 最近facebookは良く過去を掘り返してきますよね
・・・
.NET Core
おさらい
• クロスプラットフォームに対応した.NET Framework(ざっくり)
• Windows・macOS・Linuxに対応
• コマンドラインとASP.NET
• 最新バージョンは.NET Core 2.1
導入
• Windowsの場合はVisual Studioのオプションで気が付いたら入っ
ている人も多いかも
• Linuxの場合は.NET Tutorial - Hello World in 10 minutesを参考に
ディストリビューションに合わせて導入
https://www.microsoft.com/net/learn/get-started-with-dotnet-tutorial
• macはサイトからDL
https://www.microsoft.com/net/download
利用方法
• Visual Studioなら対応したプロジェクトを作成
• macOS・Linuxならコンソールで(もちろんPower Shellでも)
• #dotnet new console –o (プロジェクト名)
• #cd (プロジェクト名)
• #dotnet run // Ver2.0からrestore不要
最近
• Ver2.0からVBもサポート(C#・F#に加えて)
• C# 7.1 のサポート(Mainメソッドにasync使えたり)
• ロールフォワード(2.0のプロジェクトを2.1にバージョンアップ)
1.xから2.xには上がらない
• #dotnet publish
未来
• Windowsデスクトップアプリケーションをサポート
• .NET Frameworkと置き換えが進む
• もうCoreじゃないよね・・・(名称変更の危険あり)
ASP.NET Core
おさらい
• 先述の.NET Core上で動作するASP.NET(.NET Frameworkでも動く)
• ASP.NET MVC 6 = ASP.NET Core MVC
• .NET Coreと同じくクロスプラットフォームに対応
• ASP.NET Core MVCはASP.NET 4を設計し直したもの
• Kestrel(Webサーバー)で開発
導入
• .NET Coreと一緒
利用方法
• Visual Studioなら対応したプロジェクトを作成
• macOS・Linuxならコンソールで(もちろんPower Shellでも)
• #dotnet new mvc –o (プロジェクト名)
• #cd (プロジェクト名)
• #dotnet run // Ver2.0からrestore不要
最近
• Razor クラス ライブラリ
• GDPR対応
• SignalR
• Entity Framework Core
PM> Install-Package Pomelo.EntityFrameworkCore.MySql -Version 2.1.2
ASP.NET MVC 5から移行
• 考えたくない
• 大枠は共通しているがライブラリ次第(.NET Standard対応してい
ないと・・・)
• 認証回りなどは要書き換え
• .NET Coreが成熟すれば簡単に移行できると信じていたころもあ
りました
.NET Standard
おさらい
• Xamarin・.NET Framework ・ Mono・UWP・.NET Coreなどのプ
ラットフォームで共通して利用できるdllを作成
• Portable Class Librariesの拡大版みたいなもの(ざっくり)
おさらい
.NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0
.NET Core 1 1 1 1 1 1 1 2.0
.NET Framework 4.5 4.5 4.5.1 4.6 4.6.1 4.6.1 4.6.1 4.6.1
Mono 4.6 4.6 4.6 4.6 4.6 4.6 4.6 5.4
Xamarin.iOS 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.14
Xamarin.Mac 3.0 3.0 3.0 3.0 3.0 3.0 3.0 3.8
Xamarin.Android 7.0 7.0 7.0 7.0 7.0 7.0 7.0 8.0
https://docs.microsoft.com/ja-jp/dotnet/standard/net-standard
最近
• Visual Basic のサポート
• .NET Framework ライブラリのサポート?
• その他細かい改善多数
• 基本的にバージョンが高いほど機能が広くなるが、サポートす
るプラットフォームが少なくなる
Xamarin
おさらい
• C#でAndroid・iOSアプリを作成(ほかにはUWP・macOS)
• ちゃんとやるならmacが必要
導入
• Visual Studioならオプションで
• Visual Studio for Macでもオプションで
最近
• Support for Xcode 10
• コード共有オプションが .NET Standard
• Xamarin.Android Designer
• Xamarin.Forms Previewer
• Xamarin Live Player(Visual Studio 2017 15.5.0)
Unity
おさらい
• マルチプラットフォームなゲーム開発ができるツール
• XamarinのDIコンテナではない方
• 細かいバージョンアップが頻繁で最新はUnity 2018.2.9f1
最近
• スクリプタブルレンダーパイプライン
たぶんすごい、アプリ毎に固定だったものを制御できたり、自前で作れたり
• Shader Graph
たぶんすごい、これまでは有料のアセットで実現
• Unityエディタ日本語対応
• Visual Studio for Mac Tools for Unity
• C#6 / .NET Standard 2.0
まとめ
おさらい
• クロスプラットフォーム対応が進む.NET
• Microsoftが自社プラットフォームだけで戦った時代がありましたよ
ね(遠い目)
• あの敗北があったから今の展開があると思うと胸に・・・(おっさん
の昔語りが始まる気配)
ご静聴ありがとうございました

.NETの最近