Slide 1

Slide 1 text

State of the Art Web Development mit ASP.NET Robert Mühsig

Slide 2

Slide 2 text

Hi! Robert Muehsig CodeInside.eu @robert0muehsig Web Geek & ASP.NET MVP Working @ Sevitec Informatik AG

Slide 3

Slide 3 text

State of the Art?

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

ASP.NET Geschichte • ASP.NET 1.0 im Jahre 2002 mit „WebForms“ • Zielgruppe: WinForms Entwickler • Ein grosses, Feature-reiches Framework • Ziel-Server: IIS, Resultat ist „System.Web“ • Unit-Testing  • „Unflexibel“

Slide 7

Slide 7 text

In 2007… ASP.NET MVC wurde erstellt.

Slide 8

Slide 8 text

ASP.NET MVC • Seperation of Concerns • Much more Control • „Cleaner“-Approach • Shipped Out-Of-Band

Slide 9

Slide 9 text

*später*

Slide 10

Slide 10 text

ASP.NET „Familie“ •WebForms •MVC •Dynamic Data •Web Pages

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Aus der Community- Perspektive:

Slide 14

Slide 14 text

Viva la ASP.NET MVC!

Slide 15

Slide 15 text

SaveMyControls.aspx

Slide 16

Slide 16 text

*jetzt*

Slide 17

Slide 17 text

One ASP.NET

Slide 18

Slide 18 text

ASP.NET MVC Web Pages Web Forms Single Pages Web API SignalR Sites Services

Slide 19

Slide 19 text

ASP.NET *You* MVC Web Pages Web Forms Single Pages Web API SignalR *You* Sites Services

Slide 20

Slide 20 text

„One ASP.NET“ • Tooling • „Scaffolding“* • VS „External Hosting“ • Runtime • Identity System • Routing • Extensibility • Hosting

Slide 21

Slide 21 text

ASP.NET Identity • Aktuell Version 2.2.1 (über NuGet) • Nachfolger des Membership Systems • Social Provider • Mehr als „Username/Password“ • Erweiterbar

Slide 22

Slide 22 text

*VS Demo*

Slide 23

Slide 23 text

OWIN

Slide 24

Slide 24 text

Definition Es ist eine Spezifikation.

Slide 25

Slide 25 text

Definition Open Web Interface for .NET

Slide 26

Slide 26 text

Inspiration Ruby hat Rack Phyton hat WSGI Node.js hat Connect

Slide 27

Slide 27 text

Inspiration Schnittstelle zwischen Web Server & Web Frameworks

Slide 28

Slide 28 text

Ruby „Rack“ Inspiration Mehrere WebHosts! WEBrick, Mongrel...

Slide 29

Slide 29 text

Ruby „Rack“ Inspiration Mehrere Frameworks! Rails, Sinatra...

Slide 30

Slide 30 text

Ruby „Rack“ Inspiration „Middleware-Konzept“ Logging, Auth, Caching Pipeline Pattern.

Slide 31

Slide 31 text

Contract using AppFunc = Func< IDictionary, // env Task>; // done

Slide 32

Slide 32 text

Contract owin.RequestBody owin.RequestHeaders owin.RequestMethod owin.Version server.IsLocal ...

Slide 33

Slide 33 text

Übersicht Application Application Framework Server Host

Slide 34

Slide 34 text

Katana

Slide 35

Slide 35 text

Definition Microsoft Komponenten rund um OWIN. (Pre ASP.NET 5 Ära)

Slide 36

Slide 36 text

Komponenten IIS & HttpListener OwinHost.exe Visual Studio Tooling Common Middleware Make ASP.NET Frameworks „OWIN“-Compatible

Slide 37

Slide 37 text

Überblick Application Application Framework • SignalR • WebApi • … Server • SystemWeb • HttpListener Host • IIS • Custom • OwinHost.exe

Slide 38

Slide 38 text

*VS Demo*

Slide 39

Slide 39 text

„Helios“

Slide 40

Slide 40 text

Der Weg zu ASP.NET 5 IIS Anpassung ASP.NET Loader – Lädt die jeweilige Runtime Entkopplung von Framework & IIS In ASP.NET 5 „AspNet.Loader.dll“

Slide 41

Slide 41 text

Fragen? In 45 Minuten durch den aktuellen Stack. Ufff…