ASP.NET Core 1.0 Overview

Click here to load reader

  • date post

    09-Jan-2017
  • Category

    Technology

  • view

    3.314
  • download

    3

Embed Size (px)

Transcript of ASP.NET Core 1.0 Overview

PowerPoint Presentation

ASP.NET Core* 1.0Shahed ChowdhuriSr. Technical Evangelist @ [email protected] The Future of Web Apps* aka ASP.NET 5 before RC1

Agenda

Agenda2

Introduction

Introduction3

Sources

asp.net/vNextScott Guthries BlogMSDN Blogs, Feb 2015 UpdatedotnetConf 2015 on MSDN Ch9

BuildWindows.com

docs.asp.net

Newer Blog Posts in 2016

RC2: http://www.hanselman.com/blog/AnUpdateOnASPNETCore10RC2.aspx

Community Standup Notes: https://blogs.msdn.microsoft.com/webdev/

.NET Across Windows/Web PlatformsSource: http://blogs.msdn.com/b/dotnet/archive/2014/12/04/introducing-net-core.aspx

ASP.NETWeb APIActive Server Pages(Classic ASP)

ASP.NET(Web Forms)

ASP.NETMVC1/2/3/4/5ASP.NETWeb Pages

ASP.NETMVC 6

Unified MVC, Web API and Web PagesASP.NETWeb APIActive Server Pages(Classic ASP)

ASP.NET(Web Forms)

ASP.NETMVC1/2/3/4/5ASP.NETWeb Pages

ASP.NETMVC 6Core MVC

Unified MVC, Web API and Web PagesEvolution of ASP and ASP .NET

C# 6.0.NET Framework 4.6ASP.NET 5(runs on .NET Core 5 or .NET Framework 4.5.2+)ASP.NET MVC 6.NET Core 5SignalR 3C# 6.0.NET Framework 4.6ASP.NET 5 Core 1.0(runs on .NET Core 5 1.0or .NET Framework 4.5.2+)ASP.NET MVC 6Core MVC.NET Core 5.NET Core 1.0

SignalR 3Names & Version Numbers

ASP.NET Roadmaphttps://github.com/aspnet/Home/wiki/Roadmap

.NET Standard Library + ToolingSource: http://www.hanselman.com/blog/AnUpdateOnASPNETCore10RC2.aspx

Agenda

Agenda11

.NET Framework & .NET Core

Variables, Operators & Loops12

.NET in 2015: High-Level Overview

ASP.NET Core High-Level Overview

Compilation Process

What About .NET Framework 4.6?

Core is

ASP .NET Core

ASP .NET 5.017

ASP.NET Core 1.0 Features

ASP.NET Core Summary

Relevant XKCD Comic

Source: https://xkcd.com/303/

ASP.NET Core Features in DetailFlexible, Cross Platform runtime

Unified Programming ModelTag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API

.NET Core or full .NET Framework.NET Core is cross-platformDeploy Core runtime with appNo need for unused features

ASP.NET Core Features in Detail

2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.4/26/201622

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API

Unified:MVCWeb APIWeb PagesASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API HTML Helpers in your views!

ASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API

Edit codeSave changesRefresh browserSee changes!

Compiled language with benefits of interpreted language!ASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API Bower client-side pkg mgre.g. JS, CSSGrunt & Gulp task runnerscompile LESS/CoffeeScript, Typesciptrun JSLintminify JS filesASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API

Manage dependencies with NuGet packagesEdit project.json fileEnjoy IntelliSense!ASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API

Configuration in codeEdit Startup.cs fileNo need to use Web.configUse JSON, XML, env vars

ASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API

minimalistic DI containerreplace with othersAutofac, Ninject, etcuse [FromServices] attribute

ASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API

New HTTP pipelinemodularadd components as neededno longer dependent on System.Web

ASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API

GitHub!ASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API K Package Manager (KPM)*bundle applicationbuild NuGet packagesbuild assemblies

* changes coming with RC2ASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API

ASP.NET Core Preview TemplatesEmptyStarter WebWeb API

ASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API

Open ID ConnectOAuth2Template auth logic based on OWIN and Open ID Connect (not WIF)ASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API

More granular control (than HttpClientHandler) over individual aspects of HTTPredirects, auth, cookies, etc

ASP.NET Core Features in Detail

Unified Programming ModelFlexible, Cross Platform runtime Tag HelpersDynamic DevelopmentBower, Grunt, GulpSimplified Dependency MgmtCloud-Ready ConfigDependency Injection (DI)Fast HTTP PerformanceOpen SourceNew Project TemplatesCommand Line ToolsIdentity UpdatesNew HTTP client-role API ASP.NET Core Features in Detail

How about Entity Framework?

DBORMEntities in Code

Core)

Visual Studio 2015

ASP .NET 5.038

File New Project WebWeb AppClass LibraryConsole App

Select a Template** to be renamed in RC2

Startup.cs Configuration

project.json

Right-click (Project) PropertiesApplication tabDebug tabUse specific KRE/DNX/CLI version!

Choose CLR Type While Debugging

DEMO

Visual Studio CodeDownload: https://code.visualstudio.com

.NET Version Manager (DNVM).NET SDK Version ManagerFormerly KVMGet list of DNXs (aka KRE)

GitHub: https://github.com/aspnet/dnvm

Tooling Changes and NETStandard

ReferencesASP.NET vNext: http://asp.net/vnext Intro: https://weblogs.asp.net/scottgu/introducing-asp-net-5 Feb 2015 Updates: http://blogs.msdn.com/b/webdev/archive/2015/02/23/aspnet-5-updates-for-feb-2015.aspx dotnetConf March 2015: https://channel9.msdn.com/Events/dotnetConf/2015 Build 2015: https://channel9.msdn.com/Events/Build/2015 Understanding .NET 2015: http://blogs.msdn.com/b/bethmassi/archive/2015/02/25/understanding-net-2015.aspx Grunt & Bower: http://www.asp.net/vnext/overview/aspnet-vnext/grunt-and-bower-in-visual-studio-2015 Tutorial: http://www.asp.net/vnext/overview/aspnet-vnext/vcASP.NET Community Standup Notes: https://blogs.msdn.microsoft.com/webdev/ Update on ASP.NET RC2: http://www.hanselman.com/blog/AnUpdateOnASPNETCore10RC2.aspx Additional Tutorials: See Starter Web Project Template

Other Resources Roadmap: https://github.com/aspnet/Home/wiki/Roadmap ASP.NET Identity: http://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity KRE, KVM, KPM: http://gunnarpeipman.com/2014/10/asp-net-5-what-are-kre-kvm-kpm/

Grunt, JS Task Runner: http://gruntjs.com/ Gulp, Workflow Automation: http://gulpjs.com/ Bower, Package Manager: http://bower.io/ npm, Node Package Manager: https://www.npmjs.com/

Agenda

Agenda51

Q & A

Additional Topics52

Agenda

Agenda53

Email: [email protected] Twitter: @shahedC

Contact

Microsoft email: [email protected] Twitter: @shahedC

Dev Blog: WakeUpAndCode.com

54