ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio...

54
ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Transcript of ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio...

Page 1: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

ASP.NET 5, .NET 4.6, and Visual Studio 2015

Nate McMaster @natemcmaster

Page 2: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Overview

Runtime!

Framework!

Application!

Tool

ing!

Page 3: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Overview

Runtime!

Framework!

Application!

Tool

ing!

Page 4: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

What is .NET? •  Introduced in 2002 •  It provides –  Core class libraries –  Complier –  Runtime (execution layer) –  Support for CLI languages (C#, VB, plus more)

Page 5: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster
Page 6: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Runtime!

Framework!

Application!

Tool

ing!

Page 7: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Runtime!

Entity Framework!Identity!SignalR!

MVC / WebAPI!Roslyn!

Application!

Tool

ing!

Page 8: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Frameworks

Page 9: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Roslyn

Page 10: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

What is Roslyn? •  Code Analysis APIs

•  .NET Core

Page 11: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster
Page 12: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

What is Roslyn? •  Code Analysis APIs

•  .NET Core

•  “Introduction to Roslyn” at 2:40pm today

Page 13: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Entity Framework

Page 14: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Entity Framework •  Data access framework

db.Animals.Where(i=>i.Name == “penguin”).Take(4)

SELECT * FROM animals WHERE name=“penguin” LIMIT 4  

Page 15: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Entity Framework 6 •  MSSQL and MySQL •  Primarily ASP.NET

Page 16: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

What’s New in EF 7 •  Azure Table Storage, Redis •  SQLite

•  Complete rewrite •  New APIs (similar to v6) •  CLI tools

Page 17: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

What’s new in v7 •  Cloud optimized •  Runs on .NET Core

Page 18: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

MVC

Page 19: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

MVC •  The .NET web framework

Page 20: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

What’s new in v6

•  Host agnostic •  Built-in dependency injection •  config.json

MVC  5   WebAPI    

Web  Forms    

MVC    6  

Page 21: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

What’s new in v6 •  Cloud optimized •  Runs on .NET Core

Page 22: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Identity

Page 23: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Identity •  User authentication

framework •  OAuth providers and two-

factor auth

Page 24: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

What’s new in v6 •  Cloud optimized •  Runs on .NET Core

Page 25: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

SignalR

Page 26: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

SignalR •  Real-time web

functionality •  Server and client

components

Page 27: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Not yet •  Not cloud optimized •  Does not run on .NET Core

Page 28: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

What is .NET Core?What is “cloud optimized”?

Page 29: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Runtime!

Framework!

Application!

Tool

ing!

Page 30: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Common Language Runtime!

Framework!

Application!

Tool

ing!

Page 31: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

.NET 4.6 •  Improve cross-platform support •  New cryptography APIs •  Task-based asynchronous pattern (TAP) •  Additional data collections Stack<T>

ReadOnlyCollection

Page 32: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Portable  Class  Libraries  

+  Silverlight,  Xbox  apps,  and  legacy  .NET  

Page 33: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Uncommon Language Runtime?

Page 34: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

So fork it…

.NET Core

Page 35: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster
Page 36: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster
Page 37: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Base  Class  Libraries  

RunKme  

.NET  Core  

Windows  Store  App  Model  

ASP.NET  5    App  Model  

Page 38: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

.NET  Core  

.NET  Framework  

API Surface

Page 39: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster
Page 40: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster
Page 41: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster
Page 42: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Cloud Optimized •  Distributed in packages •  App-local •  Optimized for memory

Page 43: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

.NET Native

Page 44: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

CLR and IL

C#   IL   ASM  

Build   Just-­‐in-­‐Kme  

Page 45: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Demo

Page 46: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Tooling

Page 47: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

CLI Tools •  Beta 3 –  KPM, KVM, KLR, K

•  Beta 4 –  DNVM, DNX

Page 48: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Visual Studio 2015

Page 49: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

What’s New •  Modern web tooling

–  Javascript Debugger –  Improved editor

•  Refactoring tools (Roslyn) •  .NET Core and ASP.NET 5 •  Git •  Android and iOS developer tools (Xamarin) •  Android emulator

Page 50: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Modernizing •  Web tools –  Grunt, gulp, bower, NPM

•  Mobile development tools –  Cordova debugging –  Android emulator –  Responsive web design

Page 51: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Nate McMaster Twitter @natemcmaster GitHub github.com/natemcmaster

Page 52: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Thanks  to  our  Sponsors!

To  connect  to  wireless    1.  Choose  Uguest  in  the  wireless  list    

2.  Open  a  browser.  This  will  open  a  Uof  U  website    3.  Choose  Login    

Page 53: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster
Page 54: ASP.NET 5, .NET 4.6, and Visual Studio 2015 - Nate … · ASP.NET 5, .NET 4.6, and Visual Studio 2015 Nate McMaster @natemcmaster

Common Language Runtime!

Entity Framework!Identity!SignalR!

MVC / WebAPI!Roslyn!

Your Application Code!

Visu

al S

tudi

o!D

NVM

(KVM

)!