ASP.NET 5はBowerやnpm、GulpなどのOSSツールが用意されている
ASP.NET 5プロジェクト開発の特徴は、クロスプラットフォームOSSツールを採用していること。Twitter社が開発したクライアントサイドのパッケージマネジャー「Bower」やNodeパッケージマネジャー「npm」などが、ASP.NET 5のプロジェクトの中で使える。「Gulp」というNode.jsベースのビルドタスクランナーのパッケージもインストールされている。
井上氏はVisual Studioのメニューには、Bowerのパッケージ管理も用意されており、GUIを使ったさまざまなクライアントサイドのライブラリ管理が行えることを紹介。またAngularJSを使いたいのであれば、それもインストールして使うことができる。
続けてGulpについても紹介。「何かしら任意のタスクを走らせたいときにGulpが活用できる」と井上氏は説明を続ける。ASP.NET 5プロジェクトでは、Gulpを使ったJavaScriptの最小化やCSSの最小化のタスクが用意されている。Visual Studioのタスクランナーエクスプローラを開くと、Gulpを使って定義されているタスクがわかるだけでなく、Visual StudioのGUIから実行させることもできるという。「このようにOSSで使われているものがどんどんVisual Studioに取り込まれている」(井上氏)。
さらに井上氏はVisual StudioとGitHubが一緒に使えることも紹介した。Visual Studioのオンプレミス環境で一般的にバージョン管理をするには、Team Foundationのバージョン管理を使うことが多い。しかし「Gitもサポートしている。どちらのバージョン管理を使うか選択できる」と説明する。デモでは、Gitでローカル環境にリポジトリ管理環境を生成し、そこからGitHubに同期するということを行った。これはVisual StudioにGitHubの拡張機能をインストールすることで可能になるという。
デモではVisual StudioからGitHub上にソースコードをパブリッシュする様子を披露した。こうすることで「Visual Studioの中でGitHubやGitを使って開発できるようになる」と井上氏は説明する。さらに井上氏はGitHubのソースコードをインターネット上に公開する方法についても紹介した。その際に使うのがAzureである。Azureを連携することで、Visual Studioで作られたモノがGitHubに置かれ、GitHubに置かれたモノがAzureのWebApp側で自動的にリポジトリを検知してデプロイし、Web上に展開できるというわけだ。
ここで一旦、デモは終了。「マイクロソフトの技術に驚いた」と笑いながら、ロビンス氏が登壇し、ASP.NETの最新バージョンASP.NET 5(ASP.NET Core 1.0)、および.NET Core 5(.NET Core 1.0)の説明を開始した。「.NET Coreも最新バージョンではクロスプラットフォーム化され、Mac OS XやLinuxでも動くようになっている」とロビンス氏は語る。
.NET Coreがクロスプラットフォームを実現していることを記すため、井上氏はUbuntu環境を立ち上げ、そこに先ほどWindowsのPCで作ったGitHub上にあるソースコードをUbuntu環境にクローンしてみせた。あとはProject.jsonの中に書かれたアプリケーションに必要な依存関係のライブラリをパッケージマネジャーからインストールすれば、Ubuntu環境で容易に動かすことができる。「このように.NET CoreとASP.NET Coreにより、サーバーサイドのクロスプラットフォームが実現する」と井上氏は力強く語る。
エディターとしての機能強化が続く「Visual Studio Code」
ロビンス氏は「今後もVisual Studioはあらゆる開発者に対して、よりよい開発環境を提供していくことを目指している」と語る。昨年11月に米ニューヨークで開催されたマイクロソフトの開発者向けイベント「Microsoft Connect (); // 2015」ではVisual Studioの次のバージョンの話が出たという。どんな機能が搭載されるのか、ビデオによるデモが行われた。
「まずセットアップ画面が変わる」と井上氏は語る。例えばPython開発環境のアドインをインストールするのに、場合によっては1時間以上かかっていたこともあったが、新バージョンではインストーラーが改良される、と井上氏。またVisual Studio自体も軽量化され、最初のインストールの状態もシンプルになるという。「PHPをはじめ、いろいろな言語をVisual Studioで使えるようになる」と井上氏は語る。そしてもう一つ便利なのが、セットアップ画面からマイクロソフトIDでログインすることで、別の環境でセットアップしたVisual Studioと同じ構成ですぐにセットアップを開始できることだ。
またC# 7という次バージョンのC#についても簡単に紹介された。次バージョンではnullの判定がよりシンプルなコードで書けるようになるという。
ロビンス氏の説明は「Visual Studio Code」に移った。非常に軽量で高速なエディターで、「ソースコードをすべてGitHub上で公開し、その下で開発が進められている」とロビンス氏は説明する。Visual Studio Codeはエディター、ソースコントロール、タスク管理という機能で構成され、プロジェクトコードは基本的にYeomanなどのコードジェネレータを使って生成することになる。現在、より簡単に使えるようにエディター周りの機能の充実を図っているほか、Node.jsの開発環境も整備しており、Node.jsのデバッグもできるという。
「Visual Studio Codeも拡張でいろいろな機能を後から追加していくことができる」と井上氏は語り、「Visual Studio Codeに標準で用意されるMarkdownプレビュー機能と共に、Markdownのリンティング(構文解析)の拡張機能を追加することで、Visual Studio CodeをMarkdownエディターとして使うこともできる。Twitterクライアントの拡張機能もあるので、コードを書くのに飽きたらVisual Studio CodeからTwitterを使うこともできる」と語り、会場の笑いを誘った。