Webbserverprogrammering02 [wesweb02]

Moment06 - Ramverk/MVC

Introduktion

I detta moment kommer vi jobba med tekniken MVC som är vanlig inom all form av programmering just nu. Vi kommer också jobba med ett ramverk som gratis ger oss en struktur för hur vi skall bygga upp vår webbapplikation.

Momentets mål

I varje moment så jobbar vi mot ett eller flera mål som skolverket har satt upp i varje kurs.

Centralt innehåll

  • Webbserverns och dynamiska webbplatsers funktionalitet.
  • Funktionen i ett programmeringsspråk för dynamiska webbplatser.
  • Datalagring i relationsdatabas eller med annan teknik.
  • Teckenkodning. Begrepp, standarder och handhavande.
  • Kodning och dokumentation enligt vedertagen praxis för den teknik som används i sammanhanget.
  • Applikationsarkitektur och separation av olika slags logik.
  • Kvalitetssäkring av dynamiska webbapplikationers funktionalitet, säkerhet och kodkvalitet.

Del 1 - Teori

Inom programmering pratas det ibland om Design Patterns eller designmönster på svenska. Detta betyder att det sätts regler kring hur en applikation skall byggas upp vilket underlättar ett utvecklingsarbete i större projekt med flera utvecklare. Ett designmönster som det ofta pratas om är MVC och det är vanligt inte bara inom utvecklingen av webbapplikationer utan det är högst användbart även inom andra grenar av programvarutveckling.

MVC

Model-View-Controller är en teknik som används inom flera olika typer av programvarutveckling inte minst för utveckling av webbapplikationer. Grundprincipen med MVC är att separera data, Model, och gränssnittet mot användaren, View. Detta gör man för att enklare kunna ändra utseendet på någon applikation utan att behöva påverka lagrat data. För att detta skall fungera så läggs ett lager här emellan, Controller, som tar hand om det som finns mellan View och Model. Vi kan se det som att Controllen validerar data som skall matas in i datalagret och sedan förbereder utskrifter av det som redan är lagrat.

Det går att bygga upp denna strukturen på egen hand med många PHP-ramverk är byggda just för att jobba med denna separering av logik. Därför är det smidigt att introducera ramverk nu.

Ramverk

Ramverk är en abstraktion inom programmering som tillhandahåller allmän funktionalitet som kan ändras med ytterligare användarskriven kod, vilket ger en applikationsspecifik mjukvara. Ett ramverk är en universell, återanvändbar programvarumiljö som tillhandahåller funktionalitet som del av en större programvaruplattform för att underlätta utveckling av programvaror, produkter och lösningar. Ramverk kan innehålla stödprogram, kompileringsprogram, kodbibliotek, verktyg och applikationsprogrammeringsgränssnitt (API) som samlar ihop alla olika komponenter till utveckla ett projekt eller lösning.
Källa: Wikipedia [avläst: 2017-04-24]

Vi har tidigare kikat på ramverk för CCS, Bootstrap/MaterializeCss och för JavaScript/JQuery i andra kurser och för PHP finns det mängder av mindre eller större ramverk som kan vara bra att kunna. Här är det ingen tävling att den som behärskar flest Ramverk vinner men att kunna något eller några bra är önskvärt eller ett krav om du skall jobba med webbutveckling i framtiden. Det tar lite tid att lära sig men sedan när du väl har lärt dig så kommer du tjäna in den tiden mångdubbelt i ditt arbete.

Del 2 - Praktisk användning genom tutorial

Även om du nu har fått en kort genomgång av MVC så är det först när du arbetar med det på egen hand som du har möjlighet att förstå det på riktigt och kunna använda det i ditt arbete. Du kommer jobba med en kurs som är publicerad på Udemy.com vilket är en webbplats där det finns väldigt många bra kurser. Denna kursen är gratis och handlar om MVC genom ramverket CodeIgniter. det är en asiatisk kille som håller i kursen och den är bra även om det kräver lite tålamod i de första lektionerna för att ta till sig hans engelska.
I kursen går han igenom installation av CodeIgniter, MVC samt visar genom en rad exempel hur du kan arbeta med både MVC och CodeIgniter. Känner du dig hemma i miljön så kan det vara ett ramverk som du väljer att bygga ditt slutprojekt i.

Länk: CodeIgniter framework basic tutorial
Tänk på att använda denna tutorial samtidigt som du jobbar med momentet, att bara kika på klippen kommer inte göra dig till en bättre programmerare.

Redovisning

Lägg upp det material du har skapat genom tutorial på din webbplats, skriv en samlad utvärdering av vad du har lärt dig och hur det känns att arbeta med Ramverk/MVC på din wordpressida.