このページの本文へ

前へ 1 2 3 次へ

.NET Core / .NET Framework / Xamarin / Monoの関係を整理する

2016年04月28日 10時00分更新

文● 鈴木淳也(Junya Suzuki)、編集●ハイサイ比嘉

  • この記事をはてなブックマークに追加
  • 本文印刷

 2000年に入り、Microsoftが「Next Generation Windows Services」(NGWS)の名称でアプリケーションの新しい開発・実行フレームワークの開発表明を行なった時点からすでに16年の月日が経過した。そして、今もなお「.NET Framework」の世界は拡大し、日々改良が続けられている。

 ただ、その過程でさまざまな派生技術やキーワードが登場し、開発の現場から少し離れた人間には相互関係や役割が分かりにくくなってしまっている感がある。今回はこの.NETの最新事情を整理し、Microsoftの描く戦略をまとめたい。

「BUILD 2016」で描かれた.NETの未来

 Microsoftの.NET戦略を語るうえで重要なトピックのひとつに「Xamarin買収」が挙げられる。Xamarin買収を経て、.NETのアプリケーション展開モデルに変化が生じているからだ。例えば、昨年2015年4月に行なわれた開発者会議「BUILD 2015」の時点では、.NETにおけるコアコンポーネントは「.NET Framework」と「.NET Core」のふたつだったが、2016年2月にMicrosoftがXamarinを買収したことで、今年2016年3月の「BUILD 2016」のタイミングでは「.NET Framework」「.NET Core」「Xamarin」の3つの要素を考慮に入れた戦略を説明する必要が出てきた。この3つの要素が存在する意味と、違いを整理していこう。

昨年2015年時点での「.NET」戦略を担うコアコンポーネント

今年2016年になり、Xamarin買収を経て.NETファミリーも拡大した

「Xamarin」と「Mono Project」

 今となっては知る術はないが、少なくとも.NET Frameworkの最初のバージョンが登場した2001年の時点では、MicrosoftはWindows以外のプラットフォームでのアプリケーション実行を意識したクロスプラットフォーム開発はあまり考慮していなかったと思われる。

 .NETで使われる「C#」言語や、それをコンパイルして中間言語として表現する「CLI」(Common Language Infrastructure)、そしてCLIを実行するための「CLR」(Common Language Runtime)と呼ばれるランタイムの存在は、従来までのWindowsでしか動作しないWin32 APIベースのネイティブコードとは異なり、Windows以外の環境で動作可能だと意味している一方で、.NET FrameworkそのものはWindowsでしか提供されていない。そのため、「Windowsにおける新しい世代のアプリケーション実行環境」の域を出ていなかったと考える。

 こうした中、.NETの将来性に期待を抱き、ツールや実行環境の外部プラットフォームへの移植を進めたのが、Miguel de Icaza氏を中心とした「Mono Project」だ。.NETのベースとなるCLIの仕様そのものは公開されている(Ecma/ISO/JISなどで標準化されている)ため、.NET Frameworkと互換性を持つLinux向けのツールセットを搭載した最初のバージョンが2004年に登場した。

最初期のMono Project時代からXamarinを率いるMiguel de Icaza氏。BUILD 2016の基調講演にて

 de Icaza氏は、当時Ximianという名前の企業の中でMono Projectを進めていたが、同社は2003年にNovellに買収されたため、実質的に.NET Framework互換の開発・実行環境である「Mono」を後援していたのはNovellということになる。その後もMonoの改良は続き、Linux以外へのプラットフォームの拡大のほか、スマートフォン向け環境として「MonoTouch(for iOS)」「Mono for Android」も提供し、Mono Projectはクロスプラットフォーム開発環境としての性格を強めていくことになる。

 転機が訪れたのは、これまで同プロジェクトを支えていたNovellがAttachmateという企業に買収された2011年4月で、AttachmateはMono Projectの中核として動いていた多くの従業員の解雇を発表し、プロジェクトの存続が危ぶまれたことだ。

 de Icaza氏は翌5月に新会社「Xamarin」の設立を発表し、これまでNovellで続いていたMono Projectの資産を引き継いでいく方針を表明している。Novellとのライセンス問題も解消し、新生Xamarinとしての活動が進んでいくなか、AndroidやiOSといったスマートデバイス向けのツール提供で出遅れていたMicrosoftはXamarinへと接近し、クロスプラットフォーム環境としてのXamarinを自らアピールするようになっていく。そうした過程で行なわれたのが今年2月のXamarin買収というわけだ。

 興味深いことに、Microsoftがカバーできていなかった領域を埋めるかのごとく外部開発者らの手で進んでいたプロジェクトは、Microsoftが最終的に買収を行なうことで自らが後援者となった。Mono Projectは現在も続いており、そのスポンサーは他ならぬMicrosoftだ。

 Xamarinは便利なツールではあるが、実質無償提供が行なわれているMicrosoft謹製のVisual Studioとは異なり、利用にあたってライセンスが必要というハードルが存在していた。だが、MicrosoftはBUILD 2016で「Xamarin for Visual Studio」の無償提供を発表し、実質すべてのWindows開発者が「.NET」ならびに「Xamarin」の恩恵を無償で受けることが可能になった。

XamarinはVisual Studioと統合されており、開発したコードをそのままiOSエミュレータを使って動作確認できる

Xamarin for Visual Studioの無償提供を発表。この写真時点では有料版Visual Studioの「Professional」「Enterprise」のみだったが、無償版である「Community Edition」も含まれていることが発表されると会場は大いに沸いた

前へ 1 2 3 次へ

カテゴリートップへ

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン