トップQs
タイムライン
チャット
視点
.NET
.NET Foundationが開発したソフトウェアフレームワーク ウィキペディアから
Remove ads
.NET(ドットネット、旧称 .NET Core)は、.NETを実装したFOSSのクロスプラットフォームマネージソフトウェアフレームワークである[4]。.NET 5以降は、.NET FrameworkおよびXamarin/Monoの機能が統合され、それらの後継にもなっている。[5]
![]() |
Remove ads
.NETの実装には.NET FrameworkやXamarin/Monoが存在する[6]。.NET Coreはクロスプラットフォームを特徴としてMicrosoftが開発を主導している.NET実装の1つである[6]。Windows・Linux・macOS等に対応している[7]。.NET Coreの基盤上では以下のタイプ(シナリオ)のアプリケーションを開発できる。
- Webアプリ(ASP.NET Coreによる)
- コマンドラインアプリ
- ライブラリ
- GUIアプリ(Windows限定)
- ユニバーサルWindowsプラットフォーム (UWP) アプリ - .NETネイティブ
- デスクトップアプリ (Windows Forms / WPF)
.NET Coreはモジュラーでもあるため、開発者は.NET CoreをアセンブリではなくNuGetパッケージにしてもよい。.NET FrameworkはWindows Updateにより更新されるが、.NET Coreの更新はそのパッケージマネージャに依存する[8][9]。
Remove ads
機能
![]() |
![]() | この節の内容の信頼性について検証が求められています。 |
![]() | この節には独自研究が含まれているおそれがあります。 |
.NET Coreはフレームワークとして、実行環境のような下位レイヤーからUIフレームワークのような上位レイヤーまで様々な機能を提供する。以下は機能の例である。
- プログラム実行環境(CoreCLRによるマネージコード実行環境)
- ポータブル実行ファイル(各言語から共通中間言語へのコンパイルが可能にする持ち運べる実行ファイル)
- 型/クラスライブラリ(標準ライブラリ = 言語仕様以上の型/クラス提供 by CoreCLR & CoreFX)
対応言語
.NET では以下の3つの言語を公式的にサポートしている[10]。
実装
.NETは共通言語基盤 (CLI) の元となっている仕様であり、.NET CoreはCLIの実装になっている[11]。
.NET CoreのランタイムはCoreCLRである[12]。CoreCLRはガベージコレクタ、JITコンパイラ(RyuJIT)、プリミティブな型/クラスライブラリからなっている[13][14][注釈 1][注釈 2][15]。またランタイムに必要な型/クラスライブラリに追加して、フレームワークとして規定する型群としてCoreFXが.NET Coreには含まれる[16]。CoreFXはFramework Class Libraryの一部をフォークしたものである[17]。
.NET Coreと.NET FrameworkはAPIを一部共有しているが、.NET Coreには.NET Frameworkに存在しない固有のAPIが搭載されている[8]。.NET Coreライブラリの派生物はUWP用に利用されている[18]。.NET Coreのコマンドラインインタフェースは、オペレーティングシステムには実行エントリポイントを、開発者にはコンパイルやパッケージ管理などのサービスを提供する[19]。
ランタイム
.NETは複数のランタイムを利用できる。以下は .NET 7 における対応ランタイムである[20][21]。
- CoreCLR
- Monoランタイム: .NET規格実装の1つであるMonoに由来するランタイム。
- NativeAOT: AOTコンパイルに特化したランタイム[22]。開発段階ではCoreRTと呼ばれ .NET 7 より正式導入された[21]。
これらは目的に応じて使い分けられる。例えば iOS はAOTコンパイル前提でありMonoランタイムが利用される。
Windows系UI専用ライブラリ
もともと.NET Coreはクロスプラットフォームを前提とするフレームワークであり、.NET Core 3よりも前のバージョンでは、Windowsのデスクトップソフトウェア用の標準GUIを提供するためのWindows FormsとWPFが実装されていなかった[8][9]。2018年にマイクロソフトは、デスクトップ技術であるWindows Forms、WPF、UWPを.NET Core 3からサポートすることを公表した[23]。.NET Core 3.0では、Windows版に限りWindows FormsおよびWPFのサポートが提供されるようになった[24]。
Remove ads
バージョン
サポート期限
長期サポート版(LTS)はJavaと同じく2年ごとにリリースされているが、Javaのプレミア・サポートが5年、延長サポートがその次の3年[34]と比べて、.NETは3年[25]と短く、長期サポート版を使い続けるには、長期サポート版がリリースされる度に1年以内に乗り換えないといけない。UbuntuとRed Hat Enterprise Linuxも.NETの長期サポート版の独自サポートを行っていて[35]、Red Hat Enterprise Linuxのサポート期限は同じく3年だが[36]、Ubuntuは長期サポート版OSのサポート期限(最長12年)までサポートを行う[37]。
脚注
外部リンク
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads