日本マイクロソフトは11月21日、品川本社で「Connect(); Japan 2016」を開催した。米Microsoftが米国時間11月16~17日にニューヨークで開催した開発者向けイベント「 Connect(); 2016」を受けて、日本国内でもVisual StudioやSQL Server 2016などの情報をフォローアップする招待制のイベントである。本稿では基調講演で語られたVisual Studio開発プラットフォームの最新動向を紹介する。
基調講演に登壇した日本マイクロソフト シニアテクニカルエバンジェリスト 井上章氏は、Connect(); 2016でMicrosoftが掲げた「Any Developer, Any App, Any Platform」というキーワードを紹介し、「アプリケーション開発環境が変わりつつある」と語る。モバイルアプリケーションの開発者にとって、クライアント側だけでなく、サービス連携を行う設計や、バックエンドとなるMicrosoft Azureのようなクラウドの活用が重要な位置を占めるようになった。そのため、Microsoftは先のキーワードを掲げて、さまざまなプラットフォームに対応する開発ツールを用意するという。
日本マイクロソフト シニアテクニカルエバンジェリスト 井上章氏
その具体例として、OSSのVisual Studio Code上でNode.js向けのコードを書き、Microsoft AzureのWeb Appと連携する環境や、iOS向けアプリケーションをC#で記述してXamarinでコンパイルするといった環境を提供していることを説明した。「開発者が好きな開発言語と好みのデバイスを利用し、自由にアプリケーションを開発できるモバイルファースト時代」(井上氏)
今回のイベントは、米国のConnect(); 2016で発表されたVisual Studio 2017など製品群に関する情報提供が中心だった。
まず現行版であるVisual Studio 2015は、アップデートやインストールだけで小一時間を要するが、今回発表された「Visual Studio 2017(RC)」ではインストーラを刷新。開発者が必要な開発言語のコンポーネントを選択する方式に変更し、セットアップに要する時間を大幅に削減した。構成要素はウェブ開発やUnity、C++によるLinux向けアプリケーション開発環境などを必要に応じて追加/削除できるようになっている。
Visual Studioが備える特徴の1つにAPIやパラメータなどの入力を補完するIntelliSense(インテリセンス)がある。Visual Studio 2017では、IntelliSenseにフィルタリングするボタンを用意し、ネームスペースや構造体といった候補内容を絞り込めるようになった。また、デバッグ時に必要なブレイクポイントの設定についても、カーソルがある行までを実行する「Run to Cursor」が新機能として追加されている。
Visual Studio 2017のIntelliSenseに加わったフィルタリングボタン
次に紹介された「Visual Studio Code」は、Windowsに限らずmacOSやLinuxでも利用できる開発者向けテキストエディタだが、エディタ内から各作業を自動的に行うタスク機能や、Gitと連携してリポジトリ上のコードとローカルコードを比較する機能を備えている。また、開発環境を強化する拡張機能も特徴の1つ。例えばPC間でVisual Studio Codeの設定を同期するものや、REST APIを呼び出す拡張機能があり、「開発者は好みのデバイスで好みの開発言語を記述できる」と井上氏はアピールした。
JavaScript用開発言語のTypeScriptを使い、Visual Studio Code上でリポジトリ上のコードとローカルコードを比較
「Visual Studio for Mac」は、商用利用可能なVisual Studioサブスクリプションを保持している場合、そのまま適用できる。Visual Studio for MacはXamarin Studioをベースに開発されているため、UWP(ユニバーサルWindowsプラットフォーム)アプリケーションには未対応だ。
Visual Studio for Macのロゴは、Macの「M」とVisual Studioロゴを掛け合わせたという噂があるという
Visual Studio for Mac上でAndroid/iOS向けアプリケーションのコンパイルを行った
「Visual Studio Mobile Center」については、既にXamarin Test Cloudなど関連するMicrosoft AzureのPaaSの機能を1つにまとめたものだと紹介した。なお、現時点では招待制のプレビュー版のため、利用するには事前の申し込みが必要となる。
6月に登場した「.NET Core」だが、今回のConnect(); 2016では、.NET Core 1.1が発表された。対応するLinuxディストリビューションとして、Linux Mint 18やOpenSUSE 42.1を新たにサポート。もちろんWindowsやmacOSでも利用できる。井上氏は、.NET Core on Tizen(Linuxベースのスマートデバイス向けOS)やVisual Studio tools for Tieznの提供、Googleの.NET Foundationへの参加などを紹介しつつ、「.NETスタンダードライブラリを構築して、.NETエコシステムの拡大を目指す」と述べた。
.NET Frameworkと.NET Coreの相関図
この他にも、Visual StudioからDockerコンテナのイメージビルドを可能にする「Visual Studio tools for Docker」や、Docker Composerを利用してAzure Container Serviceへの展開を容易にする「Visual Studio Team Services」のコンテナサポートなど多くの内容を語り、「どんな開発言語でもアプリケーションを開発できる世界を目指す。Visual Studio 2017やVisual Studio Code、Visual Studio for Macを活用して、モバイルファースト時代に沿った開発をしてほしい」(井上氏)と述べていた。