今回のセッション、井上氏は上司であるドリュー・ロビンス氏を伴って登壇した。「いつもは上司だが、今日は私のデモラーを務めてくれる」と語り、井上氏はドリュー氏に挨拶を促した。ドリュー氏は昨年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が登場することがなかった。「こんな世界が私たちもみなさんの前で語れる時代が来たことを面白く感じている」と付け加えることも忘れなかった。