Microsoft Build 2019レポート 1日目セッション〜「.NET Overview and Roadmap」

build2019_entrance

こんにちは、サイオステクノロジー技術2部の水倉です。
Microsoft Build 2019 初日のセッション「.NET Overview and Roadmap」をレポートします。
build2019_dotnet_session
(※) 会場超満員でモニタまでの距離が離れていたこともあり、写真の映りが悪い点はご容赦ください・・・
 
.NET はあらゆるプラットフォームをサポートしているとのメッセージから始まり、各プラットフォームにおける技術キーワードの説明と新機能、最後に .NET のロードマップが示されましたので紹介します。
build2019_dotnet_overview

ビッグデータ

みんな大好き Apache Spark といえば、使用言語は Scala、Java、Python、R 辺りが選択肢になっていますが、.NET でも使えるようになります。Azure Databricks、Azure HDInsight でプレビュー利用可能です。
気になる性能は、Scala よりはベンチマークスコアが落ちるものの、Python より高く、実用的な性能と思われます。GA が待ち遠しいです。
build2019_spark_on_dotnet

機械学習

ML.NET 1.0

オープンソース、クラスプラットフォームの ML フレームワークです。
ML.NET Model Builder (プレビュー) を使用することでシンプルなUIでモデルを生成できます。学習用のコードも自動生成することができ、お手軽感に驚きました。

モバイル開発

Xamarin を使うことで OS、Android、macOS、watchOS、tvOS 向けのアプリを .NET で実装でき、クロスプラットフォームで動作する .NET 環境「.NET Standard」をベースにしたアーキテクチャによって実現されています。
(モバイル開発の中の話だったか記憶が曖昧ですが)Visual Studio 2019 が Visual Studio 2017 よりもパフォーマンスが向上したことも紹介されました。インストール速度が 2 倍、ソリューション作成〜ビルドにかかる時間も 2 倍速いとのこと。後者はデモで披露してくれました。

Windows デスクトップ

.NET Core 3.0 preview 5 がアナウンスされました。

  • WPF、Windows フォームを使ったデスクトップアプリ開発のサポート
  • 自己完結型のデプロイなどフレキシブルなデプロイのサポート
    • 自己完結型のデプロイは .NET Core ランタイムや依存関係モジュールも含めて展開されるため、実行環境の .NET Core バージョンに関係なく動作できます。
  • 性能の大幅な改善
    • 性能改善は別セッションでも強調されていました。
  • C# 8.0 サポート

C# 8.0

Ranges (array[begin..end]) やインタフェースのデフォルト実装など、C# 8.0 の新機能へのサポートがざざっと紹介されました。

Web & microservices

ASP.NET Core 3.0 Blazor

  • フルスタック Web アプリケーション開発のサポート
    • サーバサイドもクライアントサイドも C# + Razor で実装できます。いわゆる Blazor ですね。
  • 全てのブラウザで動作可能
    • クライアントサイドでも強い型付け
    • サーバサイド/クライアントサイド双方でコードをシェアできる
  • WebAssembly のプレビューサポート
    • WebAssembly はブラウザプラグイン不要でネイティブ実行可能とする技術。トランスパイルすることなくネイティブ実行されるため、性能向上が期待できます。

.NET ロードマップ

.NET 5 が唯一のフレームワークに

現状の .NET を取り巻く環境は、

  1. .NET Framework
  2. .NET Core
  3. Xamarin

と 3 系統ありますが、今後のロードマップで全て .NET 5 に引き継がれます。
将来的には .NET 5 が唯一のフレームワークになるので、.NET Core と .NET Framework の違いなどを意識する必要もなくなります。.NET 5 は .NET Core の次期バージョンに位置付けられています。すでに .NET Core に多くの .NET Framework 機能がサポートされつつありますので、今後は Xamarin も含めて全ての機能を取り込む形で、.NET 5 としてリリースされることになります。
build2019_dotnet5

将来サポートされない機能について

Web フォーム、WCF サーバ、Windows ワークフローは .NET Core ではサポートされず、将来的なポーティングも計画されていないとのこと。
それぞれへ推奨される対策についても言及されていました。

  • Web フォーム
    → ASP.NET Blazor への移行 (移行ガイドが提供される予定とのこと)
  • WCFサーバ
    → gRPC への移行(こちらも移行ガイドが提供される予定)
  • Windows ワークフロー
    → OSS の Core WF への置き換え

.NET のリリーススケジュール

気になる .NET 5 のリリース時期は 2020 年 11 月(予定)とのこと。
.NET Framework は v4.8 が最終リリースとなり、メンテナンスは継続されますが、新機能の追加は行われません。

メジャーバージョンのリリースサイクル 1年ごと
Long Term Support (LTS) ポリシー 偶数メジャーバージョンが LTS
(※) .NET Core は 3.1 が LTS

build2019_dotnet_roadmap
.NET Core への統合が思った以上に速いペースで進んでいるのに驚きました。しばらく過渡期にはなりますが、将来的にシンプルになりますね。

 

STI 水倉
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です