互換性も心配なし、旧バージョンもきちんとサポート
このKRE上で、アプリケーションを動かすための仕組みがK command(ランタイムエントリポイント)である。「例えば皆さんがアプリケーションを実行するのに必要なコマンドを“k run”というように独自に登録できる」ようになる。またKREのバージョン管理ができるよう、KVM(K Version Manager)を用意。つまり「アプリケーションで使われるランタイムのバージョン管理ができる」というわけだ。K Package Manager(KPM)はアプリケーションのパッケージ管理。アプリケーションで使うさまざまなライブラリを管理し、アプリケーション上にロードする。
「もう一つ大きく変わるところは、プロジェクト設定のファイルがproject.jsonというファイルで記述される形になること」と井上氏は続ける。今まで設定ファイルというとXMLが多かったが、「今のトレンドを組んでjson形式を採用した」のだそう。project.jsonファイルには、ランタイムバージョンや依存関係などの実行に必要な情報を記述する。ただし、Visual Studio設定などの開発ツールの関連情報は含まない。
ここまで解説し、実際に、どのように使うのか、井上氏はGitHub上にあるASP.NETのソースコードを使って、デモを実施した。
このようにASP.NET vNextは構造がかなり変わる。そこで気になるのが、互換性だ。「Web Forms、MVC 5、Web API 2、Web Pages 3、SignalR2、EF 6は.NET vNextでフルサポートされる。ASP.NET vNextではMVCやWeb API、Web Pagesは統合され、SignalRも正式にサポートされるようになる。ただ新しいランタイムのでも旧バージョンもちゃんと動くようサポートしていく」と井上氏は言い切る。また従来の.NET Frameworkフルセット「Desktop CLR(net451)に加え、クラウドに最適化されたサブセット版CoreCLR(k10)が2種類用意される。
最後に井上氏が取り上げたのが、Visual StudioでASP.NET vNextをどう使っていくかということ。同セッションではすでにリリースされている次期バージョンのVisual Studio 14 CTP版を使って、実際にクラウドに最適化されたアプリケーションを作成するデモを行った。「CTP2版を試す場合は、既存のVisual Studioと共存できないので、新しい環境を作って試すこと」という注意を促す井上氏。またAzureのユーザーに向けては、「Azure仮想マシンイメージが利用可能なため、ぜひ使ってほしい」と呼びかけた。
さらにMVCのアプリケーションをAzure等に配置するデモも実施。さまざまな環境で容易に動かすことができることを証明した。
「ASP.NET vNextをぜひ、使ってみてほしい。開発ツールやエディター、プラットフォームもいろいろ選ぶことができる。さらにメモリ、リソースをなるべく使わないような形でモジュール化されるので、アプリケーションのパフォーマンス向上にもつながるはず。また最新のVisual Studioは最強の開発ツールで皆様の開発生産性を上げるのでこちらも合わせて使ってほしい」(井上氏)。
最後に「オープンソースになった.NETを使って、これからクラウド最適化という世界でアプリケーションを作っていってほしい」と.NETの今後を示唆し、セッションを終えた。