[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]] -[[戻る>ASP.NET]] * 目次 [#a6735c56] #contents *概要 [#jc6b91c5] -[[OWIN]]の思想に近いミドルウエアによるリクエストパイプラインの採用 -System.Webからの脱却、[[IIS]]以外のWebサーバーでも実行可能 -パッケージ管理(依存関係の管理)で、必要なものだけをアプリに取り込める。 -クロスプラットフォームでアプリの開発/実行が可能 -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]]と名前を変えてきている。 以下が参考になります。 -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 *構成・機能 [#s7bafdc6] **DNX [#a716c135] DNX : .NET Execution Environment -.NETアプリをクロスプラットフォームで実行するために必要な要素をまとめた環境 -前の呼称はKRE(K Runtime Environment)、XRE(Cross-platform Runtime Environment) ***特徴 [#f7499341] -サイドバイサイド実行 --.NET Framework(Full CLR) --.NET Core(Core CLR)+CoreFXクラスライブラリ --mono -OSの種類に関係なく、アプリを実行可能 --Windows --OS X(Mac) --Linux -パッケージ管理(依存関係の管理)による高いモジュール性(NuGet) -ソースコードから実行可能(Roslyn) ***コマンド [#ee1f3162] -dnvm(.NET Version Manager)コマンドにより現在の環境で使用するDNXを切り替える。 -dnuコマンド: NuGetクライアント。 -dnxコマンド: 現在のDNXを使用して、アプリを実行する。 **IoC(制御の反転) [#i29d9563] -OWIN でも存在していた Startup クラスが、ASP.NET Core では大きく変化している。 ***コンストラクタ [#tac30db5] JSON / 環境変数などから設定を読み込む ***Startup.Configureメソッド [#edc6f236] リクエストパイプラインに認証などの各種ミドルウェアを追加できる。 ***Startup.ConfigureServicesメソッド [#ddddafd9] サービスクラスを DI コンテナに登録する。 -ミドルウェア -フィルター -コントローラ -モデルバインディングなど、 **動的コンパイル [#r133cb0b] コードを変更する度にアプリケーションをコンパイルする必要がない。 +コードを編集 +変更を保存 +ブラウザを更新 +変更内容は自動的に表示 **開発ツール [#i5312ab2] ***Bower [#v9a7e038] -JavaScriptとCSSライブラリが含まれた、クライアント側ライブラリ用のパッケージマネージャ -ASP.NETプロジェクトにJavaScriptライブラリを追加する場合、bower.json設定ファイルに直接追加 ***Grunt、Gulp [#d26159f6] 多くのタスクを管理するタスクランナー -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の紹介 (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] -Microsoft、開発フレームワーク~ 「.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開発]], [[:ASP.NET]], [[:ASP.NET MVC]]