build leaner faster web applications with asp.net

26
Building leaner, and faster Web Apps Alex Thissen Lead Consultant at Xpirit @alexthissen

Upload: alex-thissen

Post on 12-Apr-2017

129 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Build leaner faster web applications with ASP.NET

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

Page 2: Build leaner faster web applications with ASP.NET

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

Page 3: Build leaner faster web applications with ASP.NET

.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

Page 4: Build leaner faster web applications with ASP.NET

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

Page 5: Build leaner faster web applications with ASP.NET

.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

Page 6: Build leaner faster web applications with ASP.NET

.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

Page 7: Build leaner faster web applications with ASP.NET

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)

Page 8: Build leaner faster web applications with ASP.NET

Lap Around ASP.NET Core project

Page 9: Build leaner faster web applications with ASP.NET

All about options!

ASP.NET 4.6

.NET Framework

ASP.NET Core 1.0

.NET Framework

ASP.NET Core 1.0

.NET Core

Page 10: Build leaner faster web applications with ASP.NET

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

Page 11: Build leaner faster web applications with ASP.NET

Demo. Roslyn

Page 12: Build leaner faster web applications with ASP.NET

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

Page 13: Build leaner faster web applications with ASP.NET

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

Page 14: Build leaner faster web applications with ASP.NET

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

Page 15: Build leaner faster web applications with ASP.NET

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

Page 16: Build leaner faster web applications with ASP.NET

Quiz: Fastest framework?

Page 17: Build leaner faster web applications with ASP.NET

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

Page 18: Build leaner faster web applications with ASP.NET

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!

Page 19: Build leaner faster web applications with ASP.NET

ASP.NET Core Pipeline

Page 20: Build leaner faster web applications with ASP.NET

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

Page 21: Build leaner faster web applications with ASP.NET

DemosASP.NET + Azure

Page 22: Build leaner faster web applications with ASP.NET

And more…

Entity FrameworkSignalR

Page 23: Build leaner faster web applications with ASP.NET

Remember… all about options!

ASP.NET 4.6

.NET Framework

ASP.NET Core

.NET Framework

ASP.NET Core

.NET Core

Page 24: Build leaner faster web applications with ASP.NET

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

learn & contribute!

Page 25: Build leaner faster web applications with ASP.NET

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

Page 26: Build leaner faster web applications with ASP.NET

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