Visual Studio 2015で“真のオープンソース化”を実現
アプリケーション開発において「モバイルファースト、クラウドファースト」と耳にする機会が増えたのは、誰もが実感するところだろう。かつてはPC向けに考えていれば十分とされていたのが、今や「モバイルこそ優先すべき」であり、さらにあらゆる環境への対応が当然のように求められるようになった。
井上氏は「開発現場でのニーズに対し、Microsoftは技術やツール、そして開発環境においても『すべての環境に対応し、すべてのエンジニアに提供すること』をビジョンとして掲げ、様々な取り組みを進めている」とMicrosoftの姿勢を語る。
その象徴と言えるのが、2015年7月に登場した、統合開発環境Visual Studioの最新バージョンVisual Studio 2015だ。モバイル&クラウド中心のクロスプラットフォーム開発、そしてDevOpsへの対応など、これまで以上のフレキシビリティが発揮されているという。
たとえば、モバイルを意識したiOS、Android向けのアプリケーション開発を想定した場合、Visual Studio 2015ではC#+Xamarinでも、C#+Unityでも、そしてHTML/JS+Cordovaでも開発できる。また、C++を使って、Android、iOSの共有ライブラリを作ることもできるという。
また「.NET 2015」の方では、既存.NETの最新版となる「.NET Framework 4.6」に、新たにランタイムライブラリ「.NET Core 5」が加わって2本柱となる。.NET Coreを使うことで、Windows環境のみならず、Linux、Mac OS X上でも.NETが動き、C#でも開発が可能になった。つまり、従来通りWindows環境での開発は.NET Frameworkで、そしてサーバサイドのクロスプラットフォームを意識した開発なら.NET Coreでというわけだ。
.NET Coreは、GitHub上でソースコードが全て公開されているだけでなく、開発状況も公開され、ロードマップもディスカッションされている。従来の.NETもソースコードは参照できたが、完全なオープンソースとして動いていたとは言えなかった。それが2015からは“真のオープンソース化”を実現したということになる。
「プルリクエストによるバグ修正や機能リクエストなどが、.NETの枠組みの中で吟味され、テストされ、新しい.NET Coreとして活かされる。それが実際に実現しており、先日も日本人エンジニアのプルリクエストが製品に活かされた。興味がある方はぜひ触ってみてほしい」と井上氏は語る。
高機能エディターVisual Studio Codeと開発管理クラウドツールVisual Studio Online
このようなオープンソース化の動きに加えて、Visual Studio 2015に新たに追加されたツールが「Visual Studio Code」である。これまでの流れと全く異なる、Visual Studioとは一線を画した、MacやLinux上でも使える軽量・高速な高機能エディターだ。
ここで井上氏はMacのノートPCを開き、Visual Studio CodeによってC#でWebアプリケーションを開発するデモンストレーションを開始。YeomanでASP.NETのソースを生成し、Visual Studio Codeの画面上での編集を施した。
Visual Studio Codeはインテリセンスも使え、C#はもちろんのこと、Node.jsやJavaScript、TypeScriptなどの言語に対応している。マークダウン形式の文書や、HTML/CSSのコーディング、Java、PHPなど様々な言語のコーディングにも適する。Visual Studio Codeが対応している言語リストが表示され、そこから選択してエディター上で実装するという仕組みだ。井上氏は作成したアプリケーションをUbuntu上で起動させ、ネット上に公開してみせた。
さらにVisual Studioファミリーでは、開発言語のオープン化だけでなく、オープンな開発環境も提供する。たとえば、開発管理クラウドツール「Visual Studio Online(VSO)」では、Visual Studioを使わないエンジニアでも、EclipseやXcodeなどを使って、バージョン管理、プロジェクト管理などが利用可能となっている。
VSOは、これまでオンプレミスで提供されてきたプロジェクト管理ツールの「Visual Studio Team Foundation Server(TFS)」のクラウド版として、クラウドプラットフォーム「Microsoft Azure」上にホストしたものだ。5ユーザまでの無料プランもあり、誰もがいつでも使用できる環境が提供されている。
「コードのバージョン管理やタスク管理、自動ビルドや自動テスト、自動デプロイも可能。アプリケーションの分析機能なども準備されている。DevOpsで役立つ機能が多く揃っているので、ぜひ一度は触ってみてほしい」と井上氏も太鼓判を押す。なお、TFSは「Team Foundation Version Control(TFVC)」と呼ばれる独自の集中型バージョンコントロールを搭載しているが、分散型のGitも使えるようになっている。