Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。Guthrie氏のブログを、氏の許可を得て、翻訳、転載したものです。米Microsoft社の副社長で、ASP.NETやSilverlightの開発チームを統率する氏のブログでは、次期製品を含む最新の技術をいち早く紹介しています。1.0の最初のプレビューリリースはおよそ15年位前になります。それ以来、数百万もの開発者がこれを使用し、すばらしいWebアプリケーションを構築してきており、長年にわたって、非常に多くの機能を追加し進化させてきました。5という現在作業中であるASP.NETの新しいリリースについてご報告できうれしく思います。この新しいリリースは、ASP.NETに行った最大級の構造的更新になります。今回のリリースで、ASP.NETをよりスリムでよりモジュール化されたクロスプラットフォームでクラウドに最適化されたものにしています。5は、現在プレビューリリースとして利用可能です。2015の最新CTPをダウンロードして頂ければすぐにお使い頂けます。5は、最新のWebアプリケーションを構築するためのオープンソースWebフレームワークで、Windows、Linux、Mac上で開発および実行できます。APIの機能を組み合わせたものになります。3の基礎にもなっており、クラウド接続されたアプリケーションに対してリアルタイム機能を追加できます。Framework上でも実行できます。5では、数多くの構造上の変更を行っており、それによりコアのWebフレームワークはよりスリムに(System.Web.dllが不要)、よりモジュール化されます(ほぼすべての機能がNuGetモジュールとして実装され、アプリは必要なものだけ持つように最適化できます)。5には、以下の基礎的改善が行われています。APIに対するシングル配列Webスタッククラウド対応環境ベースの構成NuGetパッケージの作成および使用に対する統合サポート依存性注入に対するビルトインサポートIIS上でのホスト機能または独自プロセスでの自己ホスト機能つまり最終的に、ASP.NETが非常に馴染みがあり、かつさらに最新のWeb開発のために調整されたものになります。5は2つのランタイム環境で動作するため、アプリをホストする際により大きな柔軟性が得られます。2つのランタイムは、以下の通りです。Core-より小さいフットプリントを持つ新しいモジュール式クロスプラットフォームのランタイムです。Coreを対象にすると、以下のような新しい利点が利用できます。Coreランタイムを展開することができます。ホストのオペレーティングシステム上にインストールされたランタイムのバージョンではなく、この展開バージョンのランタイムでアプリを実行できます。ランタイムのバージョンは、他のアプリのバージョンとサイドバイサイドで実行します。必要なら、他のアプリに影響を与えることなくランタイムを更新することもできますし、またシステム上の他のアプリが更新されてもそのまま同じバージョンで実行し続けることもできます。これにより、より簡単に、かつシステムで実行中の他のアプリによりインパクトを少なくアプリの展開やフレームワークの更新が行えます。2)アプリは、本当に必要な機能にのみ依存します。そのため、アプリに無関係な機能に対するランタイム更新を促すメッセージが表示されなくなります。アプリの機能におそらく無関係な更新プログラムのテストや展開に費やす時間が減少します。3)アプリは、クロスプラットフォームで実行できます。Coreのクロスプラットフォームバージョンを提供します。開発に使用するオペレーティングシステムや展開の対象にするオペレーティングシステムに関わらず.NETを使用できます。ランタイムのクロスプラットフォーム版はまだリリースされていませんが、現在GitHub上で作業中で、公式プレビューは間もなく公開する予定にしています。Coreを対象にする場合既存のアプリを変更する必要があります。5アプリケーションを実行できます。API一式にアクセスできます。既存のアプリケーションとライブラリは、このランタイム上で変更することなく動作します。API、Webページは相補的な機能を提供しており、ソリューション開発時によく一緒に使用されます。過去のASP.NETリリースでは、これらのプログラミングフレームワークが別々に実装されていたため、重複や矛盾が発生していました。6では、1つのプログラミングモデルにこれらのモデルをマージしています。UIとデータサービスを処理する1つのWebアプリケーションが作成できます。堅牢なMVCアプリケーションにWebページで開発されたシンプルなサイトをシームレスに移行することも可能です。これで、同じコントローラからRazorビューとコンテントネゴシエーションされたデータを返すことができ、同じMVCフィルタパイプラインが使用できます。既存フレームワークの統一以外に、新しいタグヘルパー機能など、サーバー側のWeb開発が簡単になる新機能も追加しています。タグヘルパーにより、マークアップでタグの文法を拡張するだけで、ビューでHTMLヘルパーが使用できるようになります。</div></div>以下が書けます。</div></div>タグヘルパーは、ビューがより自然で読みやすくなるように編集してくれます。HTMLエディタをフルに活用しつつ、追加されたマークアップでHTMLヘルパーの出力のカスタマイズを簡素化することもできます。6アプリの作成例については、これらのチュートリアルをご確認ください。