マイクロソフトと.NET開発者の明日はどっちだ?:特集:Connect 2015(1/2 ページ)
2015年11月に開催されたマイクロソフトの開発者向けイベントConnect();のキーノートから、これからマイクロソフトと.NET開発者が進む道を探る。
2014年11月に開催されたオンラインイベント「Connect(); // 2014」では、マイクロソフトがオープンソースの世界へと大きく舵を取ることが発表された。その1年後、2015年11月18日と19日に開催された「Connect(); // 2015」で、マイクロソフトが発表した内容はある意味「脱Windows化」を印象づけるものとなった。
本稿では、「Connect(); // 2015」初日のスコット・ガスリー氏によるキーノートの内容を基に、マイクロソフトの将来、そして.NET開発者の将来を推察していこう。
Connect(); // 2015をざっくり振り返り
まずは今回の「Connect(); // 2015」で行われた発表の内容をざっくりとまとめておこう。ただし、発表内容は数多く、多岐にわたるので、以下は筆者がキーノートを見て、筆者が「これは」と思ったものだ。
- Visual Studio Code(以下、「Visual Studio」を「VS」と表記する)のベータ版リリース(これまではプレビュー版)とオープンソース化
- .NET Core/ASP.NET 5 RC。Go-Liveライセンスとなり、プロダクトの開発にも安心して使えるようになった
- VS OnlineをVS Team Servicesに改名。クラウド上のIDEではなく、クラウド上でチーム開発を進めるためのサービスであることを強調
- VS Marketplace。VS 2015、VS Code、VS Team Servicesなどで利用可能な機能拡張を配布するための統一的なリポジトリ
- Node.js tools for VSのリリース。VS上でNode.jsアプリの開発/デバッグ/Azureへのデプロイが可能に
- VS Dev EssentialsとVS Cloud Subscriptionという二つのサブスクリプションモデル
- VS 2015 Update 1が11月30日にリリース予定
いくつか取り上げていこう。
Visual Studio Code
本フォーラムでも取り上げてきたVS Codeがプレビューからベータに変わり、オープンソース化された。
VS Codeは皆さんご存じの通り、クロスプラットフォームで動作するエディターだ。といっても、マイクロソフトが磨きに磨きを掛けたIntelliSenseを搭載し、デバッグ機能も内蔵するなど、プレビュー版の状態でも非常に使い勝手のよいものだった。
今回のベータ版リリースに伴い、その大きな弱点と思われていたエクステンション機能がついに搭載された。
初期リリースのころには、ASP.NET 5アプリをOS XやUbuntuで開発してもらうべくマイクロソフトが直々にエディターをリリースしたと思われていたところもあるが(その割にはASP.NET 5アプリのデバッグはできなかったが、そろそろできるようになるようだ)、CordovaエクステンションとOS X上で動作するVS Tools for AndroidとVS Codeを組み合わせることで、OS X上でのCordovaアプリの開発も可能になる(ようだ)。
また、グーグルが中心となって開発されているAngularJSの次バージョンであるAngular 2がマイクロソフト製のVS CodeとTypeScriptで作られている。同じく、グーグルが作ったプログラミング言語「Go」のエクステンションも提供されている。このようにVS Codeは、オープンソース/クロスプラットフォームというマイクロソフトの取り組みを象徴するツールの一つとなっている。
VS Codeについては、エクステンションなどの新機能を中心に紹介する記事を公開する予定なので、そちらをお待ちいただきたい。
.NET Core/ASP.NET 5 RCリリース
VS Codeよりも先にオープンソースの道をまい進していたマイクロソフトのプロダクトが.NET CoreとASP.NET 5だ。これらがいよいよRC(リリース候補)となり、Go-Liveライセンスの下、プロダクトの開発にも使える状態となった。
ASP.NET 5はオープンソースかつクロスプラットフォーム対応した新時代のASP.NETであり、.NET Coreはそのランタイムとなる(実際には.NET CoreはUWPアプリのランタイムでもある)。今回のRC版では、Windows/OS X/Linuxの三つの環境で同一のもの(「same bits」といっていたが同一のバイナリではないだろう)が配布され、全ての環境で同じASP.NETアプリが実行できるようになった。
なお、.NET Core RCについては「Announcing .NET Core and ASP.NET 5 RC」を、ASP.NET 5 RC(厳密にはRC1)については「Announcing ASP.NET 5 Release Candidate 1」を参照されたい。
筆者が気になったのは、RyuJITと呼ばれるネイティブコードを生成するためのJITコンパイラーがLinuxとOS Xでもサポートされることだ。RyuJITは単にJITコンパイルを行うために使われるだけではなく、CrossGenと呼ばれるAOT(Ahead Of Time)コンパイラーでネイティブコードを生成するためにも使われるようだ。
Visual Studio Online改め、Visual Studio Team Services
そもそもVS Onlineという名称は誤解を招きやすいものだった。確かに、VS Online Monacoはあったが、その名前からはWebブラウザー上で動作するVS IDEというイメージが想起される。そうではなく、このサービスはクラウド上でチーム開発を推進するためのものであることから、「VS Team Services」(以下、VSTS)に名称が変更された。
VSTSでは他のVSファミリー(VS、VS Code)と同様に、VS Marketplaceで拡張機能(テクステンション)が提供される(カスタムコントロール、コンテキストメニュー、ビルド/リリースタスクなど)。
この他、Release Management for VSTS/パッケージ管理サービス/コード検索機能などがパブリックプレビューとして使えるようになるなど、さまざまな面で機能が拡張されている。詳細は本フォーラムでもお世話になっている亀川氏のブログ記事「Connect();でのVisual Studio Online あらため Team Servicesの強化紹介」などを参照してほしい。
注目したいのは、VSでクロスプラットフォーム開発と意気込んではみたものの、手元にMac(とXcodeとAppleの開発者ライセンス)がないとiOS用のアプリはビルドできなかった点を、MacInCloud(Macのリモートレンタルサービス)との提携により、Macがない環境でもビルドを可能にしたところだ。ただし、その場合でもAppleの開発者ライセンスを取得し、MacInCloudの使用料を払う必要はある。
二つのサブスクリプションモデル
キーノートではVS Dev EssentialsとVS Cloud Subscriptionの二つのサブスクリプションモデルが発表された。恐らく、前者はフリーミアムモデルの推進が目的である。簡単にVS Dev Essentialの内容を紹介しておこう。
これは無償で使える各種ソフトウエア、若干のAzureクレジット、各種のトレーニングコンテンツ、(Macユーザーに向けた)仮想化ソフトウエアをパッケージングしたものだ。
- VS Community 2015
- VS Code
- VS Express 2015
- Team Foundation Server Express
- 各種トレーニングコンテンツ
- Azureのクレジット(月25ドルを12カ月)
- VSTSのユーザーアカウントが5ユーザーまで無料
- Azureの各種サービス
- Parallels Desktop/Access(Mac用の仮想化ソフトウエア+モバイルデバイスからのアクセス。3カ月まで)、Windows Platform VM、Office Onlineアプリ
無償のソフトウエア以外には、それなりの制約があるため、使い慣れたころには何らかの形で対価を支払う必要が出てくるかもしれないので注意が必要だ。
しかし、多くの人にVSを使ってもらい、VSの使い勝手のよさを感じてもらうこと、マイクロソフトの開発ツールのブランドイメージを非Windowsユーザーの中でも高めること、満足して対価を払ってもよいと感じてもらうことを、マイクロソフトは重要だと考えていると思われる(個人的には、サービスに期限があると導入しづらい気はする。最初から導入ありきであれば、よいパッケージングと捉える人もいるだろう)。
後者は長期間にわたってVSを使用するわけではない開発者(個人開発者など)が必要に応じて対価を支払う形態にすることでコストの低減に役立つかもしれない。と同時に、最終的には開発環境のサブスクリプションモデル化への第一歩となるのかもしれない(深くは触れないが、VSの次バージョンはミニマムインストールであればMbyte単位のディスク容量しか必要としない。後から必要に応じて環境を組み上げていく形態は、ネットワークでの配布そしてサブスクリプションモデルに適している。というのは、もちろん筆者の妄想である)。
Copyright© Digital Advantage Corp. All Rights Reserved.