今回のセッション、井上氏は上司であるドリュー・ロビンス氏を伴って登壇した。「いつもは上司だが、今日は私のデモラーを務めてくれる」と語り、井上氏はドリュー氏に挨拶を促した。ドリュー氏は昨年5月に日本に来たばかり。てっきり英語で挨拶するのかと思われたが、「今日のデモでは章先生が私の上司です」とたどたどしいながらも確かな日本語がドリュー氏の口から飛び出した。そんな和やかな空気の中で、井上氏のセッションはスタートした。
夏サミでも.NETの話をした井上氏。「今回はもっと深いところまで突っ込んだ話をする」と告げ、会場の関心を誘った。
テクノロジーだけではなく、社内もオープンに
2014年2月にサティア・ナデラがCEOに就任したことで、マイクロソフトは「社内でもハッカソンを開催するなど、オープンな技術や視点をどんどん取り入れていこうという動きに変わっている」と言う。もはや従来までの「闇夜に浮かぶデス・スターというイメージはない。今は同じデス・スターでも中がオープンになって見えているはず」とブラックなユーモアを含んだ表現でマイクロソフトの変化の様子を例える。事実、新しい.NETの開発は今やすべてGitHub上で行われており、ソースコードもすべて公開されているという。ソースコードだけではない、ロードマップさえもGitHub上でディスカッションされているというのだ。「現在のマイクロソフトは、これからは全てのアプリケーション、すべての開発者のために有益なツールや技術を提供していこうというスタンスに変わっている」と井上氏は言い切る。
では新しい.NETである「.NET 2015」は従来までとどのように変わるというのか。
現状の.NET FrameworkはWindows OSで動く一枚岩のフレームワークだったと述懐する井上氏。「モバイルやクラウドの活用を考えると、従来までの構成だと重かったり、大きすぎたりするなどさまざまな問題があった。つまりこれからの時代においては適しているとは言えない」と井上氏は言うのだ。もちろん従来のWindows向けの.NET自体がなくなるわけではない。.NET 2015でも現行の構成はそのまま引き継がれていく一方で、新しいラインが追加されることとなった。それが.NET Core 5である。「今後の.NETは大きく2つのラインで提供していく」と井上氏は説明する。そして後者の.NET Core 5でクロスプラットフォーム化、オープンソース化が図られているのだ。またASP.NET 5という新しいフレームワークはMac OS XでもLinux上でも動くという。「したがってマイクロソフトのセッションなのに、今日のデモはすべてMacで行う」と語り、会場の関心を大きく引きつけた。
ASP.NET 5の特徴は大きく3つ。第一にクラウドに最適化されたクロスプラットフォームになっていること。第二はGitHub上でオープンソースとして開発が進められていること。「当社ではASP.NET 5のほか、Entity Framework、.NET Core 5、.NET Compiler Platform “Roslyn”などさまざまなプロジェクトがGitHub上で進行している」と井上氏は言う。そして第三の特徴は軽量化、高速化が図られており、完全なSide by Side実行となっていることだ。
中でも井上氏が強調して取り上げたのは、クロスプラットフォーム対応について。先述したようにこれまでの.NETはWindows環境という縛りがあった。しかしASP.NET 5であれば、LinuxやMacをサポートしているので、たとえ運用環境がLinuxになったとしても、アプリケーションを変更することなく動かせるようになるというわけだ。もちろんWindowsのPCが無くても、.NETのコードをMac OS X上で書いてビルドし、クラウドにデプロイする作業もできるようになる。
ここまで解説したところで、ドリュー氏に交替。ドリュー氏はMacのPCを使って、ASP.NETアプリケーションを開発するデモを始めた。
ドリュー氏がひたすらMacのPCでプログラミングする傍らで、井上氏は随時、これまでとの違いや使い方のポイントについて解説した。ASP.NET 5では、設定ファイルがXML形式からJSON形式になることや、Sublime Textのインテリセンス機能の追加などはその一例だ。続いてできあがったソースをAzure上のUbuntuサーバに接続するというデモへと移った。ASP.NET 5ではDocker(コンテナー型のアプリケーション仮想化技術)へも対応しているという。これは昨年11月に米で開催されたConnect();というイベントですでに発表されているが、実はマイクロソフトとDockerは親密な協力関係にある。「これからはVisual Studioのデバッガーが、Dockerのコンテナー上で動くアプリケーションに対しても使えるようになる」と井上氏は付け加える。その言葉に呼応して、ドリュー氏はDockerのコンテナーをつくり、その中でASP.NETのアプリケーションを動かしてみせた。
「実際に.NETのエンジニアの中にもMacを使いたいという人や、サーバはLinuxを使わないといけないという状況の人もいる。そういった人でも、.NET Coreなら、C#やASP.NETの知識をそのまま生かしてLinuxで動くアプリケーションを開発することができるようになる」と井上氏は強調する。その言葉通り、今日のデモの画面には一度もVisual Studioが登場することがなかった。「こんな世界が私たちもみなさんの前で語れる時代が来たことを面白く感じている」と付け加えることも忘れなかった。
すべてのアプリケーション開発のために進化する.NET
デモが終了し、話題は.NETの今後へと移った。先述したように.NET 2015は2つのラインで提供される。一つは従来の.NET Frameworkと互換性を保った新バージョン.NET Framework 4.6。そしてもう一方の.NET Core 5は、オープンソース化、クロスプラットフォーム化が特徴の新しいフレームワークだ。.NET Core 5のクライアントサイドでは.NET Nativeというデバイス最適化、ネイティブコンパイル、小フットプリントなど、モバイルアプリケーションの開発に適したフレームワークが提供されるという。また共通仕様の部分では、Roslyn(ロズリン)というクロスプラットフォーム環境で動くコンパイラが提供された。このRoslynは新しいVisual Studioの重要なポイントとなっているのだそうだ。
デモには登場しなかったが、2015年中に正式リリースが予定されているVisual Studio 2015についても、ダイジェストで紹介された。Visual Studio 2015の特徴的な変更点のひとつは、インストール時にさまざまなサードパーティ製のツールを一緒にセットアップできることだ。「Visual Studio 2015のインストーラーでは、AndroidのNDKやSDK、エミュレータ、さらにはGoogle Chromeなどを追加機能として選択インストールできる」と井上氏。実際、追加機能としてChromeを有効にしてVisual Studio 2015をインストールしたところ、デスクトップにChromeのアイコンができたと言う。Chromeがセットアップできるようになっているのは「クロスプラットフォーム開発において、Chromeは必須のツールだからだ」と井上氏は言う。ChromeだけではなくApache AntやGitも同様にインストールされる。これらのことから分かるとおり、Visual Studio 2015はすべての開発者があらゆるアプリケーションを作れるように変わっているのだ。さらに井上氏は「Webアプリケーション開発のテンプレートも変わった」と続ける。Bower(Twitter社製クライアントサイドパッケージマネージャー)やGrunt(Node.jsベースのビルドタスク自動化ツール)、npm(Nodeパッケージマネージャ)などのサードパーティー製ツールが使えるという。
「このようにVisual Studioはマイクロソフトのツールだが、マイクロソフトのテクノロジーの中だけで閉じられているわけではない。Windowsはもちろん、LinuxやMacでも開発ができるような形で提供していく。それが我々の方向性。すべてのアプリケーション開発のために、これが現在のマイクロソフトが掲げているメインのテーマだ」と井上氏は力を込めた。
現在、Visual Studio 2015が学べるセミナーを全国各地で開催しているという。また「時間を取って行くのは難しい」という人には、オンラインラーニングサイト「Microsoft Virtual Academy」を提供しており、ここでも「.NETやVisual Studioについて学べる」と井上氏は言う。井上氏も同サイトの講師として登場しているという。さらにもっと深い話を知りたいと言う人は、5月26日~27日にザ・プリンスパークタワー東京(東京都港区)で開催される「de:code」に「是非参加してほしい」と井上氏は会場に呼びかけた。de:codeはインフラ技術者、開発者をはじめ、ITに携わるすべてのエンジニアのための技術カンファレンス。今年が第2回目なのだそうだ。有料(4月28日までは早期割引で6万8000円)。昨年以上のセッションが用意されているという。こちらも期待できるイベントとなりそうだ。