[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>ASP.NET]]
-戻る
--[[ASP.NET]]
--[[.NET Core]]

* 目次 [#a6735c56]
#contents

*概要 [#jc6b91c5]
OSSのクロスプラットフォームな開発プラットフォーム

-[[OWIN]]の思想に近いミドルウエアによるリクエストパイプラインの採用
-System.Webからの脱却、[[IIS]]以外のWebサーバーでも実行可能
-パッケージ管理(依存関係の管理)で、必要なものだけをアプリに取り込める。
-クロスプラットフォームでアプリの開発/実行が可能
-ASP.NET Web API、ASP.NET Web Pagesが[[ASP.NET MVC]] 6に統合
-[[ASP.NET Web API]]、[[ASP.NET Web Pages]]が[[ASP.NET MVC]] 6に統合

*経緯 [#v8f1a803]
-[[OWIN]] からの流れを汲んだOSSのクロスプラットフォームな開発プラットフォーム(的な)
-ASP.NET vNext([[OWIN]]) ---> ASP.NET 5 ---> [[ASP.NET Core]]と名前を変えてきている。
*変遷 [#v8f1a803]
[[OWIN / Katana Project>OWIN]]からの流れを汲む。

**名称 [#ja8a96fe]
[[OWIN / Katana Project>OWIN]] -> ASP.NET vNext([[OWIN]]) -> ASP.NET 5 -> ASP.NET Core

と、名称が、過去2・3回に渡って、変更されている。

|#|ランタイム|[[MVC>ASP.NET MVC]]|[[Entity Framework]]|h
|1|[[OWIN / Katana Project>OWIN]]|-|-|
|2|ASP.NET vNext|-|-|
|3|ASP.NET 5|MVC 6|EF 7|
|4|ASP.NET Core 1.0|Core MVC 1.0|EF Core 1.0|

**参考 [#p949c891]
以下が参考になります。

-Road to RTM - ASP.NET Core に至るまでの迷走の歴史 - しばやん雑記~
http://blog.shibayan.jp/entry/20160608/1465396234
--Connect(); での発表と ASP.NET の今後について - しばやん雑記~
http://blog.shibayan.jp/entry/20141116/1416067227
--ASP.NET 5 から ASP.NET Core 1.0 に変更になります - しばやん雑記~
http://blog.shibayan.jp/entry/20160120/1453256566

-オープンソース版ASP.NET「ASP.NET 5.0」の新名称を~
「ASP.NET Core 1.0」にすると発表:CodeZine(コードジン)~
https://codezine.jp/article/detail/9206

**名称の変更 [#ja8a96fe]
名称が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
*次のステップ [#x70dfdf3]

*構成・機能 [#s7bafdc6]
**DNX [#a716c135]
DNX : .NET Execution Environment
**開発 - デプロイ [#d7470375]
***[[開発>ASP.NET Coreの開発]] [#d597b5ec]
***[[デプロイ>ASP.NET Coreのデプロイ]] [#h37ff39e]
***[[dotnetコマンド]] [#xccfc6f6]

-.NETアプリをクロスプラットフォームで実行するために必要な要素をまとめた環境
-前の呼称はKRE(K Runtime Environment)、XRE(Cross-platform Runtime Environment)
**フレームワーク [#v15b09d4]
***[[ASP.NET Core MVC]] [#k62fd05d]
***[[ASP.NET Web Pages]] [#m1a2b2ec]
***[[ASP.NET Core Identity]] [#l3ce8ac5]

***特徴 [#f7499341]
-サイドバイサイド実行
--.NET Framework(Full CLR)
--.NET Core(Core CLR)+CoreFXクラスライブラリ
--mono
**サービス [#eb6219c3]

-OSの種類に関係なく、アプリを実行可能
--Windows
--OS X(Mac)
--Linux
***[[Session>ASP.NET CoreのSession利用方法]] [#j2507f52]

-パッケージ管理(依存関係の管理)による高いモジュール性(NuGet)
-ソースコードから実行可能(Roslyn)
***[[JavaScript Services]] [#n03a9781]
-[[Spa Services]]
-[[Node Services]]

***コマンド [#ee1f3162]
-dnvm(.NET Version Manager)コマンドにより現在の環境で使用するDNXを切り替える。
-dnuコマンド: NuGetクライアント。
-dnxコマンド: 現在のDNXを使用して、アプリを実行する。
**インフラストラクチャ [#n6572b9e]
***[[ASP.NET CoreのWebサーバ]] [#gad6a65e]
***[[ASP.NET Coreのデータ保護]] [#s9df0012]

**IoC(制御の反転) [#i29d9563]
-OWIN でも存在していた Startup クラスが、ASP.NET Core では大きく変化している。
**[[ASP.NET Coreへの移行]] [#z4216656]

***コンストラクタ [#tac30db5]
JSON / 環境変数などから設定を読み込む
*参考 [#d425994d]

***Startup.Configureメソッド [#edc6f236]
リクエストパイプラインに認証などの各種ミドルウェアを追加できる。
**MSDN magazine [#j399dd88]
***ASP.NET [#z115771f]
-依存関係の挿入による ASP.NET Core でのクリーンなコードの作成~
https://msdn.microsoft.com/ja-jp/magazine/mt703433.aspx
-カスタム ミドルウェアを利用した ASP.NET Core アプリにおける 404 の検出と解決~
https://msdn.microsoft.com/ja-jp/magazine/mt707525.aspx

***Startup.ConfigureServicesメソッド [#ddddafd9]
サービスクラスを DI コンテナに登録する。
-ミドルウェア
-フィルター
-コントローラ
-モデルバインディングなど、
***ASP.NET Core [#v2370824]
-Visual Studio Code と Entity Framework によるアプリの作成~
https://msdn.microsoft.com/magazine/mt767698
-ASP.NET Core 2.0 入門~
https://msdn.microsoft.com/ja-jp/magazine/mt842504

**動的コンパイル [#r133cb0b]
コードを変更する度にアプリケーションをコンパイルする必要がない。
-[[MVC関連>ASP.NET Core MVC#v2370824]]

+コードを編集
+変更を保存
+ブラウザを更新
+変更内容は自動的に表示
***Cutting Edge [#c2139e64]
-ASP.NET 開発者向けの ASP.NET Core~
https://msdn.microsoft.com/ja-jp/magazine/mt808498
-ASP.NET Core でのポリシーベースの承認~
https://msdn.microsoft.com/ja-jp/magazine/mt826337
-Cookies, Claims and Authentication in ASP.NET Core~
https://msdn.microsoft.com/ja-jp/magazine/mt842501
-ASP.NET Core アプリケーションの構成~
https://msdn.microsoft.com/ja-jp/magazine/mt814420

**開発ツール [#i5312ab2]
***Bower [#v9a7e038]
-JavaScriptとCSSライブラリが含まれた、クライアント側ライブラリ用のパッケージマネージャ
-ASP.NETプロジェクトにJavaScriptライブラリを追加する場合、bower.json設定ファイルに直接追加
-[[MVC関連>ASP.NET Core MVC#c2139e64]]

***Grunt、Gulp [#d26159f6]
多くのタスクを管理するタスクランナー
**その他 [#c0558acb]

-LESS ( The dynamic stylesheet language )
-TypeScript、CoffeeScriptファイルのコンパイル
-lint(コンパイラより厳密なチェックを行う)の実行
-JavaScriptの縮小
-JavaScriptの単体テストの実行
-,etc.

**パッケージ管理(依存関係の管理) [#u2a7c3a4]
***NuGetパッケージマネージャ [#f1b06e46]
NuGetパッケージマネージャを使用して管理する。

***project.json [#w0759032]
-NuGetパッケージとバージョンを示すJSONファイル(project.json)を直接編集
-IntelliSenseでNuGetパッケージを検索して追加できる。

**クラウド [#v476f416]
***config [#d431e2f7]
ソース(JSON、XML、環境変数など)から名前付きの値を要求

*ASP.NET CoreとASP.NET 4.6 [#m6d0cb17]
**機能面 [#h4eca79e]
ASP.NET CoreとASP.NET 4.6 は別物

**乗り換えについて検討 [#r3fe298f]
[[ASP.NET Core]]に振り切ってイイか?は、~

-例えば、[[SaaS開発>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?QandAAnalysisEngine%E3%81%AE%E6%8A%80%E8%A1%93%E9%81%B8%E5%AE%9A]]の方でChartControlなどを使っているが、~
[[ASP.NET Core]]ではソコまでの機能拡充がされる気配が今の所無いと思う。~

-Linuxも必須の要件ではないし、そもそも私のドメインはビジネス・アプリケーションだし、~
例えば、Dynamics CRMもWeb Forms (ASPX)で実装されていたりする。~

と、個人的には結構微妙と考えている。

-Hello World, [[ASP.NET Core]] 1.0! – とあるコンサルタントのつぶやき~
https://blogs.msdn.microsoft.com/nakama/2016/07/07/aspnetcore10/

解る、

-neue cc - LightNode 2 - OWINから[[ASP.NET Core]]への移植実例~
http://neue.cc/2016/07/28_535.html

ドメインが違うけど解る。

更に、[[ASP.NET Core]]には以下のような問題もあるもよう。

-開発者を苦しめる.NETのHttpClientのバグと紛らわしいドキュメント~
https://www.infoq.com/jp/news/2016/09/HttpClient

とは言え、時代に追随するためにはどこかのタイミングで飛び移る必要はある気はする。~
しかし、なんとなく、まだ機が熟していないのかな?という感じの情報が散在している。~

*参考 [#d425994d]

**ASP.NET 5 [#u114f5a7]
-Visual Studio Code を使用した ASP.NET 5 Web アプリの作成~
https://azure.microsoft.com/ja-jp/documentation/articles/web-sites-create-web-app-using-vscode/

***ASP.NET 5 [#u114f5a7]
-ASP.NET 5の紹介 (1/4):CodeZine(コードジン)~
https://codezine.jp/article/detail/8537

-特集:ASP.NET 5を探る:~
「最新.NET技術がよく分からない」と感じる人のための用語整理 (1/3) - @IT~
http://www.atmarkit.co.jp/ait/articles/1505/19/news016.html

**ASP.NET Core [#zbfe757a]
***ASP.NET Core [#zbfe757a]
-ASP.NET Core カテゴリーの記事一覧 - しばやん雑記~
http://blog.shibayan.jp/archive/category/ASP.NET%20Core

-Microsoft、開発フレームワーク~
「.NET Core 1.0」「ASP.NET Core 1.0」「EF Core 1.0」を提供開始 -INTERNET Watch~
「.NET Core 1.0」「ASP.NET Core 1.0」「EF Core 1.0」を提供開始 - INTERNET Watch~
http://internet.watch.impress.co.jp/docs/news/1007447.html

-ASP.NET Core 1.0の概要を整理する - ryuichi111stdの技術日記~
http://ryuichi111std.hatenablog.com/entry/2016/05/28/160518
-ASP.NET Core アプリを Ubuntu サーバーで公開 - Qiita~
http://qiita.com/creativewebjp/items/48ede6a3f920ba26ff59

**移行関係の情報 [#d18846cb]
-.NET Core - .NET Core による .NET のクロスプラットフォームへの移行~
https://msdn.microsoft.com/ja-jp/magazine/mt694084.aspx
-サイトを ASP.NET Core + .NET Core で作り直しました - 😊ソフトウェア開発者のブログ~
https://creativeweb.jp/archive/20160223
-.NET Coreへの移植 | ++C++; // 未確認飛行 C ブログ~
http://ufcpp.net/blog/2016/2/porting-to-net-core/

----
Tags: [[:.NET開発]], [[:OWIN]], [[:ASP.NET]], [[:ASP.NET MVC]]
Tags: [[:.NET開発]], [[:.NET Core]], [[:ASP.NET]], [[:ASP.NET MVC]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS