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

Slides:



Advertisements
Samankaltaiset esitykset
MATHM Hypermediajärjestelmät EPiServer.NET-asiakasprojekteissa TTY Timo Lehtonen Jarno Peltoniemi
Advertisements

# epi7fin #episerver7 Petri Isola Lead Technical Sales Engineer Kävijän matka 1.
ENTERPRISE SEARCH Toteutustekniikka Mikko Uusitalo Tampereen ammattikorkeakoulu.
Testaus ja testausympäristöt
Tietokoneen käyttöjärjestelmä
Suorita menulta voit ottaa yhteyden iSeries:iin tai katkaista yhteyden sinne ja poistua RI400:sta.
Informaatioteknologian instituutti Esityksen tekeminen PowerPointilla Jouni Huotari.
Wikispace jatkokurssi Jarmo Heikkinen Karoliina Kemppainen Satu Kylmänen.
Tech days ● 2010 Finland. tech days ● 2010 Finland.
Marko Mäkinen Jesse Ketonen Mikko Yrjänä
Stored Procs Pientä ja yleistä asiaa monelta eri kantilta.
Luku 5 – Tietojen hakeminen sovelluksiin
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö Netbeans ja XAMPP Projektin luominen.
Espoon Internet-sivuston uudistus Kristiina Andreasson
Web-sovellusten arkkitehtuurit K1103TK CodeIgniter - perusteet Jouni Juntunen.
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Raportointiportaali Vipunen
Erik Fallenius Kevät  Taustaa ◦ Ontologiat  Tavoitteet  Teknologiat ◦ Dojo/AJAX ◦ JSON ◦ SOAP  Projektin kulku  Lopputulos – demo.
EXtensible Markup Language
ASP.NET 3.5 – Uudet ominaisuudet Jani Järvinen, C# MVP Technical Manager, Software Dev. Moonsoft Oy.
Verkkosivut opettajan apuna
Windows Presentation Foundation - perusteet
Visual Studio 2008 ja sovellusten elinkaaren hallinta Matti Antila Jukka Wallasvaara Iikka Paavolainen Microsoft Oy.
#tdweb UI kompositio Lenard Gunda / Fujitsu Finland #tdweb.
Jouni Heikniemi Offbeat Solutions MODERNI WEB-KEHITYS ASP.NETILLÄ.
Development Association SEPRA How to involve youth into strategic rural development work? Budapest, 8th November 2011 Euroopan maaseudun kehittämisen maatalousrahasto:
Käytännön ohjelmointi ja käytännön ketterä testaus
Windows Presentation Foundation UxE:n näkökulmasta
Ketterä kehitys käytännössä – TFS & Meteor
INTERNATIONAL INNER WHEEL DATATIETOJEN HALLINTA 2014.
Clojure – this one goes to eleven!. Antti Virtanen Software Architect // Clojure oikeassa projektissa.
CSS ja sen sovellukset Vesa Jussila. Esitys  Yleistä –Historia –Etuja ja huonoja puolia –Mediatyypit  Käyttö –Laatikkomalli –CSS-taitto –Sovelluksia.
Kotisivukoulutus Ohjeet alasivujen tekoon ja kuvien lisäämiseen © SVS Länsi-Suomi.
Rakenteen ja ilmeen määrittelystä konseptissa. Konseptisuunnittelu Konseptisuunnitelman sisällöstä Konseptisuunnitelmassa kuvaillaan Projektin tausta.
Ohjelmointi.
Internet-projekti - MUM2TM Heikki Hietala Jukka Mutikainen TIKO – Malmi
XML -kielen perusteet SIMO Seminaari Antti Mäkinen.
vuorovaikutteiset www-sivut1 Palvelinpuolen www- ohjelmointi Dynaaminen Internet  käyttäjän tai selaimen tunnistaminen  käyttäjän toiveiden.
Muuttujat ja vakiottMyn1 Muuttujat ja vakiot PHP-kielen syntaksi on lainattu suurimmaksi osaksi C- kielestä. PHP on erityisesti HTML-dokumenttien sisään.
Sähköisen työskentelyn ja verkostoitumisen palveluympäristö.
Oletusasetusten tekeminen Päävalikolla voit aluksi tehdä kaikki oletusasetukset, jotka sitten ovat voimassa aina kun käytät RI400. Voit toki tehdä ne myöhemminkin.
HTML-lomakkeettMyn1 HTML-lomakkeet Web-sovelluksen käyttöliittymä rakentuu web-selaimen ominaisuuksista ja keskeisimmiltä osiltaan erityisesti HTML-kielellä.
Lomakkeet © Reiska, Lomakkeet Varsinkin Web-sovelluksia ajetaan täyttämällä sivulla lomake ja lähettämällä tiedot palvelimella olevan Web-sovelluksen.
XHTML-perusteita Teppo Räisänen
Ohjelman keskeytys virhetilanteessa tMyn1 Ohjelman keskeytys virhetilanteessa Poikkeustilanteet voidaan ryhmitellä logiikkavirheisiin ja muihin ajonaikaisiin.
Tässä on kokoelma kaikista 8lk:lla tekemistäni töistä.
Vaillinaiset apuverbit: may
 MODx on julkaisujärjestelmän ja sovelluskehyksen risteytys, jonka lisenssinä on kaikille ilmainen avoimen lähdekoodin GNU GPL. MODx on suunniteltu ammattilaisten.
Graafinen käyttöliittymä, osa 1
Ydinpalveluiden (käyttäjä, käyttöoikeus, potilas).NET-palvelutoteutus: CoreServiceDemo PlugIT-loppuseminaari Koulutustyöpaja 1: Avoimet ohjelmistorajapinnat.
ENA TODAY’S SPECIAL. otsikko oltava täysin oikein; numero pitää olla; ei alleviivausta! oma nimi oikeaan yläkulmaan; marginaaliin ei mitään.
Fiksu Opiskelija. Opetusaineisto jätteen synnyn ehkäisystä HSY Jätehuolto. Thoughts about Good Life Collected by Tuovi Kurttio, Pääkaupunkiseudun.
Tutkimussuunnitelma 1. Mitä käyttäjäryhmää tutkitaan?
Sopimuksen tarkastelu
Reports in Apply / eAge system
Procedural Language Extensions to SQL
WWW-sivuston ja verkkopalveluiden rakentaminen
Miten kerrotaan tekemisestä?
MyData – asiakas keskiöön
Ohjelman keskeytys virhetilanteessa
vedestä, ilmasta ja tulesta.
Presentation subheading
Istuntojen hallinta PHP-sovelluksessa
Aaltonen Petteri Laine Risto Nuutinen Ossi
PowerPoint-vinkkejä Jouni Huotari 11/16/2018 Jouni Huotari.
vedestä, ilmasta ja tulesta.
vedestä, ilmasta ja tulesta.
vedestä, ilmasta ja tulesta.
Social Media Toolkit for Companies
Calypso IP - Tilannekatsaus
Esityksen transkriptio:

Mikko Huilaja, Ohjelmistoarkkitehti 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

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

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

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

ASP.NET Framework

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.

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

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ä.

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.

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

MVC execution life cycle (generic)

EPiServer EPiServer Template Resolver MVC execution life cycle (EPiServer)

EPiServer EPiServer Template Resolver MVC execution life cycle (EPiServer)

{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

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

Razor & syntaksi

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!!!

Interweb: Web Forms vs MVC!

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ä.

Koodin pariin! DEMO

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.

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