Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Stig Irming-Pedersen ASP.NET MVC Partner Copenhagen Software.

Lignende præsentationer


Præsentationer af emnet: "Stig Irming-Pedersen ASP.NET MVC Partner Copenhagen Software."— Præsentationens transcript:

1 Stig Irming-Pedersen ASP.NET MVC Partner Copenhagen Software

2 ASP.NET MVC Web applikationer Windows Azure Cloud Computing Web applikationer Cloud Computing ASP.NET MVC Windows Azure Designer og udvikler forretningsorienterede webapplikationer til danske og udenlandske kunder Designer og udvikler cloud computing baserede applikationer og holder tekniske og strategiske foredrag Leverede i 2008 den første løsning på ASP.NET MVC og har brugt platformen siden Har arbejdet med Windows Azure siden lanceringen og laver jævnligt undervisning

3 Hvad kommer der til at ske? 1.Introduktion af ASP.NET MVC 2.Crash course 3.Async 4.Fremtiden... 5.Spørgsmål

4 Introduktion

5 Hvad er ASP.NET MVC? Fuldt supporteret produkt fra Microsoft (gratis) Understøttet i.NET Framework 4.5 (og i.NET 4) Integreret i Visual Studio 2012 (og VS 2010).NET Framework ASP.NET ASP.NET Web FormsASP.NET MVC

6 ASP.NET Hvor kommer ASP.NET MVC fra? Kontrolbibliote k Caching Databaseadgang HTML Sessionshåndtering Rettighedsstyring AJAX Sikkerhed Tråde URL håndtering HTTP Konfiguration ASP.NET MVC

7 Hvorfor ASP.NET MVC? Kontrol med URL’er Konventions- baseret Model-view- controller Unit testing Kontrol over HTML Aspect- oriented programming Udvidbart

8 Model-view-controller Model Controller View Applikation Markup som fortolkes og vises af klienten. Objekter som repræsenterer de data, applikationen arbejder med. Håndterer input fra view og interagerer med modellen. View Controller Model

9 ASP.NET MVC crash course

10 Controllers og actions Modellen for domænet er ikke begrænset af ASP.NET MVC Controllers er bindemidlet mellem domæne-model og views – en controller er blot en klasse Actions er de handlinger en controller kan udføre – en action er blot en public metode i en controller klasse Action result er returværdien for en action og bestemmer næste skridt – angiver oftest hvilket view, der skal renderes

11 Views Views er skabeloner, der genererer HTML ved at blande markup og view data View model overføres typestærkt fra action til view HTML Helpers gør det nemt at generere HTML, men udvikleren har kontrollen! Layouts gør det muligt at genbruge markup’en omkring et view Partielle views gør det muligt at genbruge markup på tværs af views

12 Routing Routes definerer sammenhængen mellem URL-mønstre og controller actions (uafhængigt af filstrukturen) Route tabellen bruges både til at matche indkomne requests til generering af links i markup @Html.ActionLink("Link text", "Action", "SomeController") www.domæne.dk/Controller/Action public ActionResult Action() { //Do something clever } URL Link text

13 Model binding View Controller Browser MVC model binding class Note { string Title { get; set; } } <input id="Title“ name="Title" type="text" value=""> POST http://host/Note/Create Title=Ny+note Note note

14 Validering, server- og client-side Metadata om validering angives deklarativt Editor templates danner client-side valideringslogik fra metadata Model validation sker server-side ud fra samme metadata

15 Filters Filters giver mulighed for deklarativt at indskyde logik i MVC Tre typer filtre understøttes pt: authorization, action og result filtre Filter attributes kan erklæres på actions, controllere eller globalt

16 MVC pipeline URL Routing: controller og action Controller instantieres Model binding MVC frameworkets behandling af indkommende requests: Model validering Action kaldes med model ActionResult eksekveres (view) Response sendes Filters

17 Async

18 Async all the way Asynkron programmering er svært! Language support i C# 5.0 (async & await).NET Framework 4.5 udvidet med task-based async metoder ASP.NET 4.5 har forbedret understøttelse af asynkrone handlinger VS2013 +.NET 4.5.1 giver bedre debugging af async metoder MVC udnytter alt det ovenstående

19 Synchronous >< Asynchronous Synkront metodekald blokerer den kaldende tråd mens operationen gennemføres Asynkront metodekald skedulerer operationen og returnerer med det samme, men det giver en række udfordringer: Hvordan vides det at operationen er færdig? Hvordan kommunikeres resultatet? Hvordan sikres fælles adgang til delte ressourcer? Hvordan håndteres fejl? Hvordan er behandlingsflowet egentligt?

20 Async i web-verdenen IIS’en og ASP.NET er et multi-trådet miljø Tråde er en begrænset ressource Risiko: requests bliver sat i kø selvom serveren ikke laver noget! Async: fritstiller tråde mens lange operationer gennemføres IIS Tråd #1 Tråd #2 Tråd #n Tråd # n-1 GET MVC App Internet Services MVC App

21 Async controllers, MVC 4 Udnyt Task fra TPL,.NET 4 Udnyt async/await, C# 5 Udnyt at MVC 4 forstår Task public async Task Index() { Task task = GetDataTaskAsync(); //Do stuff synchronously string data = await task; return Content(data); }

22 I/O Async controllers, MVC 4 public async Task Index() { Task task = GetDataTaskAsync(); //Do stuff synchronously string data = await task; return Content(data); } Tråd #1 Tråd #2 Tråd #n Tråd # n-1 GET

23 Async controllers, MVC 4 public async Task Index() { Task task = GetDataAsync(); //Do stuff synchronously var data = await task; return Content(data); } Tråd #1 Tråd #2 Bemærk: svartiden for det enkelte, blokerede request bliver ikke kortere

24 Fremtiden...

25 Fortid: MVC’s rivende udvikling MVC1 frigivet efter 9 preview releases som open source MVC2 tilføjede typestærke HTML helpers, server+client validation, areas, child actions mv. MVC3 forbedrede validation og introducerede dependency injection og Razor view enginen mv.

26 Nutid: Ny funktionalitet med MVC 4 1. Async controllers baseret på Tasks og nye sprog-features (.NET) 2. Bundling+minification for levering af JavaScript og CSS (ASP.NET) 3. Mobile support med DisplayModes og Adaptiv Rendering (MVC4)

27 ASP.NET MVC 5 på vej Authentication filter giver ny fase i MVC pipelinen Filter overrides gør det nemt at overdefinere filtre Attribute routing* muliggør erklæring af routes i controllers Bootstrap som grundlag for markup i projekt template

28 Den nuværende web stack ASP.NET ASP.NET Web FormsASP.NET MVC Websites Fortid ASP.NET Websites Services MVC 4 Web Pages Web Forms Single Pages Web API Signal R Nutid ASP.NET ASP.NET Web FormsASP.NET MVC Websites Fortid

29 Den fremtidige web stack ASP.NET Websites Services MVC 4 Web Pages Web Forms Single Pages Web API Signal R Fremtid

30 MVC 5 indgår i større release plan ASP.NET MVC 5 frigives med Visual Studio 2013 og.NET 4.5.1 Nu: VS2013 RC og.NET 4.5.1 RC 18. oktober: VS2013 RTM,.NET 4.5.1 RTM (og Windows 8.1 GA) 13. november: VS2013 official release event

31 One ASP.NET Fælles projekttype for alle ASP.NET projekter Miks-og-match de forskellige web-komponenter i samme projekt Scaffolding med fælles infrastruktur (kan tilrettes)

32 MVC 5 front-end udvikling Bootstrap er nu grundlaget for markup i projekt templates Ny editor for Razor views med HTML5- og CSS-understøttelse Browser Link forbedrer oplevelsen af webudvikling

33 Katana projektet OWIN specificer interface mellem web-server og web-applikation Microsoft Katana er implementation fra Microsoft IIS + ASP.NET kan hoste OWIN middleware ASP.NET Identity er OWIN middleware IIS server, host ASP.NETOWIN ASP.NET MVC Middleware Web applikation

34 Spørgsmål? www.copenhagensoftware.commail@copenhagensoftware.com

35 Evaluation Evaluation Scale: 1 = Very bad 2 = Bad 3 = Relevant 4 = Good 5 = Very Good! Questions: Speaker Performance Relevance according to your work Match of technical level according to published level Comments Create a Text message on your phone and send it to 1919 with the content: AZ304 5 5 5 I liked it a lot Session Code Stigs Performance (1 to 5) Match of technical Level (1 to 5) Relevance (1 to 5) Comments (optional)

36 © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Stig Irming-Pedersen ASP.NET MVC Partner Copenhagen Software."

Lignende præsentationer


Annoncer fra Google