.NET 7がエンタープライズアプリケーションにもたらす影響

.NET 7がエンタープライズアプリケーションにもたらす影響
デュアルモニターでコードをレビューしている開発者。
画像: Andrey Popov/Adobe Stock

当初.NET Coreと呼ばれていたものをベースに構築するようになったことで、.NETには大きな変化がもたらされました。オープンソースでクロスプラットフォームになっただけでなく、Windowsのリリースサイクルにも縛られなくなりました。以前は数年ごとにメジャーリリースが行われていましたが、今では毎年1回リリースされ、毎年11月に新バージョンがリリースされるようになりました。

参照:知っておくべきオープンソースと Linux の用語 40 選(TechRepublic Premium)

最新バージョンの.NET 7は昨年末にリリースされ、多数の新機能が追加され、古い.NET Frameworkコードを新しいプラットフォームに移植する手段も拡充されました。パフォーマンスの向上に重点が置かれており、開発ツールからKubernetes用のクラウドネイティブコンテナに直接アクセスできるようになりました。その他の変更点としては、ARMプロセッサのサポート強化が挙げられます。ARMプロセッサの動作をより深く理解することで、ネイティブコードのパフォーマンスが大幅に向上しています。

ジャンプ先:

  • .NETはIntelやAMD以外にも幅広く利用されています
  • .NETはより優れたコードで構築されています
  • クロスプラットフォーム .NET
  • .NET 7 のライフサイクルとアップグレード

.NETはIntelやAMD以外にも幅広く利用されています

デスクトップおよびデータセンターで新世代のARMベースハードウェアの導入が進むにつれ、ARMサポートの重要性はますます高まっています。電力と設置スペースの予算がますます厳しくなる中、ARM搭載サーバーはより少ないスペースでより多くのコンピューティング能力を実現し、高密度化によって既存のオンプレミスデータセンターを最大限に活用することを可能にします。

.NETはx64およびARMプロセッサをサポートするだけでなく、IBMのPowerプロセッサ上でも実行可能です。これにより、既存の.NETエンタープライズアプリケーションを、既存の基幹業務アプリケーションやデータベースと並行して稼働するIBM iSeriesハードウェアを含む既存のPower環境に移行できます。

.NETはより優れたコードで構築されています

今回のリリースにおける主要な成果の一つは、コード構築に使用される基本クラスライブラリの継続的な改善です。その目的は、開発者のスキルを転用可能にすることです。.NETを一度習得すれば、そのスキルはデスクトップアプリからWeb、モバイル、サーバーコードまで、あらゆるものの構築に活用できます。

追加のAPIは、ユーザーインターフェース、Webサーバー、分散アプリケーションなどを提供します。基盤となるプラットフォームのその他の改良により、.NET言語にアプリケーションの構築と実行を支援する新機能が追加されます。

最新のDevOpsプラクティスのサポートは重要であり、.NET 7では、ますます普及しているOpenTelemetry標準をサポートするためのツールがさらに追加されています。OpenTelemetryは、大規模分散アプリケーションで利用される主要なテクノロジーの一つであるため、これは他のクラウドネイティブ機能と並行して行われます。

参照:採用キット: バックエンド開発者(TechRepublic Premium)

クロスプラットフォーム .NET

最新の.NETリリースにおける重要なクロスプラットフォーム機能の一つが、マルチプラットフォームアプリUIであるMAUIです。Xamarinの後継であり、Windows、iOS、Android、macOS Catalystで動作するアプリを配信する手段を提供します。

Xamarin Forms の最新版とも言える MAUI は、モバイルとデスクトップの両方のユーザーインターフェースツールを提供し、独自のコントロールとネイティブコントロールをサポートしています。MAUI を使用すれば、4 つのプラットフォームすべてに対応する単一のコードベースを構築することも可能ですが、OS 固有の機能に直接アクセスすることで、コードが最低限の共通項に縛られるのを防ぐ方が賢明です。

アプリのパフォーマンス向上と新機能の追加を目指して、その他の主要ライブラリもアップデートされました。基盤となる.NET CLIも刷新され、コード用のDockerコンテナの構築など、コマンドラインからより多くの操作を実行できるようになりました。

便利な変更点の一つとして、dotnet new コマンドでタブ補完がサポートされるようになりました。これにより、Web アプリや Windows フォーム アプリから重要なテストまで、あらゆるものの構造と依存関係を迅速に設定できます。タブ補完では、各プロジェクト タイプで利用可能なオプションが表示されるため、必要な機能だけでなく、.NET インストールで現在サポートされている機能も確実にビルドできます。

予算が限られた中でデジタルトランスフォーメーション・プログラムの完了を迫られる組織が増えているため、開発者の生産性向上はますます重要になっています。.NET 7の新機能はこの点に役立つはずです。開発者は、自分の好きなツールを使用して、作業を中断することなくコードを構築できます。

.NETのクロスプラットフォーム基盤は、クラウドネイティブツールの提供を支援し、ほとんどのクラウドプラットフォーム上のKubernetesで使用できるLinuxコンテナでコードを提供します。ASP.NET Coreなどのツールはプラットフォームと同じサイクルで更新されるため、コード用のWebフロントエンドを提供するための代替手段となり、スケーラブルな手段となります。

Microsoftは、Blazor Web開発ツールを用いて、.NETベースのWebAssemblyコードの実験を行ってきました。この技術はまだ初期段階ですが、.NET 7ではサポートが強化され、WebAssemblyアプリのデバッグを支援するツールセットが提供されています。.NETコードをブラウザでバイナリに近い速度で実行できる機能は重要です。JavaScriptの代わりに、.NET UIコントロールと接続機能を活用できるようになるからです。クラウドネイティブの世界では、コンテナの代替としてWebAssemblyの重要性が高まっているため、.NET 7を使ってWebAssemblyの経験を積むことは、時間をかけるだけの価値があります。

.NET 7 のライフサイクルとアップグレード

.NET 7 に関して注意すべき点が 1 つあります。奇数リリースであるため、標準サポート期間のみのリリースとなります。つまり、サポート期間は 18 か月です。そのため、2023 年後半にリリースされる .NET 8 では、.NET 7 アプリケーションを .NET 8 にアップデートする準備をしておきましょう。移行には 6 か月かかりますが、互換性を破る変更に備えて、プレビューリリースと比較してコードベースを定期的に確認することをお勧めします。

新リリースには、古い.NETアプリを最新プラットフォームに移行するためのアップグレードアシスタントが含まれています。.NET Foundationツールのコミュニティ版もサポートされており、レガシーアプリケーションを新しいプラットフォームに移行するのに役立ちます。また、Microsoft APIもサポートされています。サポートされる主要ツールの一つは、デスクトップアプリと基幹業務サービスを連携させるために使用される、Windows Communication Frameworkの新しい実装であるCoreWCFです。

Microsoftは.NET 7を「モダン」と表現していますが、まさにその通りです。20年にわたるレガシーな.NET Frameworkを捨て、同じ名前を持つ全く新しいプラットフォームを採用したことは、後方互換性の確保で知られるMicrosoftにとって、勇気ある決断でした。新しい.NETのリリース3回を経て、私たちは古いツールのコミュニティ版のアップデート版に加え、かつてのMicrosoftでは何年もかけて提供されていたであろう新機能も手に入れることができるのです。

その結果、大幅に改善され、将来を見据えたプラットフォームが誕生しました。これにより、古いコードの多くをそのまま引き継ぎながら、最新のモバイルアプリやクラウドアプリの提供に必要なツールも提供されます。古い.NETコードの移行をまだ始めていない方は、.NET 7から始めるのが良いでしょう。安定性、高速性、そしてエンタープライズアプリケーションに必要なほとんどの機能を備えています。

Tagged: