ちょっと大胆な気分?Microsoftのリリースには.NET 6のGo Liveライセンスも含まれる

Table of Contents

ちょっと大胆な気分?Microsoftのリリースには.NET 6のGo Liveライセンスも含まれる

Microsoft は、.NET テクノロジ スタックのプレビューの新たな波をリリースしましたが、今回は、勇気あるユーザーが本番環境に展開できるようにする .NET 6 の Go Live ライセンスが含まれています。

.NET 6は、2019年12月の.NET Core 3.1以来となる長期サポート(LTS)リリースであるため、重要な意味を持ちます。つまり、Microsoftが.NETを「統合」して以来、初のLTSリリースとなります。Microsoftは、偶数リリースはすべてLTSリリース、つまり2年に1回のリリースを計画しています(JavaもこのLTSリリースサイクルに追いつく可能性があります)。

.NET 6 RC1 は製品版でサポートされていますが、プログラム マネージャの Richard Lander 氏は、関心のある企業は Microsoft に電子メールで連絡してガイダンスを受けるべきだと述べ、これが主流の選択肢となることは予想されていないことを示唆しています。

ランダー氏は、前回のプレビュー以降、言語やコンパイラに新しい機能は追加されていないと述べたが、Linuxディストリビューションの要件に準拠するために、Microsoftのビルドプロセスの一環として、ソース tarball(単一のアーカイブ ファイルにパッケージ化されたソース ファイル)を自動的に作成するためにRed Hatと協力して行った作業については言及した。

また、.NET SDKのオプションの割合が増加していると述べました。.NET 6.0では、MAUI(マルチプラットフォームアプリUI)、Android、iOS、WebAssemblyのサポートは、「SDKワークロード」としてSDKとは別に提供されます。

ランダー氏は、将来のバージョンでは「SDK に MSBuild、NuGet、言語コンパイラ、ワークロード取得機能だけが含まれるようになると想像できる」と述べた。

ランタイムの機能自体は変更されていませんが、ASP.NETでは同じことが当てはまりません。プリンシパルプログラムマネージャーのダニエル・ロス氏は、新しいプレビューに含まれる18の主要な新機能またはアップデートを挙げました。

1つはJavaScriptからBlazorコンポーネントをレンダリングする機能です。Blazorは、WebユーザーインターフェースとクライアントサイドコードをC#でコーディングするためのフレームワークであり、WebAssembly経由でブラウザで実行するか、WebSocket経由で更新を配信するサーバー上で実行できます。この新機能により、ReactやAngularなどの他のJavaScriptフレームワークとの統合が可能になります。

Blazor Server の WebSocket 通信に使用される SignalR フレームワークは、WebSocket が利用できない場合、サーバーへのポーリングにフォールバックしますが、これは非常に低速な手法です。.NET 6 では、「Blazor Server アプリのロングポーリングトランスポートをデフォルトで無効にしました」と Roth 氏は述べ、ユーザーにとってパフォーマンスの低下に悩まされるよりもエラーが表示される方がよい可能性があることを示唆しました。

ASP.NET Minimal API にもいくつかの改善が加えられており、ここで最初に説明されています。

これらのAPIは、動作するWebアプリケーションやAPIを作成するために必要なコード量を削減します。今回のリリースでは、OpenAPIドキュメントを生成するためのAPIが新たに追加されました。また、開発者向け例外ページや設定オプションの設定も簡素化されています。

Minimal APIsの背後にある考え方は、ASP.NETアプリケーションの開発には、フレームワークが動作させるためだけに必要となるコードや、フレームワークが記述しなければならない煩雑な手続きが多すぎるという点にあるようです。以前はC# Webアプリケーションの標準テンプレートの一部であったStartup.csファイルは削除されました。Microsoftは、.NETが精力的な開発にもかかわらず、人気という点では他のフレームワークに後れを取っていることを認識しているのかもしれません。

W3techsによると、ASP.NETはウェブサイトの8.3%を占め、PHPは78.8%を占めています。2010年にはASP.NETのシェアは24.4%でしたが、その後着実に減少しています。

このような数字は、Microsoftが最も重視するエンタープライズカスタムアプリケーションではなく、WordPressなどのPHPベースのコンテンツ管理システムの人気を反映している可能性があるため、慎重に扱う必要があります。しかしながら、.NET開発者の人口統計には、経験豊富な開発者に偏っているように見えるという懸念があります。

  • .NETはもっと速く?マイクロソフトのソフトウェアエンジニアによるモンスター級の投稿で、大幅な改善が明らかに
  • Microsoft は .NET 6 と C# 10 の最新プレビューをリリースしましたが、C# は C++ と同じくらい複雑になりつつあるのでしょうか?
  • マイクロソフト:64ビット版Visual Studioの最初のプレビュー版を破ってみませんか?
  • マイクロソフトは、Visual Studio Tools for Office を .NET Core に移植する要求を「もちろん検討します」から「いいえ」に転換しました。

Minimal API は、使い始めるのを容易にすることで役立つかもしれませんが、これらの変更を適用しても、.NET は PHP の Hello World に必要な 1 行のコードには匹敵しません。

開発者の間でのASP.NETの現状:求められるよりも愛される

開発者の間でのASP.NETの現状:求められるよりも愛される

より肯定的な見方をすれば、ASP.NET開発コミュニティがこのプラットフォームを好んでいるという証拠があります。2021年のStackOverflow調査では、最も愛されているWebフレームワークとしてSvelte(JavaScriptフレームワーク)に次ぐ2位にランクインしました。しかし、「Most wanted」(開発者が学びたい技術の指標)をクリックすると、1位のReact.jsの5分の1の関心しかなく、9位に落ちています。

このプレビューでは、MAUI SDK が更新され、アプリケーションの構築方法(ホストビルダーパターン)が ASP.NET および Blazor と整合するようになりました。また、Android アプリケーションには Android 12 が新たにデフォルトとして追加されました。

Visual Studio 2022 も Preview 4 にアップデートされました。主席プログラム マネージャーの Mads Kristensen 氏は、最大 3 倍高速化された「ファイル内検索」、新しいデバッガー機能、Blazor 開発に関する多くの問題の修正など、いくつかの改善点について説明しました。

ASP.NET Coreでは、ホットリロード(完全な再コンパイルなしで更新する機能)が新たにサポートされました。また、開発者はプロジェクトごとにタブを色分けできるようになりました。これは「特に同じ名前のファイルがある場合に便利です」とクリステンセン氏は述べています。

Visual Studio 2022のタブはプロジェクトごとに色分け可能

Visual Studio 2022のタブはプロジェクトごとに色分け可能

Microsoftは、11月9日に開催される.NET Confオンラインにて.NET 6をリリースする予定です。ランダー氏によると、それまでに別のリリース候補版がリリースされ、こちらもGo Liveライセンスが付与されますが、今回のリリースよりも新機能は少なくなる可能性が高いとのことです。その後はどうでしょうか?ランダー氏によると、カスタムアプリケーション向けのプロファイル・ガイド付き最適化は.NET 7で提供されるとのことですが、.NET 6は「次に来るものの基礎を築くもの」になるとも述べています。

このリリースは、.NET Core をオープンソースのクロスプラットフォーム システムとして確立する作業の完了であり、次のリリースではプラットフォームが「明白な方法と明白でない方法の両方で」前進することになるだろうと彼は主張した。®

Discover More