マイクロソフトの.NET Coreが開発プラットフォームの未来である理由

Table of Contents

マイクロソフトの.NET Coreが開発プラットフォームの未来である理由

分析Microsoft が Windows 専用の .NET Framework のクロスプラットフォーム フォークである .NET Core をオープン ソース化すると発表したのは、ちょうど 1 年前です。

.NET Frameworkがなくなるわけではありませんが、同社が開発プラットフォームの将来として.NET Coreに注力していることは明らかです。Microsoftの.NET Frameworkは長い歴史を誇り、2000年のTechEd Europeで初めて発表されました。

当時、これは Sun の Java に対する防御策と見られていました。Java は、C や C++ よりも簡単で生産性の高いプログラミング言語と組み合わせたクロスプラットフォーム機能によって Windows を脅かしていました。

主要な .NET 言語である Microsoft の C# は、Java を追い抜くことはできませんでしたが、ビジネス アプリケーションの開発では人気を博しました。

同社はまた、Sun が Java で成し遂げたよりも急速に言語を進化させ、有能な社内チームがより官僚的なコミュニティ主導のプロセスよりも何を達成できるかを示しました。

ASP.NET は、Microsoft の Scott Guthrie 氏が共同発明したもので、Web アプリケーションのフレームワークとして、従来の ASP (Active Server Pages) を大きく進歩させました。

では、なぜマイクロソフトは、あらゆるリスクと混乱を伴いながらも、.NET Framework をフォークし、オープンソースとクロスプラットフォームを採用することを決めたのでしょうか。理由はいくつかあります。

1つ目は、.NET Frameworkがモノリシックであり、内部の依存関係が複雑すぎるため、Microsoftが特定のプロジェクトを進めることが困難だったことです。特に、Microsoftはランタイムをインストールすることなく、.NETを真のネイティブコードにコンパイルすることを望んでいました。

メリットとしては、起動の高速化、一部のシナリオにおけるパフォーマンスの向上などが挙げられますが、何よりもクリーンでシンプルな導入が実現します。アプリケーションがオペレーティングシステムのランタイムに依存している場合、オペレーティングシステムのアップデートによってアプリケーションが動作しなくなるリスクが常に存在します。

互換性の負担により、ランタイムの開発も遅くなる傾向があります。

Microsoftの解決策は、互換性を確保するために既存のバージョンを維持しながら、.NET Frameworkをよりモジュール化された新しいシステムにリファクタリングすることでした。この新しいバージョンが.NET Coreです。

これは最初に Windows 8 ストア アプリに使用されたため、.NET ネイティブ プロジェクトは当初ストア アプリのみを対象としていましたが、現在では Windows 10 向けのユニバーサル Windows プラットフォーム (UWP) アプリへと進化しています。

Microsoft が Linux 上で .NET Native をデモ

Microsoft が Linux 上で .NET Native をデモ

今週ニューヨークで開催されたConnectイベントにおいて、Microsoftは.NET Nativeの次の段階、つまりLinux、Mac、Windows上の.NET Coreをターゲットとするソリューションを発表しました。Ubuntu上でネイティブコードにコンパイルされた.NET Coreのデモも行われましたが、この機能はまだ一般公開されていません。

Discover More