Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Mikko Huilaja, Ohjelmistoarkkitehti 01.11.2012 EPiServer 7 ja MVC ”EPiServer tarjoaa kehittäjälle kaksi vaihtoehtoa sivupohjien rakentamisessa – valitse.

Samankaltaiset esitykset


Esitys aiheesta: "Mikko Huilaja, Ohjelmistoarkkitehti 01.11.2012 EPiServer 7 ja MVC ”EPiServer tarjoaa kehittäjälle kaksi vaihtoehtoa sivupohjien rakentamisessa – valitse."— Esityksen transkriptio:

1 Mikko Huilaja, Ohjelmistoarkkitehti 01.11.2012 EPiServer 7 ja MVC ”EPiServer tarjoaa kehittäjälle kaksi vaihtoehtoa sivupohjien rakentamisessa – valitse Web Forms tai MVC projektin vaatimuksien ja kehittäjän osaamisalueen mukaan.” #EPi7Fin

2 Agenda Mitä on MVC ja ASP.NET MVC Miksi MVC:llä on merkitystä Web Forms vs MVC MVC EPiServer 7 ympäristössä Miltä MVC projekti näyttää Visual Studiossa

3 MVC on suunnittelumalli Model - View - Controller Malli - Näkymä – Käsittelijä/Ohjain/Kontrolleri Malli erottelee vastuuut ‒ Datan ‒ Ulkoasun ‒ Logiikan

4

5 ASP.NET MVC versiot ASP.NET MVC v1.0 julkaistiin 2009 ASP.NET MVC v2.0 julkaistiin 2010 ASP.NET MVC v3.0 julkaistiin 2011 ASP.NET MVC v4.0 julkaistiin 2012 EPiServer 6.0 käyttää MVC 1.0 EPiServer 6 R2 käyttää MVC 2.0 EPiServer 7 käyttää MVC 4.0

6 ASP.NET Framework

7 Mitä hyötyä MVC:stä on? Parantaa osien uudelleenkäytettävyyttä. Helpottaa kehittäjien roolijakoa. Selkeyttää projektin rakennetta. Ohjaa tilattomien sovellusten tekoon. Helpottaa projektien ulkoasun toteutusta.

8 MVC ohjaa kehittäjiä tekemään tilattomia sovelluksia Ei mahdollista ViewState:n käyttöä Näkymät eivät voi kutsua enää kontrolleria Näkymään välitetään vain Model, joka suunnitellaan ulkoasun tarpeisiin Kontrollereihin on helppo tehdä erityyppisiä Action metodeja. ModelBinderit automatisoivat kutsujen konvertoinnin takas Modeleiksi

9 ViewState tilakoneen poistuminen muuttaa kehitystä monella tapaa Button Click pitää toteuttaa esim. POST kutsuna, joka sisältää halutut parametrit. Pitää olla entistä tarkempi ettei käyttäjä pysty sivua uudestaan lataamalla (F5) syöttämään samaa riviä uudestaan. Ei ole olemassa DataTable:ja jotka helpottavat sivutuksia ja sorttauksia. Kutsujen kesken ei voi välittää tietoa ellei käytä sessioita tai keksejä.

10 Miksi tilattomia sovelluksia (RESTful) Selaimen URL-osoitte todella vastaa sisältöä. Selaimen back ja forvard napit toimivat kuten käyttäjät ovat tottuneet. Hakukoneet löytävät sisällön ja linkit koska ne eivät vaadi javascriptiä (ViewState:a). Testaus ja virheiden selvitys helpottuu, kun sivujen tilaa virheen sattuessa ei tarvi huomioida.

11 EPiServer 7 ja MVC EPiServer 7 CMS on puhdas ASP.NET MVC projekti, jota EPiServer on laajentanut. Tukee samanaikaisesti sekä Web Forms:ia ja MVC:tä. Laajennukset: ‒ Route Handler ‒ EPiServer Template Resolver ‒ Filters ‒ HtmlHelperts

12 MVC execution life cycle (generic)

13 EPiServer EPiServer Template Resolver MVC execution life cycle (EPiServer)

14 EPiServer EPiServer Template Resolver MVC execution life cycle (EPiServer)

15 {lang}{ node }{ partial } {action} CMS registers a few default routes, {lang}/{node}/{partial}/{action} is the most important {lang} is optional, allows you to specify the desired language. {node} is ’greedy’, will match as much of your page tree as possible. {partial} only applies if the leaf content node’s type is registered to have an EPiServer.Web.IPartialRouter. {action} is optional, but if specified corresponds to a method name in the Controller. en/Products/Alloy Meet/Holographic/Projector-2000/Details When the leaf Content node has been found, the ContentType’s handler is determined: WebForms.aspx-page, or MVC-style Controller MVC in EPiServer 7 CMS

16 MVC helpers in EPiServer CMS 7 In Web Forms, you would use the Property WebControl to output a property In MVC Razor... @Html.PropertyFor(m => m.MainBody)

17 Razor & syntaksi

18 Web Forms ei mahdollista Model, View, Controller vastuihin jakoa Tilattomien sovellusten tekoa Vahvasti tyypitettyjä näkymiä Sivutyyppien uudelleenkäyttöä Blockkien käyttöä Sama on mahdollista tehdä myös WebFormilla!!!

19 Interweb: Web Forms vs MVC!

20 MVC ja Web Forms hybridiprojekti MVC ja Web Forms:ia voi käyttää rinnakkain, mutta on hyvä ottaa huomioon: Eri ViewEngineillä tehtyjä sivuja voidaan käyttää ristiin. Blockkien ristiinkäyttö vaatii omat implementaatiot MVC:lle ja Web Forms:ille. MasterPages ja Razor Layout tiedostot täytyvät elää rinnakkain. Pidemmän päälle koodi alkaa duplikoitumaan. Projektin rakenne on haastavaa pitää selkeänä.

21 Koodin pariin! DEMO

22 Tiivistelmä EPiServer on menossa kohti MVC:tä. Web Forms on edelleen hyvin tuettuna EPiServerissä. Olemassa olevien projektien konvertointi MVC:lle ei välttämättä tapahdu hetkessä. Kehittäjien kannalta MVC tuo paljon muutoksia. MVC soveltuu pääsääntöisesti paremminkuin Web Forms ulkoasultaan rikkaisiin verkkopalveluihin. EPiServer 7 ja MVC ovat loistava pohja projektille.

23 Kiitos! Lisää tietoa löytyy twitter.com/huilaaja Kysymyksiä voi lähettää #EPi7Fin tai @huilaaja


Lataa ppt "Mikko Huilaja, Ohjelmistoarkkitehti 01.11.2012 EPiServer 7 ja MVC ”EPiServer tarjoaa kehittäjälle kaksi vaihtoehtoa sivupohjien rakentamisessa – valitse."

Samankaltaiset esitykset


Iklan oleh Google