Pottnet MeetUp Essen - ASP.Net Core

25
Was ist neu und was bleibt mit ASP.NET Core Sebastian Kleinschmager Entwickler @SchmagaHimself Malte Lantin Technical Evangelist @MalteLantin

Transcript of Pottnet MeetUp Essen - ASP.Net Core

Page 1: Pottnet MeetUp Essen - ASP.Net Core

Was ist neu und was bleibt mit ASP.NET Core

Sebastian Kleinschmager

Entwickler ☺

@SchmagaHimself

Malte Lantin

Technical Evangelist

@MalteLantin

Page 2: Pottnet MeetUp Essen - ASP.Net Core

ASP.NET Core vs. ASP.NET 4.6

.NET Framework .NET CoreFull .NET Framework for any scenario and

library support on Windows

Modular libraries & runtime optimized for

server and cloud workloads

Page 3: Pottnet MeetUp Essen - ASP.Net Core

.Net Core

Page 4: Pottnet MeetUp Essen - ASP.Net Core

.NET Core is a general purpose development platform maintained by Microsoft and the .NET community on GitHub.

It is cross-platform, supporting Windows, macOS and Linux, and can be used in device, cloud, and embedded/IoTscenarios.

On .Net Core

Page 5: Pottnet MeetUp Essen - ASP.Net Core

Flexible deployment: Can be included in your app or installed side-by-side user- or machine-wide.

Cross-platform: Runs on Windows, macOS and Linux; can be ported to other OSes.

Command-line tools: All product scenarios can be exercised at the command-line.

Open source: The .NET Core platform is open source, using MIT and Apache 2 licenses. Documentation is

licensed under CC-BY. .NET Core is a .NET Foundation project.

Supported by Microsoft: .NET Core is supported by Microsoft, per .NET Core Support

Compatible: .NET Core is compatible with .NET Framework, Xamarin and Mono, via the .NET Standard

Library.

On .Net Core

Page 6: Pottnet MeetUp Essen - ASP.Net Core

.Net Standard

Page 7: Pottnet MeetUp Essen - ASP.Net Core

Solves the code sharing problem for .NET developers

A set of APIs that all .NET platforms have to implement

.NET Standard 2.0 will be implemented by .NET Framework,

.NET Core, and Xamarin.

.NET Standard will replace Portable Class Libraries (PCLs) as the tooling story for building multi-platform .NET libraries.

On .Net Standard

Page 8: Pottnet MeetUp Essen - ASP.Net Core
Page 9: Pottnet MeetUp Essen - ASP.Net Core
Page 10: Pottnet MeetUp Essen - ASP.Net Core

Platform

NameAlias

.NET

Standardnetstandard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0

.NET Core netcoreapp → → → → → → 1.0 vNext

.NET

Frameworknet → 4.5 4.5.1 4.6 4.6.1 4.6.2 vNext 4.6.1

Mono/Xam

arin

Platforms

→ → → → → → → vNext

Universal

Windows

Platform

uap → → → → 10.0 → → vNext

Windows win → 8.0 8.1

Windows

Phonewpa → → 8.1

Windows

Phone

Silverlight

wp 8.0

Page 11: Pottnet MeetUp Essen - ASP.Net Core
Page 12: Pottnet MeetUp Essen - ASP.Net Core

New dual-train strategy for .NET Core releases:

“Long Term Support (LTS)” and “Current Release”.

.NET Core 1.1 RTM, the first “Current” release

New OS Support in 1.1:Linux Mint 18OpenSUSE 42.1macOS 10.12 (also added to .NET Core 1.0)Windows Server 2016 (also added to .NET Core 1.0)

But: Tooling for both 1.0 and 1.1 is still preview

There are two distributions of .NET Core: a Runtime, and an SDK that includes the Runtime and some Tools.

On .Net Core releases

Page 13: Pottnet MeetUp Essen - ASP.Net Core

News flash: There are 1380 new APIs in .NET Core 1.1.

News flash: ASP.NET Core 1.1 with Kestrel was ranked as the

fastest mainstream fullstack web framework in

the TechEmpower plaintext benchmark.

News flash: Google Cloud is joining the .NET Foundation

Technical Steering Group. Welcome, Google!

Page 14: Pottnet MeetUp Essen - ASP.Net Core

ASP.NET Core vs. ASP.NET 4.6

.NET Framework .NET CoreFull .NET Framework for any scenario and

library support on Windows

Modular libraries & runtime optimized for

server and cloud workloads

Page 15: Pottnet MeetUp Essen - ASP.Net Core

A new lightweight open-source and cross-

platform framework for building cloud-

based Web applications using .NET

ASP.NET Core

Page 16: Pottnet MeetUp Essen - ASP.Net Core

ASP.NET Core Design

Choose your Editors

and Tools

Open Source

with ContributionsCross-PlatformOSS

Seamless transition

from on-premises to cloud

Faster Development CycleTotally Modular

Fast

Page 17: Pottnet MeetUp Essen - ASP.Net Core

HostingKestrel

MiddlewareRouting, authentication, static files, diagnostics, error handling, session, CORS, localization, and YOUR OWN

Dependency Injection

Ships entirely as Nuget

Cross Platform Support

Configuration

Logging

Application Frameworks – MVC, Identity, SignalR

ASP.NET Core Features

Page 18: Pottnet MeetUp Essen - ASP.Net Core

Built on ASP.NET Core

One set of concepts – remove duplication

Web UI and Web APIs

Supports .NET Core

Runs on IIS or self-hosted

Deep integration with DI

ASP.NET Core MVC

Page 19: Pottnet MeetUp Essen - ASP.Net Core

DEMO

Page 20: Pottnet MeetUp Essen - ASP.Net Core

.NET Core will become .csproj/MSBuild based

• Customers wanted their projects to be able to work with existing .NET code they already had

• Interop with existing .NET projects (Project to project references)

• Taking the best features of project.json and moving them into .csproj/MSBuild.

• .NET Core tools are now based on the same technology as other .NET projects. (Proven scalability)

.NET Core csproj support is now available as an alpha release.Preview 3-based SDK, using CSProj: 1.1.0-sdk-msbuild

Preview 2-based SDK, using project.json: 1.1.0-sdk-projectjson

.NET Core is integrated into Visual Studio 2017 RC and Visual Studio for Mac. It can be added to Visual Studio Code by the C# extension. The new Tools release can be used with both the .NET Core 1.0 and .NET Core 1.1 runtimes.

Watch out! Changes ahead!

Page 21: Pottnet MeetUp Essen - ASP.Net Core

What is not changing

One project file – Your project file contains dependency and target framework information, all in one file. No source files are listed by default.

Targets and dependencies — .NET Core target frameworks and metapackagedependencies remain the same and are declared in a similar way in the new csprojformat.

.NET Core CLI Tools – The dotnet tool continues to expose the same commands, such as dotnet build and dotnet run.

.NET Core Templates – You can continue to rely on dotnet new for templates (for example, dotnet new -t library).

Supports multiple .NET Core version — The new tools can be used to target .NET Core 1.0 and 1.1. The tools themselves run on .NET Core 1.0 by default.

Page 22: Pottnet MeetUp Essen - ASP.Net Core

DEMO

Page 23: Pottnet MeetUp Essen - ASP.Net Core

ASP.NET

Build for Windows

Use Web Forms, SignalR, MVC, or Web Pages

One version per machine

Develop with Visual Studio using C#, VB or F#

Mature platform

High performance

Which one is right for me?

ASP.NET Core

Build for Windows, Mac, or Linux

Use MVC, or Web API

Multiple versions per machine

Develop with Visual Studio or Visual Studio

Code using C#

New platform

Ultra performance

Page 24: Pottnet MeetUp Essen - ASP.Net Core

The ASP.NET Core and Entity Framework, C# and VB docs were

moved to docs.microsoft.com as part of the last release:

https://docs.microsoft.com/aspnet

Check out the .NET Web Development and Tools Blog:

https://blogs.msdn.microsoft.com/webdev/

Docker Images: https://hub.docker.com/r/microsoft/dotnet/

Read more

Page 25: Pottnet MeetUp Essen - ASP.Net Core

Find us on Twitter

@maltelantin @schmagahimself