Open棟梁Project - マイクロソフト系技術情報 Wiki
目次 †
概要 †
- OWINの思想に近いミドルウエアによるリクエストパイプラインの採用
- System.Webからの脱却、IIS以外のWebサーバーでも実行可能
- パッケージ管理(依存関係の管理)で、必要なものだけをアプリに取り込める。
- クロスプラットフォームでアプリの開発/実行が可能
- ASP.NET Web API、ASP.NET Web PagesがASP.NET MVC 6に統合
経緯 †
- OWIN からの流れを汲んだOSSのクロスプラットフォームな開発プラットフォーム(的な)
- ASP.NET vNext(OWIN) ---> ASP.NET 5 ---> ASP.NET Coreと名前を変えてきている。
以下が参考になります。
名称の変更 †
名称が2回程変更されている。
- ASP.NET vNext(OWIN)
- ASP.NET 5 / MVC 6 / EF 7
- ASP.NET Core 1.0 / Core MVC 1.0 / EF Core 1.0
構成・機能 †
DNX †
DNX : .NET Execution Environment
- .NETアプリをクロスプラットフォームで実行するために必要な要素をまとめた環境
- 前の呼称はKRE(K Runtime Environment)、XRE(Cross-platform Runtime Environment)
特徴 †
- サイドバイサイド実行
- .NET Framework(Full CLR)
- .NET Core(Core CLR)+CoreFXクラスライブラリ
- mono
- パッケージ管理(依存関係の管理)による高いモジュール性(NuGet)
- ソースコードから実行可能(Roslyn)
コマンド †
- dnvm(.NET Version Manager)コマンドにより現在の環境で使用するDNXを切り替える。
- dnuコマンド: NuGetクライアント。
- dnxコマンド: 現在のDNXを使用して、アプリを実行する。
IoC(制御の反転) †
- OWIN でも存在していた Startup クラスが、ASP.NET Core では大きく変化している。
コンストラクタ †
JSON / 環境変数などから設定を読み込む
Startup.Configureメソッド †
リクエストパイプラインに認証などの各種ミドルウェアを追加できる。
Startup.ConfigureServices?メソッド †
サービスクラスを DI コンテナに登録する。
- ミドルウェア
- フィルター
- コントローラ
- モデルバインディングなど、
動的コンパイル †
コードを変更する度にアプリケーションをコンパイルする必要がない。
- コードを編集
- 変更を保存
- ブラウザを更新
- 変更内容は自動的に表示
開発ツール †
Bower †
- JavaScriptとCSSライブラリが含まれた、クライアント側ライブラリ用のパッケージマネージャ
- ASP.NETプロジェクトにJavaScriptライブラリを追加する場合、bower.json設定ファイルに直接追加
Grunt、Gulp †
多くのタスクを管理するタスクランナー
パッケージ管理(依存関係の管理) †
NuGetパッケージマネージャを使用して管理する。
project.json †
- NuGetパッケージとバージョンを示すJSONファイル(project.json)を直接編集
- IntelliSense?でNuGetパッケージを検索して追加できる。
クラウド †
config †
ソース(JSON、XML、環境変数など)から名前付きの値を要求
ASP.NET CoreとASP.NET 4.6 †
機能面 †
ASP.NET CoreとASP.NET 4.6 は別物
乗り換えについて検討 †
ASP.NET Coreに振り切ってイイか?は、
- Linuxも必須の要件ではないし、そもそも私のドメインはビジネス・アプリケーションだし、
例えば、Dynamics CRMもWeb Forms (ASPX)で実装されていたりする。
と、個人的には結構微妙と考えている。
解る、
ドメインが違うけど解る。
更に、ASP.NET Coreには以下のような問題もあるもよう。
とは言え、時代に追随するためにはどこかのタイミングで飛び移る必要はある気はする。
しかし、なんとなく、まだ機が熟していないのかな?という感じの情報が散在している。
参考 †
ASP.NET 5 †
ASP.NET Core †
移行関係の情報 †