Microsoftの.NET 8とAspireのMac向けクラウド対応ツールがリリースされました

Microsoftの.NET 8とAspireのMac向けクラウド対応ツールがリリースされました

.NET FrameworkはWindowsとMacのクロスプラットフォーム開発を可能にし、Microsoftは11月に両プラットフォーム向けのバージョン8をリリースしました。開発者にとって、これが何を意味するのか、以下に解説します。

1990年代後半、マイクロソフトはデスクトップおよびWeb開発向けの新しいフレームワーク、言語、ランタイムサポートの開発に着手しました。これは.NET(「ドットネット」と発音)と呼ばれています。新しい言語には、C#(Cの派生言語)、F#、そしてVisual Basic.NET(略して「VB.NET」)と呼ばれるMicrosoft Visual Basicの新バージョンが含まれていました。

Microsoft は 2000 年の開発者会議で C# の正式リリースを発表しました。

その後まもなく、マイクロソフトはISOおよびEcma Internationalを通じて、共通言語基盤( CLI)と呼ばれるものの開発と標準化を開始しました。CLIの背後にある考え方は、マイクロソフトが開発したすべての言語に共通の基盤を提供することです。

CLI は、特定のソフトウェアを構築するためにどの言語やテクノロジが使用されたかに関係なく、一貫したランタイム動作を提供するように設計されています。

Microsoft の共通言語ランタイム (CLR) は、Microsoft コンパイラと同様に、部分的に CLI に基づいています。

C#は、CやC++の先行言語に比べて大きな利点を持っています。C#のソースファイルは自己完結型であり、各ソースコードファイルの先頭にC/C++ヘッダーファイル(.h)を含める必要がなくなりました。C#には、開発時間、コードサイズ、複雑さを軽減するためのその他の簡素化機能も備わっています。

2002 年に、マイクロソフトは、単にActive Server Pages (ASP)と呼ばれていたマイクロソフトのオリジナルの Web サーバー フレームワークに代わる、Web サーバーおよびクラウドベースの開発フレームワークであるASP.NETフレームワークも発表しました。

.NET コア

2014 年に Microsoft は.NET Coreと呼ばれる .NET の新しいバージョンを導入し、その後 2020 年に .NET 5 を導入しました。さらにバージョンが続き、2023 年 11 月 14 日に Microsoft は現在の最新バージョンである .NET 8 のリリースを発表しました。

.NET Core は、Windows、Mac、Linux システム上でクロスプラットフォームおよび Web 開発を可能にするように設計されています。.NET は現在、インストール可能なランタイム、SDK、.NET Core ライブラリ、および Windows 上の Visual Studio IDE (統合開発環境) で構成されています。

以前は Visual Studio の Mac 版がありましたが、Apple プラットフォームの開発のほとんどが Apple 独自の IDE である Xcode を使用して行われるようになったため、Microsoft によってキャンセルされました。

.NET Core バージョン 9 の次のバージョンは、2024 年後半にリリースされる予定です。

.NET マウイ

.NET MAUI (マルチプラットフォーム アプリ UI) は、 2021 年に .NET 6 で導入され、iOS および Android 向けのモバイル アプリや、C# を使用したデスクトップ アプリの構築に使用できます。

MAUIは、オープンソースのXML Web標準から派生した、MicrosoftのオープンなXAML(Extensible Application Markup Language)を使用しています。XAMLはMicrosoftのOpen Specific Promise(MOSPテクノロジーのサードパーティによる使用に関してMicrosoftが訴訟を起こさないという宣言)に基づいています。

さらに混乱を招くのは、XAML が他のさまざまな Microsoft フレームワークやテクノロジでも使用されていることです。

  1. WPF (Windows プレゼンテーション ファウンデーション)
  2. WF (Windows フォーム)
  3. ウィンUI
  4. UWP(ユニバーサル Windows プラットフォーム)

UWP は、Windows 10、10 Mobile、Xbox One および Series S/X、HoloLens アプリに単一の統合テクノロジを提供するために Windows 10 で導入されました。

XAML 要素と属性は CLR プロパティとイベントにマップされます。

XAML は、.BAML 拡張子を持つ Microsoft のBAML (Binary Application Markup Language) ファイルにコンパイルすることもできます。これにより、上記のテクノロジからの出力を .NET フレームワーク アセンブリに挿入し、後で .NET ランタイムによって抽出および読み込むことが可能になります。

BAML は、ヒントやトークンを XAML に効果的に挿入し、事前 (AOT) コンパイルを使用してコードの実行前分析を実行するため、読み込みと実行が高速になります。

2003 年の Visual Studio .NET の初期の Academic バージョン。

2003 年の Visual Studio .NET の初期の Academic バージョン。

.NET 8の新機能

.NET 8にはいくつかの新機能が導入されていますが、最も重要なのは、Microsoftの新しいクラウド対応フレームワークとツールであるAspireです。これらはまだプレビュー段階です。Aspireは「新しいクラウドスタック」と称され、マルチクラウド開発を簡素化するように設計されており、可観測性や回復力といった機能を備えています。

Microsoft のメイン .NET GitHub ページにも Aspire リポジトリがあります。

Aspire は、C# と HTML でのアプリ開発をサポートする Microsoft のクライアントサイド Web アプリ テクノロジー「Blazor」も採用しています。Blazor は現在、人気の WebAssembly とハイブリッド デザインもサポートしています。

Blazor と WebAssembly は、ユーザーの Web ブラウザーにダウンロードして実行できるシングルページ Web アプリを提供することで Web サイトの速度を向上させ、ネットワーク遅延によるページと要素の読み込み時間を短縮します。

Aspire は、Redis Web キャッシュ システムのほか、さまざまなデータベース用の Web コンポーネント、RabbitMQ メッセージング システム、Microsoft 独自の Azure Web テクノロジ、Open Telemetry、PostgreSQL も使用します。

テレメトリは、ログ、メトリック、パフォーマンス動作を自動的にエクスポートできる、可観測性に関連付けられたソフトウェア機能です。

.NET 8 では、NuGet パッケージ、改善された JSON シリアル化、メモリ ガベージ コレクション、Linux 上の .NET、WPF および診断の改善などもサポートされるようになりました。

全体として、Microsoft のWhat's New in .NETページには 18 個の新機能が記載されています。

Aspire の興味深い点の 1 つは、ソリューションが最初に .NET 8 に完全にアップグレードされることを前提として、既存の .NET ソリューション (プロジェクト) に Aspire サポートを追加できると Microsoft が主張していることです。

Aspire の一般提供は 2024 年春に予定されています。

Microsoftは、.NET 8のリリースに合わせてWindows版Visual Studio 17.8もリリースしました。Azure AI StudioをベースとしたVisual Studio向けの新しいローカル専用AIツール「Windows AI Studio」も、今後数週間以内にリリースされる予定です。

.NETの入手とインストール

Mac では、Microsoft の Web サイトや .NET ページからコンポーネントをダウンロードして .NET をダウンロードしてインストールすることも、コンテナー イメージをダウンロードしてそれを使用して完全な環境をインストールすることもできます。

ASP.NET Core のダウンロード ページもあります。

Microsoft には、.NET ランタイム、.NET Core、asp.net Core、.NET SDK、C# および Visual Basic 用の .NET コンパイラ (コードネームは「Roslyn」)、F# コンパイラ、デスクトップ アプリを構築するための Windows フォーム、およびドキュメント用の何百もの Git リポジトリを含む完全な .NET GitHub ページもあります。

msbuild リポジトリには、コンパイラ、Visual Studio、およびプロジェクトのビルド用のコマンド ライン インターフェイスで使用される Microsoft ビルド エンジンが含まれています。

あるいは、macOS で Homebrew パッケージ マネージャーを使用して、Homebrew .NET 式を使用して .NET をインストールすることもできます。

brew install dotnet

これはbrew install dotnet.NET 8 の新しい数式であり、2 つの古い .NET Homebrew 数式と競合することに注意してください。

  1. brew install --cask dotnet(ランタイム)
  2. brew install --cask dotnet-sdk(SDK)

Homebrew フォーミュラのドキュメント ページによると、2 つの古い cask フォーミュラは Apple Silicon Mac をサポートしていませんが、新しい .NET 8 フォーミュラはサポートしています。

Windows .NET 8 をインストールする場合は、Windows コンピューターにダウンロードしてインストールする必要がある別の .NET デスクトップ ランタイムもあります。

サポートされているすべてのプラットフォームには個別のダウンロード ページがあります。

全体的に .NET 8 は有望に見え、Microsoft が Aspire プロジェクトを進めれば、マルチクラウド開発がより簡単になることが期待されます。

また、 dotnetconf.net のオンライン仮想イベントでは、.NET チュートリアルもご覧いただけます。また、同サイトには YouTube チャンネルも開設されており、.NET 入門ビデオも多数公開されています。