検索
特集/連載

「.NET Framework」から「.NET Core」への移行が進まない理由「.NET Framework」からの脱却は実現するか【前編】

企業は長きにわたって「.NET Framework」を使い続けている。開発元のMicrosoftが.NET Frameworkの後継として「.NET Core」を公開したものの、移行はあまり進んでいない。それはなぜなのか。

Share
Tweet
LINE
Hatena

 Microsoftのアプリケーション開発・実行環境「.NET Framework」は、ユーザー企業を支えるために進化を続けてきた。他方で同社は、.NET Frameworkの後継であるアプリケーション開発・実行環境「.NET Core」にも、最新のニーズに合わせた機能を追加している。

 NET Frameworkに定着したユーザー企業が全て.NET Coreに移行したわけではない。この状況は、「Windows」アプリケーションの開発現場において、古いNET Frameworkにこだわるユーザー企業と、新たな.NET Coreを導入したユーザー企業の間に大きなギャップを生んでいる。

 2021年、Microsoftは.NET Coreの新バージョン「.NET 6」をリリースした。同社はクラウドサービス、PC、モバイルデバイス向けのアプリケーション開発機能を向上させることで、そのギャップを埋めることを期待している。

だから「.NET Core」への移行が進まない

 Microsoftが.NET Frameworkの正式版を初めて公開したのは2002年だ。同社はOS「Windows NT」「Windows 2000」「Windows XP」に「マネージドコード」を導入した。マネージドコードは、.NET Frameworkで実行できるプログラムを指す。Windows用アプリケーションとWebアプリケーションの開発で利用でき、「C#」「C++」「F#」など複数のプログラミング言語で記述可能だ。

 .NET Frameworkには9つのメジャーバージョンがある。メジャーバージョンアップを繰り返すたびに、.NET Frameworkの旗の下に集うプログラミング言語は増えていった。

 2016年、Microsoftは.NET Frameworkの新バージョンである.NET Coreを公開した。.NET Coreは対象のOSとプログラミング言語を同社製品以外に拡大させただけでなく、クロスプラットフォーム(OS非依存)のアプリケーション開発・実行環境の実現を目的に、設計が新しくなった。同社は.NET Frameworkも引き続きサポートする一方で、.NET Coreに機能を着々と追加することで、開発者が.NET Frameworkから.NET Coreに移行するよう仕向けたいと考えていた。

それでもNET Frameworkが生き残っている理由

 古い存在になったにもかかわらず、.NET Coreとの互換性が低い機能に依存するレガシーアプリケーションを管理する目的で.NET Frameworkを使い続けている開発者は少なくない。統合開発環境(IDE)「Visual Studio」、Webフォーム開発ツール「ASP.NET Web Forms」、アプリケーション実行用仮想マシン(VM)「共通言語ランタイム」(CLR)など、.NET Framework関連の古いツールに依存するレガシーアプリケーションもある。

 CLRは.NET Frameworkがアプリケーションを実行する上で特に重要だ。CLRは「JIT(Just-in-Time)コンパイラ」を搭載している。JITコンパイラはアプリケーションの実行時に、プログラミング言語で記述されたソースコードを機械語に変換することで、エラーを起こさずに多様なOSでアプリケーションを実行できるようにする。.NET Coreにも独自のCLR「CoreCLR」があり、CoreCLRはJITコンパイラ「RyuJIT」を内包する。世の中には.NET FrameworkのCLRを組み込んでいるアプリケーションが幾つも存在しており、それらはレガシーアプリケーションとしての問題を抱えていることになる。

TechTarget発 先取りITトレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る