SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

最新バージョン「Visual Studio 2017(Visual Studio "15")」特集(AD)

使う言語はC#のみ! Macアプリケーションはもちろん、Webアプリやスマホアプリも開発可能な「Visual Studio for Mac」登場

最新バージョン「Visual Studio 2017(Visual Studio "15")」特集 第3回

  • このエントリーをはてなブックマークに追加

WebアプリケーションとMacアプリケーション

 Visual Studio for Macは、ASP.NETフレームワークを使ったWebアプリケーションの開発もサポートしています。

 テンプレートは[.NET Core]-[App]の[ASP.NET]-[ASP.NET Core Empty Web Application]と、[その他]-[ASP.NET]の[全般]の2種類が用意されています。前者はASP.NET Core、後者はMono上で動くASP.NETです。いずれもMacだけでなくWindows、Linuxで実行可能です(.NET CoreとMonoについては後の節で紹介します)。

 Connected AppテンプレートはASP.NET Coreサーバー、iOSアプリ、Androidアプリがセットで作成され、サーバーと連携して動作するiOS、Androidアプリのひな形となっています。ASP.NET Coreを使用すると、サーバーからアプリまですべてC#で記述することが可能になります。

 もちろんMacアプリケーションを開発することもできます。Visual Studio for MacでのMacアプリは、.NET Coreを使ったコンソールアプリとXamarin.Macを使ったGUIアプリがあります。いずれもプログラミング言語はC#です。Xamarin.MacはCocoaを薄くラップしているだけなので、普段XcodeとCocoaを使ってMacアプリを開発している人にとっても違和感は大きくないと思います。

 また、Monoを使ったコンソールアプリやGtk#アプリを作ることもできます(Gtk#はMonoを使用したWindows/Mac/LinuxのクロスプラットフォームなGUIツールキットです。名前からもわかるとおりGTK+のMono版です)。

MonoとXamarinと.NET Core

 ここまで紹介したように、Visual Studio for Macでは主に以下の種類のアプリケーションを作ることができます。

  • iOSとAndroidアプリ(Xamarin.iOSとXamarin.Android)
  • ASP.NET(ASP.NET CoreとMono)
  • Macアプリ(.NET CoreとXamarin.MacとMono)

 特にASP.NETとMacアプリには複数のフレームワークが存在しますが、これらの違いを理解するにはこれまでの生い立ちを見てみるのが早道かと思いますので、.NET FrameworkとXamarinのこれまでを簡単に紹介します。

2000~2002年 .NET FrameworkとC#の登場

 .NET Framework、C#、Visual Studioが2000年にマイクロソフトから発表、2002年に最初のバージョンがリリースされた。

 .NET FrameworkそのものはWindows専用のフレームワークだが、コア部分はデバイス非依存となっていてその仕様は2000年からオープンになっている。

2001年 Mono始動

 2001年にMonoプロジェクトが始動。.NET Framework互換環境とC#コンパイラをオープンソースソフトウェアとして開発し、Windows、Mac、Linuxで動くようにすることが目標。Monoの中心はXimian(ジミアン)社。Ximian社の中心人物は「Connect(); // 2016」のキーノートスピーチでVisual Studio for Macを発表したMiguel de Icaza氏。

2004年 Mono 1.0リリース

 2004年にMono 1.0がリリースされ、ASP.NETやGUIアプリ(Gtk#)がWindows、Mac、Linuxで実行可能に。その後もバージョンアップ版が順次リリースされ、Unity(クロスプラットフォームなゲーム開発環境)やPlayStation Suite(PlayStation用のゲーム開発環境。すでに提供終了)などにもMonoとC#が採用されるなど広がりを見せる。

2009年 MonoTouchとMono for Android

 Ximian社がNovel社に買収され、2009年にNovel社からMonoTouch、Mono for Androidが販売開始。MonoTouchはMonoをiOSに移植したもの、Mono for AndroidはMonoをAndroidに移植したもの。Monoは依然としてオープンソースソフトウェアだが、MonoTouch、Mono for Androidは有償の商品として販売された。このときの開発環境はMonoプロジェクトの一環として開発されたMonoDevelop(Mono上で動作するMono用の開発環境)。

2011年 Xamarin社始動

 2011年にNovel社がAttachmate社に買収され、それを期にMonoチームのメンバーたちが独立しXamarin社が始動。以後、Monoの開発はXamarin社がおこなう。Xamarin社のリーダーはMiguel de Icaza氏。

2013年 Xamarin発売

 2013年にXamarin社からXamarin.iOS、Xamarin.Android、Xamarin.Macが発売開始。それぞれMonoTouch、Mono for Androidの後継。それぞれが13万円/年ほどした。同時にXamarin Studioリリース(Xamarin StudioはMonoDevelopベースらしい)。また、Xamarin for Visual StudioというVisual Studio用アドインもリリースされVisual StudioでもXamarin開発が可能に。

2014年 .NET Frameworkオープンソース化

 2014年の「Connect();」にて、.NET Frameworkがオープンソース化されることが発表される。その後、Monoもオープンソース化された.NET Frameworkを利用するようになっていく。

2015年 .NET Coreリリース

 2015年、マイクロソフトより.NET Coreがリリース。これは.NET Frameworkを再構成し、Windows、Mac、Linuxのクロスプラットフォームで動作するようにしたもの。.NET Coreの一部であるASP.NET Coreを使えば、LinuxやMacでもASP.NETを動かすことができるようになった。これでASP.NETは、Windows上の.NET Frameworkで動くASP.NET、Windows/Mac/Linux上のMonoで動くASP.NET、Windows/Mac/Linux上の.NET Coreで動くASP.NET Coreの3種類が存在することに。

2016年2月 Xamarin社がマイクロソフト社に買収される

 2016年2月24日にマイクロソフトがXamarin社の買収を発表。

2016年3月 Xamarin無償化

 2016年3月31日「Build 2016」の2日目キーノートスピーチにてXamarinが無償化され、今後はVisual Studioの一部として提供されることが発表される。同日、商品版のXamarinは消滅しVisual Studioの一部となる。Visual Studio Community(個人や小規模組織に限り無料で使えるVisual Studio)にもXamarinは含まれるので、26万円/年ほどかかっていたものが個人であれば無料で使えることに!

2016年11月 Visual Studio for Mac発表

 2016年「Connect(); // 2016」にて、Visual Studio for Macが発表される。Visual Studio for MacはXamarin Studioベース。「Visual Studio for Macプレビューのリリースノート」(英語)のOverviewの最初に、"Visual Studio for Mac is an evolution of Xamarin Studio, and includes all the functionality of Xamarin Studio 6.2."(Visual Studio for MacはXamarin Studioの進化系でありXamarin Studio 6.2のすべての機能を含んでいる)との記載あり。

 さて、このように数奇な運命をたどった(という表現は言いすぎかもしれませんが)、Xamarinの歴史を振り返ってみると、もともとはMonoなわけです。少々乱暴すぎるかもしれませんが一言で言うと、

 XamarinはもともとMonoで、Monoはもともと.NET Frameworkで、これらは相互に互換があって、そこに.NET Coreという仲間も加わった

という関係となります。

 これがわかれば、Visual Studio for MacにXamarinと.NET Core、Monoのプロジェクトがあるのも納得できるかと思います。今後もXamarinは進化を続けていくと思われますが、Xamarinだけでなく、Xamarin、.NET Framework、.NET Coreの3者共存状態はまだしばらくは続くものと思われます。

まとめ

 駆け足ではありますがVisual Studio for Macについて紹介しました。

 まだプレビューの段階のため今後も機能の追加や変更もあると思いますが、Visual Studio for Macがどのようなものなのかはわかっていただけたかと思います。筆者自身、iOS、Android、そして、サーバーサイドのASP.NETをすべてC#でコーディングしていますが、1つのプログラミング言語、1つの開発環境ですべて完結するのは非常にメリットがあると感じています。また、C#はとても書きやすく、理解しやすいプログラミング言語だと感じています。これらに興味がありましたらぜひVisual Studio for Macを使ってみてください。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
最新バージョン「Visual Studio 2017(Visual Studio "15")」特集連載記事一覧

もっと読む

この記事の著者

青柳 臣一(アオヤギ シンイチ)

Twiter: https://twitter.com/ShinichiAoyagi中学生のころにプログラミングの楽しさを知り、それ以来趣味として仕事としてプログラミングに関わるようになる。23才のときに株式会社ディーバを設立。CADソフトウエア、給水設備監視システムなどのオリジナルソフトの開発、また、さま...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9956 2017/05/09 22:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング