Build leaner faster web applications with ASP.NET

Post on 12-Apr-2017

128 views 2 download

Transcript of Build leaner faster web applications with ASP.NET

Building leaner, and fasterWeb AppsAlex ThissenLead Consultant at Xpirit@alexthissen

Desktop & ASP.NET .NET

Workloads evolution since 2001

Windows Store

Browsers & Win Phone

ASP.NET Core

Framewor

k

Silverlight .NET Core Multi-Framewor

k

Window

s Mobile

Compact Framewor

k

.NET Framework 4.6 .NET Core 1.0 Full featured .NET Framework implementation

on WindowsCross-platform implementation of .NET

developed in the open.

.NET 2015

• Machine wide installation• On Windows• Desktop, web and cloud workloads

• Linux, OS X, Windows• Runs side by side• Modular• Optimized for web, cloud and devices

Next gen JIT (RyuJIT)SIMD

Runtime Components Compilers

Languages innovation.NET Compiler Platform

.NET Core 1.0 Libraries

.NET Framework 4.6 Libraries

NuGet packagesCommon

.NET 2015

.NET Framework 4.6 .NET Core 1.0

.NET Framework 4.6 .NET Core 1.0

WPF Windows Forms

Universal Windows Apps

.NET 2015

ASP.NET (4.X) ASP.NET Core 1.0

Next gen JIT (RyuJIT)SIMD

Runtime Components Compilers

Languages innovation.NET Compiler Platform

.NET Core 1.0 Libraries

.NET Framework 4.6 Libraries

NuGet packagesCommon

.NET 2015

Windows Forms

Universal Windows Apps

WPF ASP.NET (4.X) ASP.NET Core 1.0

Next gen JIT (RyuJIT)SIMD

Runtime Components Compilers

Languages innovation.NET Compiler Platform

.NET Core 1.0 Libraries

.NET Framework 4.6 Libraries

NuGet packagesCommon

.NET Framework 4.6 .NET Core 1.0

ASP.NET Core 1.0

ASP.NET 4.6

Open Source

Operating System

Runtime Loader

Runtime

Platform Libraries

Application Host

Web Server

Application Frameworks

Libraries

Application

Windows

IIS: WebEngine4.dllExe: OS

.NET CLR

.NET BCL & FCL

System.Web

IIS

FCL, GAC, NuGet

Loose, GAC, NuGet

MSBuild -> csc.exeCodeDOM -> csc.exe

Windows, OSX, Linux

DNX

.NET CLR.NET CoreCLR

.NET BCL & FCL.NET on NuGet

DNX

IIS, HTTP.SYSKestrel

NuGet

NuGet

DNX (Roslyn)

Lap Around ASP.NET Core project

All about options!

ASP.NET 4.6

.NET Framework

ASP.NET Core 1.0

.NET Framework

ASP.NET Core 1.0

.NET Core

Runtime & Languages

C# 6 , VB 14• Compiler Platform > Faster, API!• New Features

String interpolation, nameof, Null propagation ?. [C#] Exception filters[VB] Multiline string literals

• Lambdas and LINQ gets better debugging & Edit and Continue support in VS

64-bit Jit Compiler• a.k.a RyuJIT• SIMD acceleration

Code aware libraries• Based on the code analyzers• Plugins that provide live

guidance within Visual Studio - NuGet or vsix

• Enforce best practices for a library, an organization or other domain

Demo. Roslyn

ASP.NET 4.6Roslyn!• Improved App startup / Pre-compile

time

Async Model Binding

HTTP/2• Improved performance, latency and

network usage

And More• Azure API apps• ASP.NET Identity 2.2.1• Improved EF 6 support• Tooling

Web Developer Productivity

More development tools•Visual Studio Code•Sublime, Emacs,… •Thanks to Omnisharp

Visual Studio 2015•HTML5, CSS3, JS•Package Managers • Nuget / Bower / Npm•TaskRunners•Extensions• Web Essentials 2015

ASP.NET Core

Choose your Editors and Tools

Open Source with Contributions Cross-PlatformOSS

Seamless transition from on-premises to cloud

Faster Development CycleTotally Modular

Fast

ASP.NET Core @ Githubhttps://github.com/aspnet

Quiz: Fastest framework?

We know how to get here, and we are doing it

Runtime Performance

Footprint• Faster startup time (Roslyn!)• Lower memory / higher density

(>90% reduction)

Modular• Opt into features needed• StaticFiles? Socket? Framework?

Remove what you don’t need

Infrastructure• OWIN• [MVC, EF] Performance!

ASP.NET Core Pipeline

Cloud-ReadyTools tightly integrated with Microsoft Azure

Seamless transition from on-premises to cloud

Cloud Diagnostics

Containers support• Docker tools as a Visual Studio

Extension• Publish docker containers to

Windows, Linux• Write-once, run-anywhere• Microservices

DemosASP.NET + Azure

And more…

Entity FrameworkSignalR

Remember… all about options!

ASP.NET 4.6

.NET Framework

ASP.NET Core

.NET Framework

ASP.NET Core

.NET Core

http://docs.asp.nethttp://dot.net

learn & contribute!

Session Evaluations Visit http://aka.ms/cloud.thehaguesign in to the Schedule Builder and select ‘My Evaluations’ to complete your Session Evaluations after each session. #MSCloudRoadshow

Install .NET Framework 4.6Visual Studio 2015Visual Studio Code.NET CLI / ASP.NET Core 1.0

Activate your Azure account

Watch Connect 2015Channel9Introduction to ASP.NET Core MVA

Course

Stay Tuned www.asp.netASP.NET Community Standup

(live.asp.net)

Q & A