ASP.NET Core vs. ASP.NET 4
Embed Size (px)
Transcript of ASP.NET Core vs. ASP.NET 4


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

.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, macOSand Linux, and can be used in device, cloud, and embedded/IoT scenarios.
On .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

.Net Standard

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



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


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

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!

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

A new lightweight open-source and cross-
platform framework for building cloud-
based Web applications using .NET
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

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

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

Let‘s build something: TechSummit Wichtel
Images courtesy of DailyClipArt.net

.NET Core 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!

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.

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

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
