Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unity開発者に伝えたい.NETのこと

 Unity開発者に伝えたい.NETのこと

2019/07/20(土)にUnity Technologies Japan様開催された

「Unity++~ ショートセッション勉強会 presented by Unity部~」で発表した

「Unity開発者に伝えたい.NETのこと」の発表資料です

RyotaMurohoshi

July 20, 2019
Tweet

More Decks by RyotaMurohoshi

Other Decks in Technology

Transcript

  1. 2016年 春 Unityが.NET Foundationに参加 2017年 夏 Unity 2017.1リリース 「.NET 3.5

    Equivalent」に加え「.NET 4.6 Equivalent」がExperimentalとして選べるように 2018年 初夏 Unity 2018.1リリース 「.NET 4.x Equivalent」がExperimentalでなく安定版に 2018年 冬 Unity 2018.3リリース 「.NET 4.x Equivalent」がデフォルトに、「.NET 3.5 Equivalent」は非推奨に 2019年中 Unity 2019のリリースサイクル中 「.NET 3.5 Equivalent」が利用不可能になる予定
  2. Scripting Runtime VersionとApi Compatility Levelの選択肢 .NET 3.5 Equivalent .NET 4.x

    Equivalent .NET 2.0 .NET 2.0 Subset .NET 4.x .NET Standard 2.0
  3. .NET 4.xを選ぶ場合 • .NET Framework 4.xの APIすべてが提供されている • API として提供されているが、すべてのプラットフォームで

    動くわけではない。 実行時にエラーになることも • ビルド成果物のサイズが⼤きくなる • これを選んだ時、.NET Standard 2.0 向けのライブラリも使える
  4. .NET Standard 2.0を選ぶ場合 • .NET 4.xで提供されたAPIの内、こちらには無いAPIもある • ビルド成果物のサイズを小さくできる • 開発に.NET

    Standard 2.0向けのライブラリを使える 公式ブログより 「このプロファイルは、Unity が対応しているすべてのプラットフォームで機能するようになります。」 https://blogs.unity3d.com/jp/2018/03/28/updated-scripting-runtime-in-unity-2018-1-what-does-the-future-hold/ 機能する?すべてのAPIがすべてのプラットフォームで使えるわけではないと思う
  5. 比較表 .NET 4.x .NET Standard 2.0 提供されているAPIの数 比べると多い 比べると少ない ビルド成果物のサイズ

    比べると大きい 比べると小さい .NET Standard 2.0 の外部ライブラリは? 使える 使える
  6. .NET実装はいくつかある • .NET Framework • .NET Core • Mono •

    UWP • Xamarin.Mac • Xamarin.Android • Xamarin.iOS • Unity
  7. .NET Standard • 「.NET実装」が提供すべきAPIの⼀覧、仕様 • 仕様であり、APIの実態があるわけじゃない • ライブラリ開発者は.NET Standard向けにライブラリをつくれる •

    実装すべきであって、必ず正しく実装されているわけじゃない • プラットフォーム的に、「それはできない」ってAPIもある
  8. .NET Standard • .NET Standardはバージョンを持つ • バージョンアップごとにAPIが増えている • 1.0で7949個のAPI •

    1.6で13501個のAPI • 2.0で32638個のAPI • 新しい.NET Standardのバージョン向けのライブラリだと、ライブラリ開 発にたくさんのAPIを使える • ライブラリ開発者は、.NET Standard 1.0向け、.NET Standard 2.0向けみた いな感じでライブラリをつくれる
  9. .NET Standard 1.0向けライブラリ Unity 2018.1、.NET Core 1.0、.NET Framework 4.5、Mono 4.6以上などで使える

    .NET Standard 2.0向けライブラリ Unity 2018.1、.NET Core 2.0、.NET Framework 4.6.1、Mono 5.4以上などで使える ※.NET Frameworkは4.7.2以上がおすすめ ライブラリで.NET Standardのバージョンを上げると、 ライブラリ開発で使えるAPIは増えるけど 古いバージョンの.NET 実装でそのライブラリを使えなくなる