先週は.NETコミュニティにとってMicrosoftからの複数のリリースもあり波乱に富んだ週だった - .NET 6、ASP.NET Core、MAUI、およびEF Core 6の3番目のプレビューがあった。InfoQはこれらと2021年4月5日の週からの.NETエコシステムのいくつかの小さなストーリーを調査した。
今週のハイライトは、.NET 6プレビューリリースカレンダーの一部としての.NET MAUI Preview 3のリリースだ。このリリースは、Project Reunion 0.5の最近のリリースに続くもので重要であり、早期導入開発者はWinUI 3の最初の安定バージョンを使用できる。新しいMAUIリリースのその他の機能には、改善されたスタートアップビルダ、ネイティブライフサイクルイベント、アクセシビリティの新しいセマンティクス、および更新されたUIコントロールとレイアウトが含まれる。開発チームは、Visual Studio 2019 (Windows) の16.10プレビューで使用できるサンプルプロジェクトとともにリポジトリもリリースした。
.NET 6 Preview 3もリリースされた。これは、ディクショナリ値としての構造体の処理の (新しい安全でないAPIの追加による) 高速化、インターフェイスのチェックとキャストの高速化、RyuJITコードジェネレーションの改善など、低レベルのパフォーマンス機能のみで構成されている。EF Core 6 Preview 3には、コンパイル済みモデルや一時テーブルなど、今後の機能をサポートするためのバグ修正と改善が含まれている。
新しいリリースでは、ASP.NET Coreも大幅に改善された。.NET Hot Reloadの早期サポートが、ASP.NET CoreおよびBlazorプロジェクトで利用できるようになった。この機能を使用すると、実行中のアプリの再起動することなく、また、アプリの状態を失うことなく、コードの変更を適用できる。その他の改善には、より小さなSignalR、Blazor Server、およびMessagePackスクリプト、Radisプロファイルセッション、および新しいHTTP/3エンドポイントTLS構成が含まれる。アイドル状態のTLS接続でもメモリフットプリントが削減され、開発チームはIISのASP.NET Core Moduleにアプリケーションアセンブリのシャドウコピーをサポートする新しい機能を追加した。
Microsoftは、Surface Duo Design Kitドキュメントの変更、Visual Studio 2017および2019の管理者による更新 (WSUSおよびMicrosoft Update Catalogから入手可能)、およびセキュリティ以外の修正を含む.NET 5の更新 (ランタイム、ASP.NET Core、EF CoreおよびWinforms) もリリースした。新しいバージョン (v5.0.5) は、公式の.NET 5ページまたはGitHubから入手できる。
Azureチームは、Azure Communication Services (一般提供) を正式にリリースした。新しいサービスにより、開発者はチャット、音声通話、SMSメッセージング、およびその他の形式のリアルタイム通信をアプリケーションに追加できる。Microsoft Teamsとの相互運用性もサポートされている (パブリックプレビュー)。
Microsoftからのもう1つの関連リリースは、C#言語標準だ。現在はGitHubでオープンソースになっている。Microsoftの.NET Coreコンテンツチームのシニアコンテンツ開発者であるBill Wagner氏によると、この動きの背後にある目的は、最新のC#言語バージョンの標準を文書化するためのパブリックスペースを提供することだ:
.NET Foundationの下で、標準化作業をオープンに移行すると、標準化作業が容易になります。言語のイノベーションや機能の設計から実装、標準化に至るまで、すべてがオープンに行われるようになりました。言語設計チーム、コンパイラの実装者、および標準化委員会の間で質問するのが簡単になります。さらに良いことに、それらの会話は公開されます。最終結果は、C#の最新バージョンのより正確な標準になります。
ソフトウェアのリリースではないが、Microsoftの教育クラウドアドボケイトリーダであるJen Looper氏は「グリーン」なブラウザ拡張機能を構築する方法に関する興味深いテキストを公開した。グリーンソフトウェアエンジニアリングの原則は、グリーンで持続可能なソフトウェアアプリケーションを定義、構築、実行するために必要なコンピテンシーのコアセットだ。記事の中で、Looper氏は「グリーン開発者」であることの意味を説明している:
Asim Hussain氏の持続可能なソフトウェア開発の8原則によると、「グリーン開発者」の目標の1つは、ユーザがカーボンへの影響に有意な影響を与える可能性のある意思決定を支援することです。さらに、グリーン開発者は、ソフトウェア自体のカーボンへの影響に注意する必要があります。ローカルでホストされ、アドホックAPI呼び出しのみを行うカーボン拡張機能は、特に持続可能なアイデアである可能性があります。