ASP.Net5の新機能::機能の説明
公開: 2014-11-27 ASP.NET5.0の紹介
ASP.NET 5は、最新のWebアプリケーションを構築するために、ゼロから構築され、.NETファミリのレガシーに傾倒しています。 ASP.Net 5.0に新しく追加された機能は、顧客の要求とフィードバックに基づいて構築され、ローカル構内で展開または実行することを目的としたアプリケーションの最適化された開発フレームワークを実現します。 ASP.Netは、オーバーヘッドがごくわずかなコンパクトなコンポーネントで構成されているため、開発者はアプリケーションを構築する際に柔軟性を感じることができます。
ASP.Net 5.0で導入された変更は、最新のWebアプリケーションを作成することを目的としています。 これらの変更により、開発プロセス、Webホスティング、およびアプリケーションの保守が確実に簡素化されます。 レガシーアプリケーションは、変更なしで新しいバージョンのASP.NETで実行されます。 ただし、ASP.NET 5の新機能を利用するには、コードを新しいフレームワークに移植する必要があります。
ASP.NET5の機能
単一のプログラミングモデルでのMVC、Web API、およびWebページの組み合わせ
ASP.NET 5では、MVC、Web API、およびWebページがMVC 6と呼ばれる単一のフレームワークにバンドルされています。このアプローチにより、フレームワークから重複が排除され、開発者がアプリを簡単に構築できるようになります。 したがって、MVC、Web API、またはWebページのコンテキスト内にいるかどうかに応じて異なるコードを記述する必要はありません。
異なる.NETFrameworkを並べて使用する
アプリケーションが特定のバージョンの.NETFrameworkに依存している場合、すべてのアプリで同じバージョンの.NETを実行する必要があります。 一部のアプリで最新バージョンの.NETを使用したい場合は、すべてのレガシーアプリが新しいバージョンで適切に機能するかどうか確信が持てない場合があります。
この状況を克服するために、ASP.NET 5を使用すると、展開パッケージ内で依存関係を定義できるため、使用する.NETのバージョンをアプリごとに指定できます。 一部のアプリでは最新の.NETバージョンのメリットを享受でき、他のアプリでは古い.NETバージョンを使い続けることができます。 これらの異なるバージョンの.NETはすべて、問題なく並べて実行できます。
IISでセルフホストまたはホストする機能
ASP.NET 5は、IISでアプリケーションをホストするか、独自のプロセスでアプリケーションを自己ホストする柔軟性を提供します。 Core CLRを対象とするアプリケーションをビルドする場合、デプロイメントパッケージ内にバンドルされているすべての依存関係を使用してアプリケーションをデプロイできます。 したがって、アプリケーションとその依存関係は完全に自己完結型であり、.NETのシステムインストールから独立しています。 この新機能により、あらゆるタイプのデバイスまたはホスティングプラットフォームでアプリを自由にホストできます。 あなたがする必要があるのは、そのホストにプロジェクトをデプロイすることだけです。
プロジェクトを再構築せずにブラウザで変更を確認する
Visual Studio 2015は、ASP.NETアプリケーションに軽量の開発者エクスペリエンスを提供します。 コードに変更を加えて保存し、ブラウザを更新するだけです。 プロジェクトを再構築しなくても、Webブラウザでコードの変更を確認できます。
Monoランタイムを使用してOSXおよびLinuxで実行できる新しい柔軟でクロスプラットフォームのランタイム
以前は、.NETFrameworkは単一のインストールとして提供されていました。 .NETのリリースごとに機能が徐々に追加されましたが、削除されることはありませんでした。 したがって、フレームワークのサイズは絶えず大きくなりました。 このアプローチにより、.NETがインストールされたWindowsマシンがすべての.NETアプリをサポートするようになりますが、各アプリケーションがインストールされたすべての機能を使用していない可能性があります。
ASP.NET 5は、次の3つのランタイムを提供する柔軟性を提供します。
- フル.NETCLR:フル.NET CLRは、VisualStudioプロジェクトのデフォルトのランタイムです。 APIセット全体を提供するため、下位互換性のための最良のオプションです。
- Core CLR(クラウドに最適化されたランタイム): Core CLRは、ASP.NET5プロジェクト用の純粋なモジュラーランタイムです。 コンポーネントに設計されているため、アプリに必要な機能のみを含める必要があります。 コアCLRは、完全な.NETCLRの約200MBではなく、約11MBです。
- クロスプラットフォームCLR: Microsoftは、LinuxおよびMac OS X用のクロスプラットフォームランタイムをリリースします。これにより、MacおよびLinuxマシンで.NETアプリを開発および実行できるようになります。 リリースまでは、MonoCLRをクロスプラットフォーム開発に使用できます。 既定では、VisualStudioプロジェクトは完全な.NETCLRを使用します。 プロジェクトの構成プロパティでコアCLRを指定できます。
最高のスループットを実現するモジュラーHTTPリクエストパイプライン
ASP.NET 5では、モジュール式で高速な新しいHTTP要求パイプラインが導入されています。 この新しいパイプラインを使用すると、アプリケーションの実行に必要なコンポーネントのみを追加できます。 このアプローチにより、パイプラインのオーバーヘッドが削減されるため、アプリケーションからの出力が向上します。
NuGetパッケージマネージャーによる依存関係の管理
ASP.NET 5を使用すると、プロジェクトにアセンブリ参照を追加する必要がない方法で、プロジェクトの依存関係を管理できます。 代わりに、NuGetパッケージマネージャーを使用してNuGetパッケージを追加するか、プロジェクトで使用されているNuGetパッケージとバージョンを一覧表示するJSONファイル(project.json)を編集できます。 依存関係を追加するには、NuGetパッケージの名前とバージョン番号をproject.jsonファイルに入力するだけです。
project.jsonファイルには、プロジェクトに直接追加されたNuGetパッケージのみが含まれます。 他のパッケージに依存するNuGetパッケージを追加すると、それらの2次依存関係が読み込まれますが、project.jsonファイルにはリストされません。 このアプローチにより、project.jsonファイルが不器用にならず、管理が容易になります。 Project.jsonファイルには、任意のテキストエディターを使用して依存関係を追加できます。
クラウドに最適化された環境構成
ASP.NET 5で構築されたプロジェクトは、クラウドプラットフォーム向けに高度に最適化されており、簡単に展開できます。 Visual Studio 2015では、Web.configファイルの代わりに新しい環境構成が導入されています。 さまざまなソース(JSON、XML、環境変数など)から名前付きの値を要求できます。 環境ごとに値を指定できます。デプロイ後、アプリは正しい値を読み取るだけです。
.NET Foundationを介したオープンソースであり、GitHubに貢献しています
ASP.NET5コード全体はGitHubで入手できます。 GitHubはすべての開発のリポジトリとして使用されるため、どのような変更がいつ行われたかを確認できます。 コードをダウンロードし、ASP.NET機能の独自のカスタマイズされた実装を構築し、GitHubで変更を送信できます。
レガシーアプリケーションの心配はありません
以前のバージョンのASP.NETで構築したアプリケーションは、引き続き新しい.NETFrameworkで動作します。 ASP.NET 5の新機能が必要ない場合は、これらのアプリケーションを更新または移植する必要はありません。
結論
確かに、Microsoftは、最新のWebアプリを開発するために、ASP.NET5でいくつかの革新的な設計レベルの変更を行いました。 ASP.NET 5の最も魅力的な部分は、完全にオープンソースであり、GitHubで利用できることです。 MicrosoftはGitHubでASP.NET5を開発したため、開発者はコードを理解し、その機能強化に貢献できます。 マイクロソフトは、ASP.Netをオープンソースにすることで、コミュニティや開発者にコードをダウンロードして、ASP.NETの独自のカスタマイズされた実装を構築するように依頼しました。