VS for MacはマイクロソフトがMac用に提供する統合開発環境だ(ベースはXamarin Studio)。現在はプレビュー段階だが「Visual Studio for Mac PREVIEW」ページからダウンロードが可能だ。
Xamarin Studioがベースなので、Xamarinを利用したiOS/Androidアプリ開発はもちろん可能だ。しかし、それ以外にも.NET Coreを利用したアプリ開発なども可能である。特徴的なのは、プロジェクトテンプレートに最初から「フロントエンドをXamarin(Xamarin.Forms)、バックエンドをASP.NET Core」とする「Connected」アプリが用意されているところだ。
モバイルファースト、クラウドファーストの時代では、アプリがフロントエンドだけで完結することは少ない。そのため、フロントエンドとバックエンドのスケルトンコードを含むプロジェクトテンプレートが提供されるようになっている。
ところで、なぜ突然にVS for Macが登場したのだろうか。
1つには「Windows上でのXamarinサポートが手厚くなったところで、iOSアプリのビルドには結局Macが必要となってしまう」ことがある。つまり、iOSアプリ開発者はもれなくMacを使っている。そうした層にマイクロソフトがアピールするには、「使いやすい」ことで有名な「Visual Studio」というブランドを届けるしかない(ぶっちゃけると「Windows版を使ってもらえないなら、Mac版を作ればいいじゃない」ということだ。以前のマイクロソフトからは想像できないが)。
もう1つには、Xamarinが持つクロスプラットフォーム性の高さがある。iOSアプリをObjective-C(やSwift)を使って開発しても、それをAndroidに移植するにはそれなりのコストが必要となる(逆も同様)。これに対して、Xamarinであれば、ある程度のコードの共有が可能になる。
ただし、Xamarinを使うにC#を学習するコストが必要になる。が、今はObjective-CからSwiftへの移行期ともいえる。そこで、「どうせ、新しく言語を学ぶなら、iOSもAndroidもいけるC#でもいいかな?」という人たちもいるかもしれない。タイミングとしては少し遅いかもしれないが、そうした層に「Visual Studio」「C#」といったブランドをアピールするには今が最後のチャンスといえる。
今述べたような「モバイルアプリ開発者の多くがMacユーザーであろうこと」と「Xamarinが持つメリット」と、.NET Core、ASP.NET Coreなど、クロスプラットフォームに対応したフレームワークの登場、同じくクロスプラットフォームなエディタであるVS Codeの非マイクロソフトユーザーへの浸透(によるマイクロソフトのイメージ向上)などの状況が相まって(マイクロソフトとしては時機が熟したと見て)、今回のVS for Macの登場につながったのかもしれない。
いずれにせよ、VS for Macの登場は「マイクロソフトが変わった」ことを象徴する大きな事象といえる。なお、VS for Macについては「新しい Visual Studio for Mac を発表」「Visual Studio for Mac Preview 1 Release Notes」(英語)なども参照されたい(後者のリリースノートがXamarinの公式サイトに含まれている辺りが趣き深い)。
ここまで、VS for Macが登場したことの意味を少し考えてみた。これは要するに、さまざまな事情も絡んではいるが、Macで開発をしているユーザーにもぜひとも自社製品を使ってみてほしいというマイクロソフトからの提案だ。何にせよ、マイクロソフトは(少し? かなり?)変わったということだ。では、なぜそんなことになったかを、今回のConnect()で提示されたキーワードを基に考えてみよう。
今回のConnect()イベントを端的に表したキーフレーズの1つに「Any developer. Any app. Any platform」がある。
単純に翻訳すれば「あらゆる開発者、あらゆるアプリ、あらゆるプラットフォーム」(にマイクロソフトはコミットしていく)となるが、裏を読むと、このフレーズが意味するところは「マイクロソフトはもはやWindowsの会社ではない」ということだ(そうした動きはここ数年のConnect()をはじめとする各種イベントでも十二分に見られてきたことなので「なにをいまさら」感もあるが)。
ではマイクロソフトとは何の会社か。以前は「Windowsを核としたエコシステムに関わる開発者のための会社」だった。だが、今はそうではなく、「マイクロソフトはあらゆる開発者のための会社」となったということだ。
現在が「モバイルファースト、クラウドファースト」の時代であることはマイクロソフト自身が述べている。クラウドの世界では競合との激しいつばぜり合いが続いているがマイクロソフトが絶対的な存在というわけではないし、モバイルの世界ではマイクロソフトはそれほどの力を持っていない。
2014年のConnect()でのオープンソースへの方向転換は、こうした苦境(あるいは絶対的な優位ではない状況)でどうすればマイクロソフトが開発者に「貢献」し続けられるかを考えてのことかもしれない。以前からマイクロソフトは「開発者ファースト」な会社だったが、彼らが捉える「開発者」がマイクロソフト製品のユーザーだけではなくなったのは、このころからだろう。
その後、マイクロソフトはオープンソースへの関わりを強くし、そちらの世界やそちらの世界の開発者たちにも貢献を始めるようになった。その結果が、今回のConnect()での「GitHubのトップコントリビューターはマイクロソフト」という(若干お手盛り感がある)発表だ。VS Codeも目に見える形でのオープンソースの世界への貢献(マイクロソフト技術の提供)といえるかもしれない。
翌2015年のConnect()では、VS Codeのオープンソース化、.NET Core RCのリリースなど、マイクロソフトによるオープンソースへの関わりが継続していくことがハッキリとした。そして現在、VS 2015を見ても今ではオープンソースの世界から得られた成果が数えられないほど大量に導入されているのが現実だ。そして、オープンソースへのコミットがもはや止まることがなくなったであろうというタイミングで、マイクロソフトが「自分たちはあらゆる開発者のための会社である」と公式に宣言をしたのが、今回のConnect()だといえる。
その象徴の1つは先も述べた通りに「VS for Mac」だ。Windowsから飛び出して、マイクロソフトが全力で他のプラットフォームへも自分たちが誇るブランドを投下していこう、他のプラットフォームの開発者にも自分たちの製品を使ってもらおう、開発者に貢献していこうという決意の表れと考えられる。
もう1つの象徴は「マイクロソフトのLinux Foundationへの加入」だろう(詳細な解説記事については「マイクロソフトが「Linux Foundation」のプラチナメンバーに Linux/クロスプラットフォーム対応製品の開発を加速」を参照されたい)。
その一方で、グーグルも.NET FoundationのTechnical Steering Groupに加入することが発表された。リリースを見る限りは、マイクロソフトとグーグルは以前より、.NET Foundationのみならず、ECMAでのC#標準化などでも協力し合ってきたようだ。このように、マイクロソフトとオープンソースとの関係も今は良好だ。2014年以降、緩やかな変化を続けてきたマイクロソフトは今やオープンソースの世界の一員としてすっかりなじんできたようだ。
本稿冒頭でこの2つを「印象に残った」としたのは、マイクロソフトのオープンソースとの関係の持ち方が変わったことを象徴していると感じたからだ。現在では、この流れが終わりを迎えるとは考えづらい。何より、マイクロソフトは開発者を大事にする会社だ。そんな会社がオープンソースの世界と協力し合って、2017年のConnect()では開発者にどんな恩恵をもたらしてくれるのかを楽しみにしよう。
1995年にビル・ゲイツが全社員に送ったメモをきっかけに会社全体が「インターネット」へと舵を切ったときのことを思い出そう。進むべき道が示されたときのマイクロソフトは強い。サティア・ナデラの下、今度は全社が一丸となって「オープンソース」へと注力をしているのだ。
前回はインターネットへと舵を切ったはいいが、そこには壮絶な敵対構造と「ブラウザ戦争」があった。当時は「マイクロソフト(とそのエコシステムに含まれる人々)が勝てばよい」という時代だった。そのときと違うのは、今回はマイクロソフトがさまざまな企業と手に手を取って(もちろん、競争はするが)、オープンソースの世界、インターネットの世界を推進しようとしていることだ。
Copyright© Digital Advantage Corp. All Rights Reserved.