kledgeb UbuntuやLinuxの最新情報を紹介

.NET Core その63 - .NET Coreの将来と.NET 5・.NET Frameworkから.NET Coreへ

.NET Coreの将来と.NET 5

先ほど紹介した通り「.NET Core 3.0.0 Preview 5」がリリースされました。
「.NET Core 3」以降「.NET Core」が向かう未来が以下で紹介されています。


  • Introducing .NET 5

.NET 5

「.NET Core 3」の次に控えるメジャーリリースは、「.NET 5」になります。
「.NET 5」は単一のプラットフォームとなり、「.NET 5」の一環として新しい「.NET API」、ランタイム機能、言語機能が導入される予定です。

「.NET Core」プロジェクト開始以来、約5万の「.NET Framework API」が「.NET Core」プラットフォームに追加されてきました。
「.NET Core 3.0」では「Windows Forms」「WPF」「Entity Framework 6」のサポート含め「.NET Framework」との乖離が小さくなっています。
「.NET 5」はこの成果を元に構築されます。

.NET 4はスキップ

「.NET Framework」のLTSリリースで「.NET Framework 4.x」をバージョン番号に使用しているため、ユーザーの混乱を避けるためにも「.NET 4」を飛ばし、「.NET Core 3.0」の次に「.NET 5」を設定しています。
また「.NET 5」は「.NET」プラットフォームの未来であることをはっきりと表現するため、という意図も含まれています。

.NET 5のリリース予定

「.NET 5」は2020年11月にリリースを目指し開発が行われます。
最初のプレビュー版「.NET 5」は、2020年前半リリースされる予定です。
「.NET Core 3.0」も含めたリリーススケジュールは、以下のようになります。

.NET Core/.NET スケジュール
.NET Core 3.0 RC 2019年7月
.NET Core 3.0 GA 2019年9月
.NET Core 3.1 LTS 2019年11月
.NET 5.0 GA 2020年11月
.NET 6.0 LTS 2021年11月
.NET 7.0 GA 2022年11月
.NET 8.0 LTS 2023年11月

「.NET」は毎年メジャーリリースが行われ、偶数バージョンはLTSリリースになります。

.NET 5は.NET Core vNextである

「.NET 5」は「.NET Core vNext(Next version of .NET Core)」であり、「.NET Core」の次のメジャーバージョンになります。
「.NET 5」プロジェクトは、以下の目標を持ちます。

  • 単一の.NETランタイムとフレームワークを構築し、様々なプラットフォームをサポートし、統一された振る舞いを行うランタイムと統一された使い勝手を開発者に提供します。
  • 「.NET Core」「.NET Framework」「Xamarin」「Mono」の優れた点を取り入れ、「.NET」の機能を拡張します。
  • Microsoftとコミュニティーが連携し、共に発展及びすべてのシナリオを改良できるよう、プロダクトを構築していきます。

開発しているアプリの種類を問わず「.NET 5」で開発されたコード及びプロジェクトファイルは、同じ見た目や間隔を提供します。
開発者は各種アプリで同じランタイム、API、言語機能にアクセスできます。

Coreという名称が外される

「.NET Core」がメインストリームとなり、今後「.NET」プラットフォームが向かう唯一の未来であるため、「.NET Core」から「Core」が削除され、名称がシンプルになりました。
ちなみに「.NET Core」という名称が好みなら、引き続き気軽に「.NET Core」という名称を使用してくれて構わないとのことです。

.NET Coreから引き継ぐ機能や方針と新たに導入する機能

「.NET 5」は「.NET Core」から引き継ぐ機能や方針と新たに導入する機能があります。

.NET Coreから引き継ぐ機能や方針

「.NET 5」は「.NET Core」から以下の機能や方針を引き継ぎます。

  • オープンソースでありGitHub上でコミュニティーを重視した開発を行う
  • クロスプラットフォームで実装する
  • Windowsにおける「Windows Forms」や「WPF」、「Xamarin」由来のネイティブバインディングなどプラットフォーム固有の機能をサポートする
  • 優れたパフォーマンス
  • サイドバイサイドによるインストール
  • プロジェクトファイルの小型化
  • CLI(コマンドラインインターフェース)のサポート
  • Visual Studio/Visual Studio for Mac/Visual Studio Codeとの統合 
 

新しく導入する機能

「.NET 5」は以下の新たな機能を導入します。

  • ランタイムエクスペリエンスの選択肢を増やす(Mono/CoreCLR)
  • すべてのプラットフォームで「Java」との相互運用をサポートする
  • 複数のOSで「Objective-C/Swift」との相互運用をサポートする
  • 「CoreFX」は「.NET」の静的コンパイル(ahead-of-time/AOT)、フットプリントの縮小、より多くのOSをサポートするため拡張する

.NET Framework 4.8が最後のメジャーバージョンに

「.NET Framework」は「.NET Framework 4.8」が最後のメジャーバージョンになります。

  • .NET Core is the Future of .NET 

サポートは継続される

すでに「.NET Framework」上で動作しているアプリを開発・保守しているなら、「.NET Core」へ移行する必要はありません。
「.NET Framework」は引き続きサポートが提供されます。
不具合の修正や安定性の改善及びセキュリティーアップデートが継続的に提供されます。

また「Windows」コンポーネントの多くが「.NET Framework」に依存しているということもあり、引き続き「Windows」に同梱されて出荷されます。
例えば「Visual Studio」は「.NET Framework」で記述されています。
加えて「Visual Studio」のツール群もサポートの改良が継続的に行われます。

ただし新機能の実装や仕組みの改善等は「.NET Core」に対して行われるため、それらの機能を活用するには、「.NET Core」へ移行する必要があります。

新しいアプリは.NET Coreベースへ

その一方で「.NET Core 3.0」リリース以降は、新しい全ての「.NETアプリケーション」は 「.NET Core」ベースの開発が強く推奨されます。
「.NET Framework」で開発可能な主要なアプリケーションタイプは、「.NET Core」でもサポートされます。

また今後将来的に「.NET」に対して行われる投資は、以下のものを含みすべて「.NET Core」 に注がれます。

  • Runtime
  • JIT
  • AOT
  • GC
  • BCL (Base Class Library)
  • C#
  • VB.NET
  • F#
  • ASP.NET
  • Entity Framework
  • ML.NET
  • WinForms
  • WPF
  • Xamarin

.NET Core
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 22.04 その98 - 入力ソースとキーボートレイアウトと日本語入力のカスタマイズ
    入力ソースとキーボートレイアウトと日本語入力 「Ubuntu」ではユーザーが利用しているキーボードレイアウトや日本語入力のカスタマイズが可能です。
  • Ubuntu 20.04 その74 - UbuntuとUEFIセキュアブート
    UbuntuとUEFIセキュアブート 「Ubuntu」と「UEFIセキュアブート」に関するお話です。
  • Ubuntu 22.04 その64 - Windows/Linux/macOSでUbuntu 22.04 LTSのライブUSBメモリーを作るには
    Ubuntu 22.04 LTSのライブUSBメモリーを作る方法 Windows/Linux/macOSでPC向け「Ubuntu 22.04 LTS」のライブUSBメモリーを作る方法を紹介します。
  • Ubuntu 22.04 その99 - 日本語入力(Mozc)の設定をカスタマイズして作業効率を上げよう
    日本語入力(Mozc)の設定をカスタマイズするには 「Ubuntu」では日本語入力に「Mozc」を採用しています。
  • WSL その219 - WSL 2のLinux kernelをアップデートするには・Linux kernelのバージョンを調べるには
    WSL 2のLinux kernelをアップデートするには 「WSL 2」の「Linux kernel」をアップデートする方法です。
  • Ubuntu gedit その66 - ファイルタイプの識別子について(モードラインプラグイン)
    ファイルタイプの識別子について   「モードライン」プラグインでは、ハイライトモードの モード を指定することができます。   モードオプションに指定する識別子は、モードの種類により異なります。
  • Ubuntu 22.04 その107 - ローカルネットワーク上でフォルダーやファイルを共有するには
    ローカルネットワーク上でフォルダーやファイルを共有するには 「ファイル(Nautilus)」アプリはファイルマネージャーです。 「ファイル」はローカルネットワーク上でフォルダーやファイルを共有する仕組みを提供しており、簡単に他のPCとフォルダーやファイルをやりとりできます。
  • Ubuntuのバージョンと開発コードの対応表
    バージョンと開発コード 「Ubuntu」には各バージョンごとに開発コードが設定されます。
  • Ubuntu 22.04 その120 - UbuntuのブートローダーをBoot Repairで修復するには・Ubuntuが起動しないトラブルを解決
    UbuntuのブートローダーをBoot Repairで修復するには 「Boot Repair」はOSのブートローダーに起因するOSが起動しない問題を簡単に解決してくれるアプリです。
  • Ubuntu 22.04 その354 - 動画や音楽の対応フォーマットを増やすには・動画や音楽が再生できない時は
    動画や音楽の対応フォーマットを増やすには 一部の動画や音楽フォーマットを再生する場合、追加ソフトウェアのインストールが必要になります。
記事のピックアップ
オプション