Successfully reported this slideshow.
Seminar ASP.NET MVC<br />Gabriel Enea<br />(developer la maxcode.ro, co-fondator al serviciului joobs.ro)<br />Codecamp de...
Agenda Zilei<br />Introducere în ASP.NET MVC prin exemple<br />Rute, de la Iași la București cu ASP.NET MVC<br />Model-Vie...
Să nu uităm…<br />Pauze de cafea<br />11:00 – 11:15<br />15:00 – 15:15<br />Masa de prânz<br />12:45 – 13:30<br />Telefonu...
O scurtă statistică…<br />
50% - 50%?<br />
Introducereîn ASP.NET MVC prinexemple<br />Gabriel Enea<br />(developer la maxcode.ro, co-fondator al serviciului joobs.ro...
Agenda<br />Web Development, MVC, ASP.NET MVC, Laboratoare<br />
Cu cepornim la drum…<br />Internet browser, <br />Web Server, <br />HTTP (metode GET/POST)<br />AJAX<br />C#/VB.NET<br />V...
Puțină istorie<br />CGI, ASP, ASP.NET WebForms<br />MVC Frameworks<br />Ruby on Rails<br />DjangoandPython<br />Spring, St...
ASP.NET MVC Start!<br />Initiatorul: Scott Guthrie@ Microsoft (“theGu”), februarie 2007<br />Beneficiază de<br />Plaforma ...
ASP.NET MVC<br />Este total diferit!<br />De reținut: Servește metode și nu fișiere!<br />Extensibil, testabilșiflexibil.<...
MVC<br />
MVC în contextul web<br />Navigator web<br />Client<br />HTTP<br />Transport<br />Controller<br />View<br />Aplicaţie web,...
Ce este ASP.NET MVC?<br />Un nou tip de proiectaplicație web<br />Doar o opțiune:<br />Nu înlocuiește ASP.NET Web Forms<br...
ASP.NET Framework<br />
Mai multedespre ASP.NET MVC<br />Separareclarăîntrelogica UI, business și intrările utilizatorului<br />Extensibil<br />Ar...
ASP.NET MVC - Avantaje<br />Reduce complexitateauneiaplicatii web<br />Nu utilizează concepteleViewStatesauPostbackpe serv...
ASP.NET MVC - Structura<br />Model<br />class Product {..}<br />class Category {..}<br />View <br />.aspx, .asmx, .master,...
Laborator 1<br />Deschide Visual Studio 2008<br />Continuă cu:<br />File -&gt; New Project -&gt; ASP.NET MVC Web Applicati...
ASP.NET MVC - Execuţie<br />http://joobs.ro/jobs/list/10<br />Controller<br />Request<br />Pasul 1<br />Cererea ajunge dir...
ASP.NET MVC - Execuţie<br />http://joobs.ro/jobs/list/10<br />Controller<br />Request<br />Model<br />JobsController.List(...
ASP.NET MVC - Execuţie<br />Controller<br />ViewData[“title”] = “abc”<br />ViewData.Model&lt;T&gt;<br />View<br />Pasul 3<...
ASP.NET MVC - Execuţie<br />Controller<br />View<br />Pasul 4<br />View-ultransformă data Model-ul într-un format de preze...
ASP.NET MVC - Execuţie<br />Controller<br />View<br />Response<br />Pasul 5<br />Rezultatul View-ului esteafișat/returnat<...
HTML Helpers<br />Genereazăelemente HTML <br />	(&lt;input type=“text|submit”…&gt;, &lt;select …&gt;&lt;option…&gt;)<br />...
URL Helpers<br />Url.Action(…)<br />Generează URL-uri bazat pe regulile de rutare URL-uri<br />Url.Content(…)<br />Mapeaza...
Laborator 2<br />JoobsBox light<br />Prezentarescheletsoluție JoobsBox<br />
ASP.NET MVC <br />Soluții online<br />…<br />
Today, ASP.NET MVC is a plus…<br />
ASP.NET MVC<br />Q & A?<br />
Introducereîn ASP.NET MVC prinexemple<br />Gabriel Enea<br />(developer la maxcode.ro, co-fondator al serviciului joobs.ro...
Seminar ASP.NET MVC<br />Mulțumesc!<br />
Resurse ASP.NET MVC<br />codeplex.com/aspnet (Surse publice)<br />www.asp.net/mvc (Tutoriale video, Quickstarts)<br />webl...
Seminar ASP.NET MVC<br />Gabriel Enea<br />(developer la maxcode.ro, co-fondator al serviciului joobs.ro)Blog: http://gabr...
Upcoming SlideShare
Loading in …5
×

Introducere în ASP.NET MVC prin exemple

5,200 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Introducere în ASP.NET MVC prin exemple

  1. 1. Seminar ASP.NET MVC<br />Gabriel Enea<br />(developer la maxcode.ro, co-fondator al serviciului joobs.ro)<br />Codecamp de toamnă la Iași // Codecamp.ro<br />19-21 nov 2009<br />
  2. 2. Agenda Zilei<br />Introducere în ASP.NET MVC prin exemple<br />Rute, de la Iași la București cu ASP.NET MVC<br />Model-View-Controller și ASP.NET MVC. AJAX e minunat în combinație cu ASP.NET MVC<br />Magia testelor automate cu ASP.NET MVC <br />
  3. 3. Să nu uităm…<br />Pauze de cafea<br />11:00 – 11:15<br />15:00 – 15:15<br />Masa de prânz<br />12:45 – 13:30<br />Telefonul: Airplane mode (pls)<br />
  4. 4. O scurtă statistică…<br />
  5. 5. 50% - 50%?<br />
  6. 6. Introducereîn ASP.NET MVC prinexemple<br />Gabriel Enea<br />(developer la maxcode.ro, co-fondator al serviciului joobs.ro)<br />
  7. 7. Agenda<br />Web Development, MVC, ASP.NET MVC, Laboratoare<br />
  8. 8. Cu cepornim la drum…<br />Internet browser, <br />Web Server, <br />HTTP (metode GET/POST)<br />AJAX<br />C#/VB.NET<br />Visual Studio<br />…<br />
  9. 9. Puțină istorie<br />CGI, ASP, ASP.NET WebForms<br />MVC Frameworks<br />Ruby on Rails<br />DjangoandPython<br />Spring, Struts, JSF<br />Zend Framework and PHP<br />MonoRail<br />ASP.NET MVC<br />
  10. 10. ASP.NET MVC Start!<br />Initiatorul: Scott Guthrie@ Microsoft (“theGu”), februarie 2007<br />Beneficiază de<br />Plaforma .NET (C#, compiled & managed code, languagefeatures: lambda, anonymoustypes,…)<br />Urmează principiile:<br />Convenții peste configurații<br />Don’t repeat yourself (principiul DRY)<br />Modularitate<br />Utilitate<br />
  11. 11. ASP.NET MVC<br />Este total diferit!<br />De reținut: Servește metode și nu fișiere!<br />Extensibil, testabilșiflexibil.<br />Nu este Web Forms 4.0!<br />Este Open Source!!!(codulsursă pe codeplex.com)<br />
  12. 12. MVC<br />
  13. 13. MVC în contextul web<br />Navigator web<br />Client<br />HTTP<br />Transport<br />Controller<br />View<br />Aplicaţie web, <br />Server web (IIS, Apache)<br />Model<br />
  14. 14. Ce este ASP.NET MVC?<br />Un nou tip de proiectaplicație web<br />Doar o opțiune:<br />Nu înlocuiește ASP.NET Web Forms<br />Integrat cu functionalitățileexistente ASP.NET<br />Usortestabil (teste automate, TDD)<br />Stadiul curent: ASP.NET MVC 1.0<br />Urmează ASP.NET MVC 2 (acum Beta)<br />
  15. 15. ASP.NET Framework<br />
  16. 16. Mai multedespre ASP.NET MVC<br />Separareclarăîntrelogica UI, business și intrările utilizatorului<br />Extensibil<br />Arhitectură bazată pe Interfeţe<br />Puţine clase nemoştenibile<br />User/SEO Friendly URLs<br />
  17. 17. ASP.NET MVC - Avantaje<br />Reduce complexitateauneiaplicatii web<br />Nu utilizează concepteleViewStatesauPostbackpe server<br />Implementează<br />FrontController pattern - suportavansatpentrurutare URL-uri<br />SuportpentruTDD<br />Suportpentruechipe de lucrumari<br />
  18. 18. ASP.NET MVC - Structura<br />Model<br />class Product {..}<br />class Category {..}<br />View <br />.aspx, .asmx, .master, string, JSON, XML,…<br />Controller<br />ProductsController.View(int id)<br />ProductsController.List(int? page)<br />ProductsController.Create(…)<br />
  19. 19. Laborator 1<br />Deschide Visual Studio 2008<br />Continuă cu:<br />File -&gt; New Project -&gt; ASP.NET MVC Web Application (Visual C#/Visual Basic)<br />F5 – Run (start debugging)<br />Scop: înţelegere structură proiect.<br />
  20. 20. ASP.NET MVC - Execuţie<br />http://joobs.ro/jobs/list/10<br />Controller<br />Request<br />Pasul 1<br />Cererea ajunge directîn Controller<br />
  21. 21. ASP.NET MVC - Execuţie<br />http://joobs.ro/jobs/list/10<br />Controller<br />Request<br />Model<br />JobsController.List(int? page)<br />Pasul 2<br />Controller -ulprocesează cererea şi construieşte un data Model<br />
  22. 22. ASP.NET MVC - Execuţie<br />Controller<br />ViewData[“title”] = “abc”<br />ViewData.Model&lt;T&gt;<br />View<br />Pasul 3<br />Controller -ultrimite data Model-ulla View<br />
  23. 23. ASP.NET MVC - Execuţie<br />Controller<br />View<br />Pasul 4<br />View-ultransformă data Model-ul într-un format de prezentare (HTML/XML/JSON..)<br />
  24. 24. ASP.NET MVC - Execuţie<br />Controller<br />View<br />Response<br />Pasul 5<br />Rezultatul View-ului esteafișat/returnat<br />
  25. 25. HTML Helpers<br />Genereazăelemente HTML <br /> (&lt;input type=“text|submit”…&gt;, &lt;select …&gt;&lt;option…&gt;)<br />Faciliteazălegareacontroalelor HTML la date (data-binding)<br />Integrare cu mecanismul de validarepe server<br />Definiție: <br />&lt;% = Html.TextBox(“UserName”) %&gt;<br />Output: <br />&lt;input type=“text” id=“UserName” /&gt;<br />
  26. 26. URL Helpers<br />Url.Action(…)<br />Generează URL-uri bazat pe regulile de rutare URL-uri<br />Url.Content(…)<br />Mapeaza resurse statice (imagini, css-uri, scripturi JavaScript…)<br />Url.Encode(…)<br />Encodează caracterele invalide dintr-un URL<br />
  27. 27. Laborator 2<br />JoobsBox light<br />Prezentarescheletsoluție JoobsBox<br />
  28. 28. ASP.NET MVC <br />Soluții online<br />…<br />
  29. 29.
  30. 30.
  31. 31.
  32. 32. Today, ASP.NET MVC is a plus…<br />
  33. 33. ASP.NET MVC<br />Q & A?<br />
  34. 34. Introducereîn ASP.NET MVC prinexemple<br />Gabriel Enea<br />(developer la maxcode.ro, co-fondator al serviciului joobs.ro)<br />
  35. 35. Seminar ASP.NET MVC<br />Mulțumesc!<br />
  36. 36. Resurse ASP.NET MVC<br />codeplex.com/aspnet (Surse publice)<br />www.asp.net/mvc (Tutoriale video, Quickstarts)<br />weblogs.asp.net/scottgu/archive/tags/MVC/ (Articole, noutati ASP.NET MVC + exempleutilizare, byScottGu)<br />Directorul /Docs pus la dispoziție în cadrul training-ului.<br />Book: Professional ASP.NET MVC 1.0(Rob Conery, Scott Hanselman, PhilHaack, ScottGuthrie)<br />ASP.NET MVC Training Kit (http://tinyurl.com/yh7muf)<br />Notă: acestemateriale au stat la bazainformaţiilor din sesiunile seminarului ASP.NET MVC.<br />
  37. 37. Seminar ASP.NET MVC<br />Gabriel Enea<br />(developer la maxcode.ro, co-fondator al serviciului joobs.ro)Blog: http://gabrielenea.blogspot.com<br />Microblog: http://www.twitter.com/dotnet18<br />Email: gabriel.enea@joobs.ro<br />Codecamp de toamnă la Iași // Codecamp.ro<br />19-21 nov 2009<br />

×