More Related Content Similar to Aspnet mvc 6の今を紹介 (20) More from Makoto Nishimura (20) Aspnet mvc 6の今を紹介2. ASP.NET 5 & MVC 6
• これまではWindowsServer(OS) + IIS(Webサーバー)でのみ動作
• ASP.NET 5はMacでもLinuxでも動く!!
3. ASP.NET 5 & MVC 6
• System.Webとのお別れ
using System.Web;
using System.Web.Mvc;
4. ASP.NET 5 & MVC 6
• System.Webとのお別れ
using System.Web;
using System.Web.Mvc;
5. ASP.NET 5 & MVC 6
• こんにちはMicrosoft.AspNet
using Microsoft.AspNet;
6. ASP.NET 5 & MVC 6
• OSS的なツールを取り入れる
• 色々新しい用語がでてくるよ(Bower、Grunt、Gulp)
• そもそもASP.NET 5の動作基盤となる.NET Coreもオープンソース
8. ASP.NET 5 & MVC 6
• 仕組みが色々変わるので用語も色々出てくるよ!!
.NET Framework 4.6
Bower
Grunt
Unix
Gulp
pipeline
json kestrel
14. • DNX(.NET Execution Environment)
• .NET 実行環境
• ビルド&実行するためのSDKおよびランタイム
• MacやLinuxで動かすにはmonoが必要
.NET Core
15. • DNX(.NET Execution Environment)
• dnu(.NET Development Utility)
パッケージマネージャー
• dnvm(.NET Version Manager)
バージョン管理
.NET Core
16. • DNX(.NET Execution Environment)
• dnu(.NET Development Utility)
パッケージマネージャー
• dnvm(.NET Version Manager)
バージョン管理
覚えにくい・・・環境構築する際にまた出てくるよ!!
.NET Core
18. • Model-View-Controll構造を踏まえたフレームワーク
• Ruby on RailsやCakePHPなどほかの言語でも同様のフレームワーク
があるから馴染みやすい
• Viewエンジン-HTMLの中に動的な値を入れるための仕組み
<h2>@ViewData["Title"].</h2>
この辺もRailsのERBやPHPのTwig、Smartyなど馴染みやすい
MVC5同様Razorが使える
MVC 6
25. • Visual Studio 2015をインストールすると自動で入る(以上!!)
• VS 2015じゃなくてPorwer Shellとかで入れることもできるけど・・・
Windows
28. • 一行でサクッと導入
#curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh |
DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh
DNVMの導入
30. • Yumコマンドでサクッと導入
エラー: パッケージ: libgdiplus0-3.12-1.x86_64 (download.mono-
project.com_repo_centos_)
要求: libpng15.so.15(PNG15_0)(64bit)
エラー: パッケージ: libgdiplus0-3.12-1.x86_64 (download.mono-
project.com_repo_centos_)
要求: libpng15.so.15()(64bit)
エラー: パッケージ: libgdiplus0-3.12-1.x86_64 (download.mono-
project.com_repo_centos_)
要求: libtiff.so.5()(64bit)
Monoのインストール
失敗!!
36. • ターミナルで作業
#curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh &&
source ~/.dnx/dnvm/dnvm.sh
DNVM導入
45. • Empty – 空のプロジェクトを作成
• Web API – アプリやWeb向けのAPIを作りたいなら
• Web Application – MVCのひな型がある程度用意された状態
• ASP.NET 5ではこの辺が統合されたのでチェックがオフに
新しいプロジェクト
60. • Controller
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
まぁ、MVC 5と似た感覚
MVC
61. • View – この辺も感覚的にはMVC 5ライク(@awaitとか拡張もあるけ
ど)
• @{
• ViewData["Title"] = "Contact";
• }
• <h2>@ViewData["Title"].</h2>
• <h3>@ViewData["Message"]</h3>
• <address>
MVC
62. • Model – 違いがわからんから使ってみよう
[参考]Getting Started on ASP.NET 5
http://ef.readthedocs.org/en/latest/getting-started/aspnet5.html#create-a-new-project
↑色々はしょっているので詳しくはここを見てね!!
MVC
68. Microsoft ASP.NET and Web Tools 2015 (Beta8) – Visual Studio 2015
これが必要だった
http://www.microsoft.com/en-us/download/details.aspx?id=49442
よし来た!!
"Microsoft.Framework.Logging.Console": "1.0.0-beta8",
"Microsoft.Framework.Logging.Debug": "1.0.0-beta8",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta8"
Models
71. コントローラーを追加
class BlogsController : Controller
{
private BloggingContext _context;
public BlogsController(BloggingContext context)
{
_context = context;
}
public IActionResult Index()
{
return View(_context.Blogs.ToList());
}
Models
73. コードはこんな感じ
Models
@model WebApplication10.Models.Blog
@{
ViewBag.Title = "New Blog";
}
<h2>@ViewData["Title"]</h2>
<form asp-controller="Blogs" asp-action="Create" method="post" class="form-horizontal" role="form">
<div class="form-horizontal">
<div asp-validation-summary="ValidationSummary.All" class="text-danger" />
<div class="form-group">
<label asp-for="Url" class="col-md-2 control-label" />
<div class="col-md-10">
79. • ASP.NET 5 Web 開発 ~ランタイム編~
https://channel9.msdn.com/Events/de-code/decode-2015/DEV-006
• ASP.NET 5の紹介
http://codezine.jp/article/detail/8537
• ASP.NET 5 Web開発 ~フレームワーク編~
https://channel9.msdn.com/Events/de-code/decode-2015/DEV-007
資料