猫でもわかる asp.net 5 入門

42
猫でもわかる ASP.NET 5 入門 しばやん (@shibayan)

Upload: tatsuro-shibamura

Post on 26-Jul-2015

3.714 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 猫でもわかる ASP.NET 5 入門

猫でもわかる ASP.NET 5 入門

しばやん (@shibayan)

Page 2: 猫でもわかる ASP.NET 5 入門

自己紹介

• しばやん

• @shibayan

• Microsoft MVP for ASP.NET/IIS

• http://blog.shibayan.jp/

Page 3: 猫でもわかる ASP.NET 5 入門

はじめに

• 40 分聞くだけで、ASP.NET 5 について知ったかぶれるはずです

• まだ 1.0.0-beta6 なので、変わる可能性があります

Page 4: 猫でもわかる ASP.NET 5 入門

アジェンダ

• 実行環境の進化– DNX / CoreCLR

• フレームワークの進化– MVC 6 / Entity Framework 7

• 開発環境の進化– VS2015 / Visual Studio Code

Page 5: 猫でもわかる ASP.NET 5 入門

アジェンダ

• 実行環境の進化– DNX / CoreCLR

• フレームワークの進化– MVC 6 / Entity Framework 7

• 開発環境の進化– VS2015 / Visual Studio Code

Page 6: 猫でもわかる ASP.NET 5 入門

DNX

Page 7: 猫でもわかる ASP.NET 5 入門

ざっくり説明

• クロスプラットフォームに対応した .NET アプリケーション実行環境

–依存関係の解決 / コンパイラ (Roslyn) / パッケージマネージャ (NuGet) など一式

• ASP.NET 5 に限定しない実行環境

Page 8: 猫でもわかる ASP.NET 5 入門

3 つのコマンド

• dnvm コマンド– DNX のインストールと管理を行う

• dnu コマンド– 開発中に便利な機能が実装されている

• dnx コマンド– 実際にアプリケーションを実行する

Page 9: 猫でもわかる ASP.NET 5 入門

dnvm コマンド

• dnvm upgrade

–最新の Stable 版をインストールする

• dnvm upgrade –u

–最新の Unstable 版をインストールする

–これだけ覚えておけば何とかなる

Page 10: 猫でもわかる ASP.NET 5 入門

dnu コマンド

• dnu restore

• 必要なパッケージを NuGet から入れる

–これだけ覚えておけば何とかなる

Page 11: 猫でもわかる ASP.NET 5 入門

dnx コマンド

• dnx . (run / web / kestrel)

• アプリケーションを実行してくれる

–これだけ覚えておけば何とかなる

Page 12: 猫でもわかる ASP.NET 5 入門

デモ

• コンソールアプリを DNX 使って動かす

• dnu restore -> dnx . run だけ使う

Page 13: 猫でもわかる ASP.NET 5 入門

CORECLR

Page 14: 猫でもわかる ASP.NET 5 入門

ざっくり説明

• .NET Framework の実行部分 (CLR) をクロスプラットフォームに対応させたもの

• 今は x64 のみ

– x86 / ARM / ARM64 にも対応予定

Page 15: 猫でもわかる ASP.NET 5 入門

CoreCLR 単体でも使える

• ソースを自分でビルドすると、corerun コマンドで exe を実行できる

• Clang 3.5 以上が必要、時間もかかる

–何よりも依存関係の解決が大変

Page 16: 猫でもわかる ASP.NET 5 入門

DNX で試す場合

• dnvm upgrade -u -r coreclr

• CoreCLR 版 DNX をインストール

–まだちょっと不安定

Page 17: 猫でもわかる ASP.NET 5 入門

デモ

• corerun コマンドを使ってみる

• コンソールアプリを CoreCLR 版 DNX を使って動かす

Page 18: 猫でもわかる ASP.NET 5 入門

アジェンダ

• 実行環境の進化– DNX / CoreCLR

• フレームワークの進化– MVC 6 / Entity Framework 7

• 開発環境の進化– VS2015 / Visual Studio Code

Page 19: 猫でもわかる ASP.NET 5 入門

ASP.NET 5

Page 20: 猫でもわかる ASP.NET 5 入門

ざっくり説明

• DNX で動かすために新開発されたASP.NET の新バージョン

• IIS へ依存しないフレームワークに

– OWIN 的な実装に(察して)

Page 21: 猫でもわかる ASP.NET 5 入門

Web サーバーについて

• DNX / ASP.NET 5 単体では Web サーバーの機能がない

• Ruby のようにプラガブルに

– IIS / HttpListener / Kestrel (libuv)

Page 22: 猫でもわかる ASP.NET 5 入門

プロジェクトが多い

• http://github.com/aspnet で開発中

• 多すぎて理解が追い付いてない

– RTM になってから頑張る

Page 23: 猫でもわかる ASP.NET 5 入門

ASP.NET MVC 6

Page 24: 猫でもわかる ASP.NET 5 入門

ざっくり説明

• DNX 上で動作する ASP.NET MVC

– MVC 5 との互換性はソースレベルで多少

• 新機能がたくさん

– Unified Framework / Async / DI

– Tag Helper / View Components

Page 25: 猫でもわかる ASP.NET 5 入門

Unified Framework

• ASP.NET 4.6 までは

– MVC 5 / Web Pages 3 / Web API 2

• ASP.NET 5 からは

– MVC 6 (Web Pages / Web API)

Page 26: 猫でもわかる ASP.NET 5 入門

Async

• HTTP パイプラインから Razor の HTML 生成まで、全てが非同期

• C# 5.0 の async / await は必須機能

Page 27: 猫でもわかる ASP.NET 5 入門

Dependency Injection

• 機能を全て Service として扱う

– Startup.cs の中で DI の設定を行ってる

• 既存機能の一部だけ差し替えとか出来る

Page 28: 猫でもわかる ASP.NET 5 入門

Tag Helpers

• MVC 5 までは Html Helper

• MVC 6 からは Tag Helpers

@Html.ActionLink(“リンクテキスト”, “Index”, “Home”)

<a asp-controller=“Home” asp-action=“Index”>リンクテキスト</a>

Page 29: 猫でもわかる ASP.NET 5 入門

View Components

• Html.RenderAction に近いもの

–考え方的には Web Forms のカスタムコントロールにも近い

• まだ仕様が微妙に fix してない

Page 30: 猫でもわかる ASP.NET 5 入門

おまけ:Razor 大進化

• 新キーワード追加

– @await / @inject

• CodeDOM に依存しないコード生成

–生成したコードは Roslyn でコンパイル

Page 31: 猫でもわかる ASP.NET 5 入門

ENTITY FRAMEWORK 7

Page 32: 猫でもわかる ASP.NET 5 入門

ざっくり説明

• これまでの Entity Framework が DNX で動かなくなるので頑張って開発中

• 生成される SQL の質がかなり向上

Page 33: 猫でもわかる ASP.NET 5 入門

対応する DB

• 今のところ SQL Server と SQLite

–開発用には In-Memory もある

• 将来的には Azure Table と Redis

– v1 の時点では諦めたらしい

Page 34: 猫でもわかる ASP.NET 5 入門

アジェンダ

• 実行環境の進化– DNX / CoreCLR

• フレームワークの進化– MVC 6 / Entity Framework 7

• 開発環境の進化– VS2015 / Visual Studio Code

Page 35: 猫でもわかる ASP.NET 5 入門

VISUAL STUDIO 2015

Page 36: 猫でもわかる ASP.NET 5 入門

当然ながら対応

• 特に紹介することもないかなと思う

• 終わり

Page 37: 猫でもわかる ASP.NET 5 入門

VISUAL STUDIO CODE

Page 38: 猫でもわかる ASP.NET 5 入門

事実上の標準

• クロスプラットフォーム対応なので、OS X でも ASP.NET 5 が使える!

• 使うかどうかは別にして

Page 39: 猫でもわかる ASP.NET 5 入門

テンプレート問題

• プロジェクトテンプレートなんて機能はVSC にはない

• そうだ、Yeoman を使おう

Page 40: 猫でもわかる ASP.NET 5 入門

Yeoman を使う

• npm install -g yo generator-aspnet bower grunt-cli

• yo aspnet– テンプレートをスキャフォールディングで生成

• yo aspnet:MvcController とかも

Page 41: 猫でもわかる ASP.NET 5 入門

デモ

• Yeoman を使ってプロジェクト作成

• Visual Studio Code で編集

• Kestrel を使って実行

Page 42: 猫でもわかる ASP.NET 5 入門

終わり

• 時間内に終わるとは思っていませんでした