MVC-mönster i ASP.NET Projektblogg bygghemma.se

Storlek: px
Starta visningen från sidan:

Download "MVC-mönster i ASP.NET Projektblogg bygghemma.se"

Transkript

1 C-uppsats i Datavetenskap MVC-mönster i ASP.NET Projektblogg bygghemma.se Författare: Janina Torstensson Handledare: Martin Blomberg Termin: VT11 Kurskod: 2DV40E

2 Abstrakt Rapporten tar upp resultatet av en studie kring MVC som gjordes på en applikation som utvecklades för bygghemma.se i programmeringsspråket ASP.NET MVC 3. Metoden för att undersöka detta har främst varit den kodning som gjort under utvecklingen. Resultatet av detta arbete har blivit en webbapplikation där användare kan lägga upp sina renoveringsprojekt samt en erfarenhet rikare vad gäller MVC och dess struktur. Nyckelord Bygghemma.se, projektblogg, ASP.NET MVC 3, MVC. Abstract The report discusses the results of a study regarding the use of MVC in an application that was developed for bygghemma.se, written in ASP.NET MVC 3. The primary method of investigating this has been the coding during development. The result of this has become a web application where users can upload their renovation projects and a richer experience in terms of MVC and its structure. Keywords Bygghemma.se, project blog, ASP.NET MVC 3, MVC.

3 Förord Detta arbete är ett examensarbete och ingår i examinationen av programmet Utvecklare av digitala tjänster vid Linnéuniversitetet i Kalmar. Arbetet har gett mig djupare kunskap vad gäller ASP-dotnet MVC 3 och MVC-strukturen som sådan. Jag har även fått erfarenhet av att jobba mot ett företag vilket jag tycker varit intressant och lärorikt. Jag vill tacka IT-avdelningen på bygghemma.se som har handlett och hjälpt mig igenom detta arbete. /Janina Torstensson

4 Innehåll 1 Introduktion Inledning/bakgrund Tidigare forskning Problemformulering Syfte och frågeställning Målgrupp Disposition Bakgrund/Teori Vad är MVC? MVC fördelar MVC nackdelar ASP.NET MVC Metod Vetenskaplig ansats Arbetssätt Litteraturstudie Val av teknik/verktyg Implementering med hjälp av ASP.NET MVC Analys Tillförlitlighet Resultat Skapa projekt Skapa blogginlägg Bilduppladdning Projektdetaljer Blogginlägg Före och efter bild Skapa en kommentar Nyckelord Övriga funktioner Diskussion För och nackdelar kring en MVC-struktur Metod och resultat... 27

5 6 Avslutning Slutsats Referenser Uppsatser/Vetenskapliga artiklar Elektroniska källor Bilagor Ordlista... 31

6 1 Introduktion 1.1 Bakgrund Bygghemma.se är ett nätbaserat byggvaruhus som grundades Bygghemma.se har sitt huvudkontor i Oskarshamn men det är i Kalmar som större delar av IT-avdelningen sitter. Syfte med detta projekt är att skapa en webbapplikation åt bygghemma.se som ger användaren möjlighet att visa sina egna renoveringsprojekt i form av bild och text. Applikationen ska utvecklas i ASP.NET MVC 3 (ASPdotnet MVC 3)1 vilket också är ett av de ämnen som kommer tas upp i rapporten. Applikationen kommer i ett första läge vara fristående från bygghemma.se s nuvarande plattform. MVC-strukturen(MVC)2 är ett välkänt designmönster och ASP-dotnet MVC3 har flera tidigare versioner. ASP-dotnet MVC 3 är deras nyaste version och är i hög grad aktuell för utvecklare inom detta område. 1.2 Tidigare forskning När det gäller MVC så finns det mycket forskning men ofta är de riktade mot något specifikt, det kan vara ett visst språk eller liknande. Ingen tidigare forskning kring ASP.NET MVC 3 har hittats vilket kan bero på att det är en relativt ny version på marknaden. 1.3 Problemformulering Eftersom utvecklingen kommer att ske i ASP-dotnet MVC 3 blev det också en självklar grund för rapporten. För att kunna utveckla denna applikation kommer studier kring MVC att göras även om en del tidigare erfarenhet finns. I rapporten kommer jag behandla vilka för och nackdelar det finns att jobba med MVC-strukturen i ren fakta men också jämföra dessa punkter med egna erfarenheter som uppkommit under och efter denna utveckling. 1.4 Syfte och frågeställning Undersökning av problemet kommer ske under utvecklingens gång. Det är under utvecklingen som observationer och erfarenheter kring MVC och ASP-dotnet MVC 3 kommer tas in. Undersökningen kommer också bestå av en del litteraturstudie för att ta in fakta vad gäller MVC-strukturen och

7 dess för och nackdelar. Frågeställningen handlar om MVC och dess struktur och vad den har för för och nackdelar. Det som också kommer att undersökas är hur denna struktur fungerar i ASP-dotnet MVC Målgrupp Målgruppen för denna rapport är den teknikintresserade och personer som är relativt insatta i utveckling med inriktning mot dotnet och webbapplikationer. Ett intresse för att lära sig mer om MVC bör även finnas hos målgruppen då det är det ämne som berörs i rapporten. 1.6 Disposition Rapporten behandlar först en teoridel där MVC kommer att vara i fokus. Här beskrivs det vad MVC är och vilka olika delar som ingår. I teoridelen behandlas även ASP-dotnet MVC 3 och dess nyheter. I metoden beskrivs sedan arbetssättet och de verktyg och tekniker som har används i utvecklingen. Metoden som främst går ut på implementering i ASP-dotnet MVC 3 kommer också behandla de delar som tas upp i teoridelen. Hur fungerar MVC i samband med detta språk och hur man gör rent praktiskt visas här. Metoden följs av en metodanalys för att sedan gå vidare till resultatet. Här visas hur resultatet blev både med bilder och med text. Uppsatsen fortsätter sedan med en diskussion för att avslutas med en slutsats.

8 2 Bakgrund/Teori Här beskrivs de tekniker och den teori som arbetats med under arbetets gång. 2.1 Vad är MVC? MVC2 som står för Model, View, Controller är ett designmönster för utvecklare som används för att separera användargränssnittet och presentationslagret från affärslagret. Logiken mellan dessa sköts av en Controller. Controller och View är beroende av Model medan Model ska vara helt oberoende av de andra. Detta gör att det är enkelt att byta ut en Model. Bild 1. MVC-strukturens beroende. Model är applikationens hjärta och tar hand om all data i applikationen. Ofta består Model av objekt som motsvarar tabellerna i databasen och på så sätt kan data hämtas och sparas. View tar hand om presentationen, dvs. det som syns för användaren. Controller tar hand om användarens handlingar, det kan exempelvis var en knapptryckning på en hemsida. Beroende på vad användaren trycker på så skickas information från en aktuell View till en Controller, Controller i sin tur skickar vidare informationen antingen till en Model eller/och en View. Nedan följer ett exempel på hur flödet kan se ut i en MVC-applikation. Flödet startar då användaren trycker på en länk, tanken är då att användaren ska komma till en ny sida som visar ny information.

9 Bild 2. Flödesschema för en MVC-applikation. Länken som användaren trycker på är i sin tur kopplad till en funktion i en Controller för att hantera inputen. Funktionen tar en parameter, nämligen användarens id som skickas med från vyn. Här tar Controller i sin tur kontakt med Model för att hämta den information som användaren vill se. Controller returnerar sedan en ny View med den information som hämtats från Model. 2.2 MVC Fördelar MVC2 organiserar koden så att man skiljer på logik och presentation. Detta medför att man kan ha flera olika vyer för att presentera informationen. De separerade delarna kan också lättare återanvändas i andra projekt när logik och presentation är åtskilda. Uppdelandet på presentationen och logiken ger lösa kopplingar som gör det lättare för olika sorters komponenter att integrera med varandra på ett flexibelt sätt. De lösa kopplingarna gör det också lättare för utvecklare att jobba med olika delar samtidigt och koden blir lättare att återanvända i flera sammanhang. Detta medför att en MVC-applikation2 är utbyggbar, det är lätt att bygga på flera komponenter och funktioner då det är en tydlig separation. MVC ger också en bättre förutsättning för testdriven utveckling. 2.3 MVC Nackdelar En MVC-struktur är inte för små applikationer. Det blir ofta alldeles för komplext att använda sig av MVC2 i en mindre applikation och det kommer få negativa effekter på prestanda och designen.

10 2.4 ASP-dotnet MVC 3 ASP-dotnet MVC 3 bygger på ASP-dotnet MVC och dess tidigare versioner som är till för utveckling med hjälp av MVC-strukturen i dotnet-miljö och används för att skapa dynamiska webbsidor. Det har kommit en rad nyheter kring denna version1, nedan beskrivs ett antal av dem View med razor-syntax En View med en syntax som kallas razor4 är en nyhet vad gäller ASP-dotnet MVC 3. Razor är baserat på de existerande språken C#(c-sharp)5 och Visual Basic och i Visual studio finns även kodhjälp för razor-syntax. För att använda sig av den Model som är kopplad till en View I samband med denna nyhet går det även nu att välja vilken typ av View som man vill arbeta med. Den gamla vyn eller den med razor-syntax MvcScaffolding MvcScaffolding1 är ett verktyg som gör det lättare och snabbare att bygga upp och starta en applikation om man är ny när det gäller ASP-dotnet Global Filters Global filters1 används då en viss logik ska kunna användas på alla Controller i en applikation. Detta görs genom att lägga till filtret till GlobalFilters collection som finns i filen Global.asax Klientsidevalidering som standard I tidigare versioner av ASP-dotnet behöver man anropa Html.EnableClientValidation från en View för att aktivera denna validering. I ASP-dotnet MVC 3 är denna validering på som standard men går även att stänga av i filen web.config Validering En rad nyheter finns när det gäller valideringen1. I ASP-dotnet 3 går det att jämföra två olika värden i en Model genom attributet compare. Bild 3. Exempel på attributet compare i ASP-dotnet MVC 3.

11 Ett antal interface vad gäller validering är också med bland nyheterna kring ASP-dotnet MVC Fler nya funktioner ASP-dotnet MVC 3 innehåller nya typer för actionresult, en annan nyhet är att det automatiskt installerar NuGet som är ett gratis paket som gör det lättare för utvecklaren att hitta och installera bibliotek och andra paket till sitt projekt. 3. Metod 3.1 Vetenskaplig ansats Jag har valt att induktiv ansats med lite teori i grunden. Jag kommer utifrån egna observationer och erfarenheter få en djupare förståelse för ämnet samtidigt som jag jämför mina erfarenheter med teorin. Undersökningen kommer därför att vara kvalitativ. 3.2 Arbetssätt Detta projekt innefattar både utveckling av en webbapplikation och en uppsats. Även en del dokumentation har gjorts under projektets gång. Balansen mellan dessa är fyra dagar utveckling och en dag uppsatsskrivande/litteraturstudie. Utvecklingen kommer främst att ske på bygghemma.se s kontor. Under projektets gång kommer även en liten dagbok att skrivas där det beskrivs vad som gjorts den närmaste tiden. Denna kommer förhoppningsvis blir användbar till uppsatsen. Under varje vecka ska en milstolpe sättas upp där det beskrivas vad man ska göra under kommande period. 3.3 Litteraturstudier Under datainsamlingsprocessen har en del litteraturstudier gjorts även om jag sedan tidigare har en del kunskap. Informationen kring MVC och ASPdotnet MVC 3 har hämtats i vetenskapliga artiklar och på internet. Källorna kollades ut på förhand för att göra arbetet lättare. Dock har även en del litteraturstudier gjorts under tiden av arbetet. Den största datainsamlingen kommer ske under utvecklingen då jag kommer observera de olika delarna av MVC samtidigt som jag får med mig erfarenhet ifrån dem.

12 Inga enkäter eller intervjuer har gjorts i denna undersökning då det framförallt handlar om ren fakta och därefter hur jag själv upplever denna. 3.4 Val av teknik/verktyg Många av de tekniker och verktyg som används i applikationen används också av bygghemma.se och blev då ett lätt val. Teknikerna nedan är inte krav för ett MVC-projekt i ASP-dotnet MVC 3 men används däremot väldigt ofta. För förklaring av orden nedan se bilaga 1. För versionshantering använde sig bygghemma.se av Mercurial6 vilket också ha gjorts i denna utveckling. I och med kravet att jobba i ASP-dotnet MVC 3 så har programmeringen skett i c-sharp. Kopplingen med databasen har skett med hjälp av Nhibernate7, databasen mappas då till de objekt som finns i modellen. Repository pattern8 har också används i applikationen för att få ett mer organiserat upplägg då man gör olika anrop till databasen och fungerar som ett mellanlager mellan Controller och Model. JavaScript9 är också något som har används i applikationen samt ett antal olika jquery-funktioner och plugin10. Ett av de plugin som har använts i applikationen är Tinymce som gör det möjligt att addera en avancerad texteditor till sin applikation. För att få ett utseende på applikationen så har CSS(css)11 använts. För kommunikation med Facebook och inloggningsfunktion har en Facebook helper12 används. På detta sätt går det att se om användaren är inloggad och det går också att få tag på en del information kring användaren. 3.5 Implementering med hjälp av ASP-dotnet MVC Filstruktur Genom att starta ett ASP-dotnet MVC Web Application-projekt i Visual Studio13 får man med sig en klar mappstruktur. Även exempeldata finns med

13 så det går lätt att se hur saker och ting hänger ihop. Bild 4. MVC-struktur för ASP-dotnet MVC Web Application i Visual Studio. Som standard ser strukturen ut som ovan och rekommenderar följande3: Content-mappen används för css och bilder. Controllers är mappen som innehåller projektets Controller och namnet på en Controller ska enligt ASP-dotnet MVC alltid sluta på Controller. I Models finns affärslogiken. Mappen kan bland annat innehålla logik för att arbeta med databasen men också de olika objekt som finns att arbeta med i applikationen, ofta motsvarande databasens tabeller. JavaScript-filer läggs i Scripts-mappen. Här får man från början med en hel del filer vad gäller AJAX och jquery. Dessa kan bland annat användas för validering. De filer som rör presentationen läggs i mappen Views. För varje Controller finns ofta en mapp i views med samma namn som en Controller, ett exempel kan tex vara home och där under ligger sedan dess vyer.

14 Vissa delar i strukturen är fasta medan en del är fria. Modeller och dess databaser kan man själv välja vad man vill lägga. I den utvecklade applikationen har bland annat filtstrukturen delats upp ytterligare. Bild 5. Den utvecklade applikationens filstruktur. Bilden ovan visar hur applikationens filer är uppdelade. Projektet som heter BH är uppdelat i flera mindre projekt. Data, Model, Service och Web. Denna uppdelning var en rekommendation från Bygghemma.se och gör projektet väldigt flexibelt. Förklaring av varje delprojekt tas nu upp. I datalagret sker alla kopplingar mot databasen, dessa kopplingar ligger i ett repository(se val av teknik/verktyg). Här sker även mappningen mellan databasen och objekten. Modellagret innehåller de klasser och objekt som motsvarar databasen. Servicelagret kan beskrivas som ett affärslager. Här sker kopplingen till datalagret och dess repository men även validering. Här finns också de Html-helpers som används i applikationen. Webblagret är det lager som innehåller Controller, View, script-filer, bilder, stilmallar.

15 3.5.2 Model I modellagret skapar man nya klasser för de objekt man vill jobba med i sin applikation. I den utvecklade applikationen betyder det att modellens klasser heter Project, Post, Comment, Media och Tag. I klasserna specificerar man upp vilka egenskaper objekten ska ha, exempelvis titel och beskrivning. Bild 6. Egenskaper i en Model-klass. Här visas klassen post. I den utvecklade applikationen så har Nhibernate7 används för att mappa c- sharp-objekten till databasen, denna mappning sker i datalagret. Bild 7. En mappnings-klass. Så här kan en mappning se ut. Klassen som i detta fall heter postmap ärver från Nhibernates classmap där man får specificera vilken klass i Model den ska mappas till. I detta fall sker mappningen till klassen post som motsvarar ett nytt blogginlägg i applikationen. I mappningen får man ange vilka beroenden som finns och vilka egenskaper som har många till många relation(hasmany och HasManyToMany). När man har en många till många relation måste man ange vilken kolumn som kopplingen sker till(keycolumn, ParentKeyColumn, ChildKeyColumn). Den sista raden i bilden ovan säger att en post har ett helt projekt-objekt kopplat till sig i modellen, denna kopplingen sker genom kolumnen ProjektId i databasen.

16 3.5.3 Controller En ny Controller skapar man genom att högerklicka på mappen Controller och ta Add -> Controller, här får man namnge sin Controller. Som standard får man en funktion vid namn index som returnerar en View. Om man inte specificera namnet på sin View så blir det automatiskt den View som har samma namn som namnet på Controller-funktionen. Bild 8. Funktion i en Controller, som returnerar en View med namnet index View En View finns i några olika typer. Förutom de som nämns nedan finns de standard vyer som man använder sig av mest. En Partial view14 är en View som kan användas på flera ställen i applikationen. Det är en View som kan laddas in i en annan View för att visa specifik data. De partiella vyerna lägger man ofta under mappen shared som finns i Views. En annan typ av View är en master page14 som är en View där man specificera saker som man vill ska synas på alla sidor, exempelvis en meny. Om man vill ha flera olika utseenden i sin applikation kan man använda sig av flera master page. Bild 9. Innanför dessa taggar i en master page visas innehållet från en annan View. I en master page finner man dessa taggar och det är här innanför som det specifika innehållet sedan kommer att visas. Det vill säga den View som laddas in.

17 För att skapa en master page i Visual studio högerklickar man på mappen Views och väljer new item. Under web och mvc finns här ett val som heter mvc master page. Välj det och ett namn på den View du vill skapa. En View kan skapas på flera sätt. Är en controller-funktion redan skapad så kan man högerklicka i metoden och välja add view vilket gör att man får samma namn på vyn som det är på metoden. Detsamma går även att göra på mappen Views. Bild 10. Utseende för skapande av en View i visual studio. Denna rutan får man upp när man väljer att skapa en ny View. Först väljer man namnet på sin View och sedan finns ett val hur man vill att syntaxen ska vara på sin View. Nytt för ASP-dotnet MVC 3 är att man kan välja razor, mer om det senare. Man kan välja att skapa en starkt typad vy och detta betyder att vyn är kopplad till ett specifikt objekt, exempelvis postobjekt. Väljer man att använda en stark typad View kan man även välja en specifik mall och få lite hjälp på vägen(bra att använda för att komma igång). Här kan man bland annat välja bland en View för att skapa, ändra, ta bort och att lista sitt objekt som man har kopplat till sin View.

18 När man skapar en View kan man också välja att skapa den som en partial view och oftast väljer man också den master page som man vill ha för sin vy. Exemplet nedan är en vanlig View med den äldre syntaxen, den är typad till ett post-objekt och har en master page. Denna View heter index för att passa ihop med controller-funktionen som skrevs tidigare. Bild 11. En View med den äldre syntaxen. Det som finns i content-taggarna med id maincontent är det som kommer synas på sidan medan ContentPlaceHolder motsvarar den vanliga titeltaggen. Nedan följer samma exempel med med razor-syntax, dock utan master page. Bild 12. En View med razor-syntax. För att få ihop detta till någon applikation så måste data skickas in till vyn, så den vet vilken titel den ska skriva ut. Denna data hämtas därför i Controller och då från Model. I detta fall anropas en service-klass som i sin tur anropar ett repository som sedan hämtar från databasen och returnerar tillbaka data till Controller. Bild 13. En Controller som hämtar ett post-objekt och sedan returnerar en View kopplat till det aktuella objektet.

19 Posten som har hämtats ut skickas här in i vyn för att sedan skriva ut dess titel, se bild 8 och 9. Implementation av en MVC-applikation i ASP-dotnet MVC handlar mycket om det som beskrivits ovan. En eller flera vyer som kopplas ihop med en Controller som i sin tur antingen hämtar eller sätter in data till Model. 3.6 Analys De tekniker som har används för att analysera resultatet är framför allt den kodning som har gjorts. Under arbetets gång har iakttagelser samt observationer gjorts. Kodningen i sig har också gett erfarenhet och djupare förståelse vad gäller MVC och dess uppbyggnad med Model, View och Controller. Kodningen rör bland annat de tekniker och mönster som jag tagit upp i tidigare delar av rapporten. 3.7 Tillförlitlighet Då undersökningens resultat handlar om egna erfarenheter så är det svårt att säga att undersökningen har en hög tillförlitlighet. Inga tvivel finns dock på att validiteten är hög, det som var avsett att undersökas har utförts. Undersökningens resultat är beroende på vem som utför, personer kan ha olika åsikter om saker och ting. Dock tror jag att reliabiliteten ökar i denna undersökning då det finns en teori som stämmer bra överens med det resultat som tagits fram.

20 4 Resultat Resultatet är en applikation där användaren kan skapa ett renoveringsprojekt och till det skapa flera olika bloggposter. Till bloggposterna finns även en kommentarsfunktion. Bild 14. Applikationens startsida Det finns en rad olika funktioner i applikationen. Alla kommer inte tas upp utan ett antal har valts ut här. 4.1 Skapa projekt Bild 15. Det ska vara enkelt att skapa ett projekt.

21 Projektet är applikationens grund. Det är dessa som ska bära upp hemsidan och göra den intressant. Ett projekt kan man endast skapa om man är inloggad. Det ska vara enkelt att skapa ett projekt, inga detaljer eller onödiga moment ska finnas med och därför behövs endast ett projektnamn vid skapandet. Det finns också ta bort och editeringsmöjligheter vad gäller ett projekt. 4.2 Skapa blogginlägg Bild 16. Så här ser det ut när ett nytt inlägg ska skapas. Varje projekt kan innehålla flera blogginlägg, ett inlägg ska helst innehålla en titel, beskrivning, minst en bild och ett nyckelord som passar in på inlägget. Ett nyckelord kan exempelvis vara badrum. Beskrivningen och bilduppladdning är dock frivilligt, bilduppladdningen beskrivs nedan. När det gäller blogginläggen finns det även här både ta bort och editeringsmöjligheter.

22 4.3 Bilduppladdning Bild 17. Popup för bilduppladdning. För att ladda upp en bild måste användaren befinna sig i den vyn som antingen skapa ett blogginlägg eller den vy som editera ett befintligt inlägg. Här finns en specifik knapp för uppladdningen. Vid knapptryckning öppnas en popup där användaren får bläddra bland sina egna filer för att välja den bild man ska laddas upp, den valda bilden kommer visas för användaren. När användaren trycker på ladda upp så visas bilden i formuläret i bakgrunden, detta klargör att bilden är uppladdad rätt. Vill användaren sedan ladda upp flera bilder så kan man göra det annars väljer man att stänga popup-rutan. Bilden sparas dock inte till inlägget förrän användaren trycker på spara i formuläret som han/hon befinner sig i. 4.4 Projektdetaljer På projektsidan kan en användare se detaljerna kring sitt projekt. Dess titel, beskrivning och före och efter bild över projektet. På detaljsidan kan man också välja om man vill ändra eller ta bort sitt projekt och en överblick över dess bloggposter visas också. Editeringsmöjligheterna visas endast om det är användare som är inloggad.

23 Bild 18. En projektsida med före och efter bild samt dess relaterade blogginlägg. 4.5 Blogginlägg Bild 19. Detaljvy för ett specifikt blogginlägg. Detaljerna kring ett blogginlägg visas på inläggets sida. Här kan man se dess bilder, titel, beskrivning, nyckelorden som är kopplade till inlägget och

24 man kan också här välja att editera och ta bort inlägget. Editeringsmöjligheterna visas endast om det är rätt användare som är inloggad. 4.6 Före och efter bild Före och efter bild väljs automatiskt så fort man skapar ett inlägg, förebilden blir den bild som laddades upp först till projektet och efterbilden blir den sista bilden som laddats upp. Dessa bilder kan man ändra och det gör man i samma vy som man editera sitt projekt. Bild 20. Användaren kan här själv välja ut vilken bild som ska visas som före respektive efterbild. Här visas först de bilder som i stunden ligger som före och efter bild och under dessa visas alla bilder som finns sparade på det aktuella projektet. Genom att dra den bild man vill ha till respektive ruta(före och efter) så väljer man vilken bild man vill ha på vardera plats.

25 4.7 Skapa en kommentar Bild 21. Skapa kommentar. En kommentar skapar man på ett specifikt blogginlägg och finns därför på samma vy som detaljerna kring det. Kommentera kan man endast göra om man är inloggad. 4.8 Nyckelord I Applikationen finns något som kallas nyckelord och detta är en specifik taggning av ett inlägg. Man kan välja att ha flera nyckelord per inlägg om man anser att det är aktuellt. Genom dessa nyckelord kan användaren också söka sig till specifika inlägg som handlar om det han/hon är intresserad av. 4.9 Övriga funktioner Applikationen listar även alla projekt för den inloggade användaren så att han/hon lätt kan få en överblick över dessa. Även en bokstavslista kring alla projekt finns att tillgå. Inloggningen i applikationen sker via Facebook och en html-helper, i applikationen finns även en gilla-knapp som är kopplad till Facebook. Genom denna html-helper kan man även få ut viss information kring användaren.

26 5 Diskussion 5.1 För och nackdelar kring en MVC-struktur Genom att starta en ASP-dotnet MVC Web Application i Visual Studio så funderas det direkt på om detta är ett bra alternativ för mindre applikationer. Detta kan relateras till en av nackdelarna som i teoridelen löd: Inte för små applikationer. Blir ofta alldeles för komplext att använda sig av MVC i en mindre applikation och kommer få negativa effekter på prestanda och designen. Jag tycker dock inte att man kan se detta som en direkt nackdel, i alla fall inte när det gäller ASP-dotnet MVC då det är mycket enkelt att komma igång med ett MVC-projekt. Det är många steg som ska göras endast för en liten funktion och är det då en mindre applikation som ska byggas så kan denna MVC-struktur kännas ganska överflödig och kan lätt försvåra arbetet istället för att underlätta. I ASP-dotnet MVC finns det i regel en View för varje funktion i en Controller, bara detta kan ge många filer. Tittar man på Visual Studios MVC Web Application så ger denna också en väldigt stor mappstruktur som kanske inte alltid passar en mindre applikation. Ganska snabbt in i utvecklingen märks också en av de fördelar som kommit upp nämligen den som gäller parallell utveckling. Då komponenterna är så löst kopplade är det lätt att jobba med olika delar samtidigt. Att jobba med flera komponenter samtidigt är inga problem när det gäller MVC så länge de inte har beroende till varandra. Parallell utveckling kan ske då någon exempelvis arbetar med framsidan samtidigt som någon annan arbetat med ett formulär för att lägga till någonting på sidan. Olika funktioner och flera Controller gör att det är lätt att arbeta parallellt och detta gäller även för vyerna där de också är uppdelade på samma sätt. Föregående fördel med MVC hör ihop med nästa fördel som rör utbyggbarheten. Utbyggbarheten är också något som upplevs positivt. Det är inte svårt att lägga till en ny funktion i en Controller och till den skapa en ny vy eller använda en existerande. Det behövs ofta inte mycket kod för att utöka applikationen. Även återanvändningen upplevs som en stark fördel, däremot kan den också bli en nackdel om man försöker använda sig för mycket av det.

27 Denna fördel använder jag mig av ganska mycket men det kan försvåra och göra det komplext om man använder det för mycket. Vilket jag också har upplevt. I en applikation kan det tex. vara smidigt att använda samma View för olika saker men man får vara försiktig. En View kan också bli för komplex. Här måste man som utvecklare kunna se om återanvändning är en bra idé eller om det är bättre och ger renare kod om man använder sig av exempelvis två vyer. Detsamma kan även gälla funktioner. I MVC-strukturen kan man alltså ha flera vyer, vilket är väldigt smidigt och upplevs av mig som en stark fördel. Man kan ha flera vyer med samma modell, exempelvis en View för att skapa ett objekt och en View för att skriva ut objektet. I ASP-dotnet är det väldigt smidigt och lätt att jobba med vyer. Då man koppla en View till en viss modell och på så sätt kan man få tag i all information som finns i just den Model. När det gäller organisation i en MVC-applikation så håller jag även med i den fördelen, det är absolut lättare att hitta i en MVC-applikation men mycket av detta är upp till utvecklaren som måste se till att filerna hamnar rätt i mappstrukturen. 5.2 Metod och Resultat Jag tycker arbetet har fungerat bra och genomförandet har löpt på utan några luckor. Jag har i stort sätt suttit på bygghemma.se's kontor fyra dagar i veckan och det har fungerat jättebra. Genom att ha varit på plats har jag kunna få den hjälp jag behöver, de har alltid varit öppna med att hjälpa mig. När det gäller dokumentation så har den inte riktigt blivit som jag tänkt, i början var jag väldigt flitig men efterhand när saker och ting börjar falla på plats så är det lättare att det glöms av. Men jag tycker ändå att det har fungerat bra. Jag tycker att MVC är ett mycket bra mönster att använda sig av och ASPdotnet gör detta på ett väldigt smidigt sätt. Det är lätt att komma igång och lätt att förstå sig på de olika delarna och detta tack vare Visual Studio som är ett verktyg som jag verkligen tycker om att arbeta i. Dock är det självklart en del bakomliggande tekniker man behöver lära sig för att få en fungerande applikation. Exempelvis hur man får kontakt med sin databas och hur mappningen där i mellan går till. Nhibernate var något nytt för mig vilket gjorde att det tog ett bra tag innan man kom in i det. C-sharp och ASP-dotnet MVC har jag tidigare jobbat med och tycker absolut om det

28 men det hade absolute underlättat om jag jobbat med det lite mer än vad jag gjort. Mercurial har också varit en teknik i utvecklingen som varit väldigt smidig. Det var nytt för mig och jag tycker det har fungerat riktigt bra. Jag tycker det är bra att man får välja vilken syntax man vill använda sig av i vyn, har man jobbat med ASP-dotnet tidigare så kan man tycka att den vanliga syntaxen är bättre eller i alla fall lättare att använda till en början. Även om razor-syntax är väldigt enkel att lära sig. När det gäller css och utseendet så måste jag lära mig lite mer. När jag kommer till denna biten så är det lätt att jag fastnar, jag kan sitta hur länge som helst och blir aldrig nöjd. Ett färgval kan för mig ta alldeles för många timmar och i ett sådant här projekt har man inte tid med det. Bli bättre på design och kunna ta snabba beslut när det gäller denna biten är något jag behöver bli bättre på. Dock har inte designen varit något direkt krav i detta arbete. Jag är nöjd med resultatet även om jag hade velat göra så mycket mer. Det finns så mycket att göra med en sådan här applikation, särskilt mindre funktioner och det hade varit kul om jag hunnit med dessa också. Det viktiga är dock att grundkraven är uppfyllda och så långt är jag nöjd. Om jag jämför mot den tidigare forskning som jag varit i kontakt med vad gäller detta ämnet så tycker jag att jag har fått med en bra bild av MVC med fokus på implementering i samband med detta. Som utvecklare tror jag att detta kan vara en intressant forskning då man får tydliga exempel på hur MVC-strukturen fungerar och då främst i ASP-dotnet.

29 6 Avslutning 6.1 Slutsats MVC-strukturen fungerar väldigt bra i ASP-dotnet MVC 3 och det är relativt enkelt att komma in i den. Även att jag hade en del tidigare erfarenhet så hade jag gärna haft lite till för att få en snabbare utveckling av applikationen. Parallell utveckling, återanvändning och separation av logik och presentation är klara fördelar och fungerar även riktigt bra i ASP-dotnet MVC 3 som organisera projektets olika delar på ett bra sätt. Med fördel används MVC-strukturen i större projekt.

30 7 Referenser 7.1 Uppsatser/Vetenskapliga artiklar 2. Chen och Han, 2008 The Research on Modern Distance Education System Based on Improved MVC Pattern, School of Computer science and technology, Shandong economic university. 2. Örman, 2007 Utveckling av affärsapplikation med mjukvarumönster, Avdelning för datavetenskap, Umeå Universitet. 7.2 Elektroniska källor 1. ASP-dotnet MVC [ ], 3-preview-1.aspx [ ], [ ] 2. MVC - [ ], [ ], [ ] 3. ASP-dotnet [ ] 4. Razor - [ ] 5. C-sharp - [ ] 6. Mercurial - [ ] 7. Nhibernate - [ ] 8. Repository pattern - [ ] 9. JavaScript - [ ] 10. jquery - [ ] 11. CSS - [ ] 12. Facebook helper - [ ] 13. Visual Studio - [ ] 14. Partial View och Master page - [ ]

31 Bilaga Ordlista ASP-dotnet MVC 3 ASP-dotnet MVC 31 bygger på ASP.NET MVC(ASP-dotnet MVC) och dess tidigare versioner. De är versioner för utveckling med hjälp av MVCstrukturen i dotnet-miljö och används för att skapa dynamiska webbsidor. C# Applikationen är utvecklad i C#(c-sharp)5, ett objektorienterat programmeringsspråk som används för dotnet-applikationer. CSS CSS(Cascading Style Sheets)11 definierar hur en applikations olika element ska se ut och visas för användaren. JavaScript JavaScript9 är ett objektorienterat skriptspråk som fungerar i alla webbläsare. JavaScript används bland annat för att manipulera DOMstrukturen på en hemsida. jquery jquery10 är ett snabbt JavaScripts-bibliotek som förenklar händelser, animeringar och andra modifieringar på en hemsida. Nhibernate Med Nhibernate7 kan man göra om sina traditionella databaser till objektorienterade modeller och tvärt om. Nhibernate är gratis och har en öppen källkod. Mercurial Mercurial6 är ett gratis versionshanteringssystem. Som användare får man en egen lokal kopia som man kan jobba med oberoende av nätverksanslutning eller en server. Mercurial är skrivet i Python och C. Visual Studio och ASP-dotnet MVC 3 Visual Studio13 är en utvecklingsmiljö från Microsoft. Första gången ett projekt ska skapas i Visual studio kan användaren välja att skapa ett ASP-

32 dotnet MVC Web Application. Detta projekt innehåller separerade komponenter och mappar för MVC-strukturen och användaren får mycket hjälp på vägen. Repository pattern Ett repository8 har sin plats mellan en Controller och en Model och kan bland annat användas för att hämta eller sätta in en viss data från eller till Model. Ett repository tar hand om all dataöverföringar som sker mellan en Model och en Controller så att en Controller aldrig ska behöva arbeta direkt mot Model. På detta sätt finns all datalogik på ett och samma ställe. Facebook Helper Denna Facebook helper12 gör det möjligt att lägga till de sociala funktionerna som Facebook erbjuder i sin egenutvecklade applikation. Det går även att integrera inloggning mot Facebook genom denna helper.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

ASP.NET MVC. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Innehåll

ASP.NET MVC. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Innehåll ASP.NET MVC Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se Innehåll Introduktion till MVC Controller Action-metoder Views Arbeta med Layout-sidor och sektioner Route konfiguration

Läs mer

Räkna med ASP.NET MVC 3

Räkna med ASP.NET MVC 3 Instruktion Räkna med ASP.NET MVC 3 Introduktionsuppgift Författare: Mats Loock Kurs: ASP.NET MVC Kurskod:1DV409 Innehåll Du ska följa steg-för-steg -instruktionen i denna introduktionsuppgift och skapa

Läs mer

Kursplanering Utveckling av webbapplikationer

Kursplanering Utveckling av webbapplikationer Kursplanering Utveckling av webbapplikationer Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-WEB Klass Systemutvecklare.NET Syfte och koppling till yrkesrollen För att kunna arbeta som systemutvecklare

Läs mer

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Klient/server Översikt Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Lektion 1: Webbtekniker från Microsoft Microsoft webbtekniker. ASP.NET. Klientsidan. Internet Information Server.

Läs mer

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

SLUTRAPPORT RUNE TENNESMED WEBBSHOP SLUTRAPPORT RUNE TENNESMED WEBBSHOP -05-30 Abstrakt Under 10 veckor har jag och Oskar Norling arbetat med att ta fram en webbshop-applikation till företaget Rune Tennesmed i Kalmar. I denna rapport tänker

Läs mer

MVC med Javascript och Ajax. Filip Ekberg

MVC med Javascript och Ajax. Filip Ekberg MVC med Javascript och Ajax Filip Ekberg MVC med Javascript och Ajax Lektion 7 ASP.NET MVC mail@filipekberg.se Veckans mål ASP.NET MVC Repetition & Diskussion Vad är MVC? Vad är ASP.NET MVC? Hur skapar

Läs mer

Slutrapport för JMDB.COM. Johan Wibjer 2012-06-03

Slutrapport för JMDB.COM. Johan Wibjer 2012-06-03 Slutrapport för JMDB.COM Johan Wibjer 2012-06-03 Abstrakt Den här rapporten kommer handla om mitt projekt som har handlat om att gör en webb sida för ett personligt media bibliotek, hur jag har jobbar

Läs mer

<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>

<script src= http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js></script> AngularJS Skriven av: Isak Glans. Datum: 2015-04-29. Kurs: Webbutveckling. Lärare: Per Sahlin. Utbildning: Systemutvecklare i.net, Newtons Yrkeshögskola. 1 Sammanfattning Syftet med denna uppsats är att

Läs mer

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem Målsättning Att bygg upp en komplett webbplats i ett publiceringssystem. Platsen ska vara snygg,

Läs mer

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling Rune Tennesmed Oskar Norling Individuellt Mjukvaruutvecklingsprojekt Webbprogrammerare H12 Oskar Norling 2012-05-30 Abstrakt Denna rapport handlar om mitt mjukvaruutecklingsprojekt som jag och en klasskompis

Läs mer

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10 Projekt Rapport RaidPlanner Jeanette Karlsson UD10 Abstrakt: Denna rapport handlar om mitt projekt i kursen Individuellt Mjukvaruutvecklings projekt. Rapporten kommer att ta upp hur jag gått tillväga,

Läs mer

Dynamiska webbsystem. Ajax

Dynamiska webbsystem. Ajax Dynamiska webbsystem Ajax AJAX och web 2.0 Web 2.0 är egentligen bara ett buzzword för en modern webbsajt. Innehållet skulle till exempel vara: Rich internet application (ajax, flash, silverlight) (rich

Läs mer

LUPstudentpapers. Manual Reviewer

LUPstudentpapers. Manual Reviewer LUPstudentpapers Manual Reviewer 1:1 10/3 2009 Manual Reviewer Om du vill granska uppsatser vid din institution men ännu inte är registrerad som Reviewer, vänligen kontakta Publicera@lub.lu.se. Om du redan

Läs mer

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande:

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande: WEBBUTVECKLING Ämnet webbutveckling behandlar de tekniker som används för att presentera och bearbeta information i webbläsaren samt utifrån dessa tekniker skapa och vidareutveckla statiska och dynamiska

Läs mer

Slutrapport Thunderbug

Slutrapport Thunderbug Slutrapport Thunderbug Individuellt mjukvaruprojekt Linnéuniversitet Sabina Linder Webbprogrammerare -12 2013-06-07 Abstrakt Denna rapport kommer att handla om projektet Thunderbug, som är en webbsida

Läs mer

CMS. - Content management system

CMS. - Content management system CMS - Content management system Agenda CMS Server, webbhotell och FTP Wordpress, ställ mycket frågor Om vi hinner - Snabb genomgång av CMS - uppgiften Nu & Då Sidor med bara HTML och CSS kräver manuell

Läs mer

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA... INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...6 2 (6) 2D1954 Programutvecklingsprojekt vt 2003 Installation

Läs mer

Model View Controller. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Model View Controller. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Model View Controller Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Model View Controller Model View Controller (MVC) är ett design pattern (architectural pattern) som är väldigt

Läs mer

Slutrapport YUNSIT.se Portfolio/blogg

Slutrapport YUNSIT.se Portfolio/blogg Slutrapport YUNSIT.se Portfolio/blogg RICKARD HANSSON 2012-06-04 Abstrakt Rapporten du har i din hand kommer handla om mitt projektarbete som jag genomfört under tio veckor för utbildningen Utvecklare

Läs mer

Asp.net mvc intro PER KVARNBRINK, 2015-01-27

Asp.net mvc intro PER KVARNBRINK, 2015-01-27 Asp.net mvc intro PER KVARNBRINK, 2015-01-27 Byggstenarna i ett mvc-projekt 1. Databasen 2. Datamodellen (M:et) 3. Entity framwork 4. Routing 5. Kontroller (C:et) 6. Vy (V:et) 7. Vymodeller 8. Troligen

Läs mer

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element.

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element. Vis it Introduktion Vi har skapat den webbaserade appen Vis it som bygger på att användare kan ta bilder på och lägga upp sevärdheter via sin mobiltelefon. Dessa sevärdheter är positionsbaserade vilket

Läs mer

Manual till DIKO 2012-10-19

Manual till DIKO 2012-10-19 Manual till DIKO 2012-10-19 Innehåll Manual till DIKO 2012-10-19... 1 1 Använda DIKO med en dator... 2 1.1 För att logga in i DIKO... 2 1.2 Dag... 3 1.3 Importera bilder... 4 1.4 Redigera bilder i samband

Läs mer

Tillämpad programmering CASE 1: HTML. Ditt namn

Tillämpad programmering CASE 1: HTML. Ditt namn Tillämpad programmering CASE 1: HTML Ditt namn 18 [HTML] Din handledare vill se din skicklighet i att använda HTML-koden. Du ska utveckla en webbplats om ditt intresse, inriktning eller gymnasiearbete.

Läs mer

Next -> Next -> Finish

Next -> Next -> Finish Next -> Next -> Finish eller? Vad bör man tänka på i samband med uppgradering till eller nyutveckling i EPiServer CMS 7? Oscar Larsson Oscar Larsson Agenda Det Leverantören här är Sogeti lovar Är det verkligen

Läs mer

Content Management System. Publiceringssystem

Content Management System. Publiceringssystem Content Management System Publiceringssystem Vad är ett Content Management System (CMS)? Ett verktyg för att separera innehåll från presentation Skapa webbsidor utan att kunna html Låt många skapa sidor

Läs mer

2009-08-20. Manual för Typo3 version 4.2

2009-08-20. Manual för Typo3 version 4.2 2009-08-20 Manual för Typo3 version 4.2 1 2 Innehåll: 1. Allmänt 4 2. Grunderna i Typo3 5 2.1 Knappar 5 2.2 Inloggning 5 2.3 Den inledande vyn 6 2.4 Sidträdet 7 3. Sidor 8 3.1 Skapa en ny sida 8 3.1.1

Läs mer

Lathund för studenter

Lathund för studenter Uppdaterad 2005-09-07 Lathund för studenter vid inläggning av uppsatser i Xerxes Xerxes: http://theses.lub.lu.se/undergrad/ INLÄGGNING AV UPPSATS I XERXES 1. Inloggning Gå in i Publicera i Xerxes i menyn

Läs mer

Utseende. Lauri Watts Översättare: Stefan Asserhäll

Utseende. Lauri Watts Översättare: Stefan Asserhäll Lauri Watts Översättare: Stefan Asserhäll 2 Innehåll 1 Utseende 4 1.1 Allmänt............................................ 4 1.2 Teckensnitt.......................................... 4 1.3 Stilmallar...........................................

Läs mer

Content Management System. Publiceringssystem

Content Management System. Publiceringssystem Content Management System Publiceringssystem Vad är ett Content Management System (CMS)? Ett verktyg för att separera innehåll från presentation Skapa webbsidor utan att kunna html Låt många skapa sidor

Läs mer

Henrik Häggbom Examensarbete Nackademin Våren 2015

Henrik Häggbom Examensarbete Nackademin Våren 2015 AV Henrik Häggbom Examensarbete Nackademin Våren 2015 1 INLEDNING Som examensarbete på min utbildning på Nackademin Programutveckling.NET kommer jag skapa ett webbaserat system för statistik, tabeller

Läs mer

Föreläsning 4. CSS Stilmallar för webben

Föreläsning 4. CSS Stilmallar för webben Föreläsning 4 CSS Stilmallar för webben Innehåll 1. CSS, vad är det? 2. Repetition av HTML-element 3. CSS, hur, var, när? 4. CSS & arv? CSS Cascading Style Sheet Same, same, but different Samma innehåll

Läs mer

Kom igång med Web Editor

Kom igång med Web Editor Kom igång med Web Editor Index 1. Logga in på Web Editor 2. Välj en mall 3. Skapa din första sida 4. Lägg till fler sidor 5. Redigera en sida eller mall 6. Spara dina ändringar 7. Förhandsgranska och Publicera

Läs mer

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1 Välkommen! SAPSA Impuls Mobilitet 81 Impuls sponsorer 2012 Guldsponsorer SAPSA Impuls Mobilitet 81 Mobilitet 81: Mobil reseräkningsapp med möjlighet att fotografera kvittona Christer Ingemarsson Lena Kågedal

Läs mer

Webbprogrammering. Sahand Sadjadee

Webbprogrammering. Sahand Sadjadee Webbprogrammering Sahand Sadjadee Agenda Webb The World Wide Web (WWW) is a network of online content that is formatted in HTML and accessed via HTTP. The term refers to all the interlinked HTML pages

Läs mer

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document Programutvecklingsprojekt 2003-04-24 Projektgrupp Elvin Detailed Design Document Björn Engdahl Fredrik Dahlström Mats Eriksson Staffan Friberg Thomas Glod Tom Eriksson engdahl@kth.se fd@kth.se d94-mae@nada.kth.se

Läs mer

Lab 5: ASP.NET 2.0 Site Navigation

Lab 5: ASP.NET 2.0 Site Navigation Lab 5: ASP.NET 2.0 Site Navigation Enkel navigering är en viktig del av en modern webbapplikation. Eftersom en stor del av utvecklingstiden för en site används för att bygga meyer, trädstrukturer och andra

Läs mer

Konfigurera Wordpress som Hemsida istället för blogg

Konfigurera Wordpress som Hemsida istället för blogg Konfigurera Wordpress som Hemsida istället för blogg - exempel från hemsidorna: www.vestus.se och www.thingsbym.se Copyrightinformation: Detta dokument är fritt att använda, även kommersiellt, så länge

Läs mer

Webbprogrammering TDDD52

Webbprogrammering TDDD52 Webbprogrammering TDDD52 ERD MySQL+PHP. Förra gången Idag Javascript jquery Progressive enhancement XML & AJAX Lab 4 och 5 Sammanfattning av kursen. Om databastabeller varje tabell ska beskriva en typ

Läs mer

Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén 2010-03-18

Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén 2010-03-18 Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén 2010-03-18 Innehåll Inledning... 3 Fakta... 4 Innehåll... 4 Texthantering... 4 Granskning och versionshantering...

Läs mer

KOM I GÅNG MED DIN HANDBOK STANDARD FRÅN THOLIN & LARSSON

KOM I GÅNG MED DIN HANDBOK STANDARD FRÅN THOLIN & LARSSON KOM I GÅNG MED DIN HANDBOK STANDARD FRÅN THOLIN & LARSSON Kom i gång med din handbok Standard Innehåll 1 Börja redigera 2 Arbetsbordet 3 Redaktörsfliken 3.1 Uppstart: Att-göra-listor 4 Redigera innehåll

Läs mer

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll FrontPage Express I programpaketet Internet Explorer 4.0 och 5.0 ingår också FrontPage Express som installeras vid en fullständig installation. Det är ett program som man kan använda för att skapa egna

Läs mer

Omtentamen i OOSU2, 21 augusti 2014

Omtentamen i OOSU2, 21 augusti 2014 Omtentamen i OOSU2, 21 augusti 2014 Maxpoäng: 50. Betygsgränser: A: 90 % + B: 80 % + C: 70 % + D: 60 % + E: 50 % + Mindre än 50 % ger underkänd tentamen. Är det något du inte uppfattar så förklara hur

Läs mer

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi

Läs mer

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS Individuellt Mjukvaruutvecklingsprojekt (Utvecklare av digitala tjänster) Den 1 juni 2011 ABSTRAKT Rapporten tar upp positiva och negativa erfarenheter som jag erhållit

Läs mer

Elektronisk publicering TNMK30

Elektronisk publicering TNMK30 Elektronisk publicering TNMK30 Förra gången Usability & interaktionsdesign Projektintroduktion Bildbehandling. Byte av handledare Istället för Martin Johansson Annsofi Pettersson, annpe655@student.liu.se

Läs mer

Priskamp. En prisjämförelsesite Björn Larsson 130609

Priskamp. En prisjämförelsesite Björn Larsson 130609 Priskamp En prisjämförelsesite Björn Larsson 130609 Abstrakt Detta är en post-mortem slutrapport om mitt projekt "Priskamp" inom ramen för kursen Individuellt Mjukvaruutvecklingsprojekt VT 2013. Projektets

Läs mer

Sammanfattning. Applikationen är utvecklad i Microsofts utvecklingsmiljö Visual Studio 2012.

Sammanfattning. Applikationen är utvecklad i Microsofts utvecklingsmiljö Visual Studio 2012. Sammanfattning Inom ramen för kursen Självständigt arbete i Teknisk Fysik (15 hp) har en databaskopplad webbapplikation utvecklats. Arbetet var utformad som ett konsultuppdrag med pappersbruket Gruvön

Läs mer

Litteraturstudie. Utarbetat av Johan Korhonen, Kajsa Lindström, Tanja Östman och Anna Widlund

Litteraturstudie. Utarbetat av Johan Korhonen, Kajsa Lindström, Tanja Östman och Anna Widlund Litteraturstudie Utarbetat av Johan Korhonen, Kajsa Lindström, Tanja Östman och Anna Widlund Vad är en litteraturstudie? Till skillnad från empiriska studier söker man i litteraturstudier svar på syftet

Läs mer

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet WP-Edit Robin Larsson Martin Davik 2014 Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet Handledare: Anders Jackson Examinator: Carina Pettersson WP-Edit av Robin Larsson Martin

Läs mer

JavaScript in SharePoint and not just for Apps. Wictor Wilén

JavaScript in SharePoint and not just for Apps. Wictor Wilén JavaScript in SharePoint and not just for Apps Wictor Wilén Wictor Wilén Agenda Varför JavaScript? JavaScript bibliotek SharePoint JS bibliotek JavaScript Client Side Object Model (JSOM/CSOM) REST Client

Läs mer

KAi SENSEMAKING SYSTEM

KAi SENSEMAKING SYSTEM Alexander Hall, 791023-8554 Individuellt mjukvaruutvecklingsprojekt 7,5 hp Linnéuniversitetet 2013-06-09 KAi SENSEMAKING SYSTEM ABSTRAKT KAi Sensemaking System är en webbapplikation för feedback/återkoppling

Läs mer

Grundläggande EndNote

Grundläggande EndNote Grundläggande EndNote Stephen Naron, februari, 2011 Uppdatering och översättning till svenska: Taeda Tomić, 2012, 2014 Korrekturläsning: Martina Andersson Löfqvist, september 2012 1. Lite information om

Läs mer

Kursplan Webbutveckling 2, 100p Läsår 2013-2014

Kursplan Webbutveckling 2, 100p Läsår 2013-2014 Kursplan Webbutveckling 2, 100p Läsår 2013-2014 Kurswebb: www.creativerooms.se/edu, välj Webbutveckling 2 Lärare: Aino-Maria Kumpulainen, aino-maria.kumpulainen@it-gymnasiet.se Hösttermin 2013 Vecka Tema

Läs mer

Guide för Innehållsleverantörer

Guide för Innehållsleverantörer Library of Labs Content Provider s Guide Guide för Innehållsleverantörer Inom LiLa ramverket är innehållsleverantörer ansvariga för att skapa experiment som "LiLa Learning Objects", att ladda upp dessa

Läs mer

ASP.NET Thomas Mejtoft

ASP.NET Thomas Mejtoft ASP.NET Introduktion till ASP.NET Utveckla i ASP.NET I ASP.NET kan och bör man separera HTML-kod från övrig kod (C#, VB ) I enklare fall läggas kod i script-block Vanligtvis läggs den i en Code Behind-fil

Läs mer

dit06omr@cs.umu.se 12 juni 2009 Projektplan Webb-baserat bokningssystem för flyg Kurs: Applikationsutveckling för internet, TFE

dit06omr@cs.umu.se 12 juni 2009 Projektplan Webb-baserat bokningssystem för flyg Kurs: Applikationsutveckling för internet, TFE Projektplan Webb-baserat bokningssystem för flyg Kurs: Applikationsutveckling för internet, TFE VT-09 Innehållsförteckning Inledning & problembeskrivning...1 Systembeskrivning...2 Affärsobjekt...2 Databasen...4

Läs mer

Lathund - webbsidor och filer

Lathund - webbsidor och filer Lathund - webbsidor och filer 2005-09-07 Manualen nås via denna webbadress: http://www.med.lu.se/support Lathund - webbsidor och filer... 1 1. Inloggning... 2 Efter inloggningen... 2 2 Översikt över gränssnittet...

Läs mer

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone Appar med ryggrad Introduktion till JavaScriptramverket Backbone Vanlig webbsida Databas MVC - Model View Controller MVC - Model View Controller MVC Backbone.js Ger struktur Bygger på MVC konceptet Tvingar

Läs mer

Titel Mall för Examensarbeten (Arial 28/30 point size, bold)

Titel Mall för Examensarbeten (Arial 28/30 point size, bold) Titel Mall för Examensarbeten (Arial 28/30 point size, bold) SUBTITLE - Arial 16 / 19 pt FÖRFATTARE FÖRNAMN OCH EFTERNAMN - Arial 16 / 19 pt KTH ROYAL INSTITUTE OF TECHNOLOGY ELEKTROTEKNIK OCH DATAVETENSKAP

Läs mer

Mälardalens högskola

Mälardalens högskola Teknisk rapportskrivning - en kortfattad handledning (Version 1.2) Mälardalens högskola Institutionen för datateknik (IDt) Thomas Larsson 10 september 1998 Västerås Sammanfattning En mycket viktig del

Läs mer

CMS, optimerade för programmerare Eller hur kan ett sådan skapas.

CMS, optimerade för programmerare Eller hur kan ett sådan skapas. Examensarbete CMS, optimerade för programmerare Eller hur kan ett sådan skapas. David Strömbom 2011-05-20 Ämne: Datavetenskap Nivå: B Kurskod: 1DV40E Abstrakt Denna rapport fokuserar på att undersöka några

Läs mer

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR I följande dokument hittar ni information om hur ni administrerar er nya hemsida. Manualen går endast igenom grundläggande administration. För mer avancerad redigering

Läs mer

Axiell Arena. Optimering av prestanda

Axiell Arena. Optimering av prestanda Axiell Arena Optimering av prestanda Axiell Sverige AB, Box 24014, 224 21 Lund Fältspatvägen 4, 224 78 Lund, tel: 046-2700 400, e-post: lund@axiell.com Innehåll Axiell Arena... 1 Optimering av prestanda...

Läs mer

Manual - Storegate Team

Manual - Storegate Team Manual - Storegate Team Om tjänsten Med Storegate Team får du full kontroll över företagets viktiga digitala information. Du kan enkelt lagra, dela och arbeta i filer med högsta säkerhet inom ditt företag.

Läs mer

Lab 5: ASP.NET 4.5 Site Navigation

Lab 5: ASP.NET 4.5 Site Navigation Lab 5: ASP.NET 4.5 Site Navigation Enkel navigering är en viktig del av en modern webbapplikation. Eftersom en stor del av utvecklingstiden för en site används för att bygga menyer, trädstrukturer och

Läs mer

Introduk+on +ll programmering i JavaScript

Introduk+on +ll programmering i JavaScript Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska,

Läs mer

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse Verktyg och Utvecklingsmiljö Föreläsning 2 Eclipse Verktyg Modern programutveckling innebär att man måste behärska ett antal verktyg. Editorer Kompilatorer Avlusare(debugger) Versionshantering(kommer i

Läs mer

FLEX Personalsystem. Uppdateringsanvisning

FLEX Personalsystem. Uppdateringsanvisning FLEX Personalsystem Uppdateringsanvisning Innehållsförteckning UPPDATERING... 3 Allmänt... 3 Förberedelser... 3 Informera om uppdatering... 3 Ladda hem uppdateringsfiler... 4 Att observera vid uppdatering...

Läs mer

Hemsideutveckling för Anjool AB

Hemsideutveckling för Anjool AB Beteckning: Akademin för teknik och miljö Hemsideutveckling för Anjool AB Christopher Gidlöf Maj 2012 Examensarbete 15hp B nivå Datavetenskap Internetteknologi Examinator: Carina Petterson Handledare:

Läs mer

En stiligare portal Laboration 3

En stiligare portal Laboration 3 Laborationsanvisning En stiligare portal Laboration 3 Författare: Johan Leitet Version: 1 Datum: 2011-09-09 Inledning Vi har hittills koncentrerat oss på att strukturera upp vår information på ett så semantiskt

Läs mer

1. Enkel sökning Globalsökning Avancerad sökning Historik Söka via klassificeringsstruktur 14

1. Enkel sökning Globalsökning Avancerad sökning Historik Söka via klassificeringsstruktur 14 Ledningskansliet, Juridik och dokumentation Patrik Spånning Westerlund MANUAL 2017-11-16 SLU ID: SLU.ua.2017.2.1.1.IA-9 Manual Sökningar i Public 360 Manual Sökningar i Public 360 Dokumentägare: LK/Dokumentationsenheten/

Läs mer

Arbeta med Selected Works en lathund

Arbeta med Selected Works en lathund Arbeta med Selected Works en lathund Att redigera din egen Selected Works-sida Ta fram din sida och logga in via My Account längts ner på sidan. Klicka på Edit My Site för att redigera sidan. Gå nu vidare

Läs mer

Inledande programmering med C# (1DV402) Introduktion till C#

Inledande programmering med C# (1DV402) Introduktion till C# Introduktion till C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i

Läs mer

Innehåll. Dokumentet gäller från och med version 2014.3 1

Innehåll. Dokumentet gäller från och med version 2014.3 1 Innehåll Introduktion... 2 Före installation... 2 Beroenden... 2 Syftet med programmet... 2 Installation av IIS... 2 Windows Server 2008... 2 Windows Server 2012... 6 Installation av webbapplikationen

Läs mer

Business research methods, Bryman & Bell 2007

Business research methods, Bryman & Bell 2007 Business research methods, Bryman & Bell 2007 Introduktion Kapitlet behandlar analys av kvalitativ data och analysen beskrivs som komplex då kvalitativ data ofta består av en stor mängd ostrukturerad data

Läs mer

Programmeringteknik. Planering 2014-05-12 MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

Programmeringteknik. Planering 2014-05-12 MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen MÅL Programmeringteknik Webbdelen Efter webbmomentet ska du: kunna använda ett tiotal kommandon i: HTML (göra webbsidor) CSS (webbsidans utseende) Javascript (programmering - klienten) PHP (programmering

Läs mer

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

Webbsystems inverkan på innehåll och användbarhet på webbplatser - oppositionsrapport

Webbsystems inverkan på innehåll och användbarhet på webbplatser - oppositionsrapport Webbsystems inverkan på innehåll och användbarhet på webbplatser - oppositionsrapport Respondenter: Emma Henriksson och Ola Ekelund Opponenter: Eva Pettersson och Johan Westerdahl Sammanfattande omdöme

Läs mer

MVC med Javascript och Ajax. Filip Ekberg

MVC med Javascript och Ajax. Filip Ekberg MVC med Javascript och Ajax Filip Ekberg Filip Ekberg Microsoft & Xamarin MVP mail@filipekberg.se Vad ska vi lära oss? I denna kurs lär sig den studerande hur man jobbar med den naturliga uppdelningen

Läs mer

Labb 3: ASP.NET 4.5 Anpassningar av användargränssnittet: Master Pages, Teman, och Kontroller

Labb 3: ASP.NET 4.5 Anpassningar av användargränssnittet: Master Pages, Teman, och Kontroller Labb 3: ASP.NET 4.5 Anpassningar av användargränssnittet: Master Pages, Teman, och Kontroller Beräknad tidsåtgång: ca. 3 timmar. I ASP.NET 4.5 finns en stor mängd nya funktioner för att förenkla utvecklingen

Läs mer

MVC med Javascript och Ajax. Filip Ekberg

MVC med Javascript och Ajax. Filip Ekberg MVC med Javascript och Ajax Filip Ekberg Hur går det? Föreläsningstempo Går det för fort? Labbar & Övningar Är de otydliga? Behövs mer hjälp? Upplägg Mindre föreläsning? Mer labbar? Läser ni boken? Läsanvisningar

Läs mer

Filhanterare med AngularJS

Filhanterare med AngularJS Filhanterare med AngularJS Författare: Filip Johansson Peter Emilsson Oskar Georgsson Christian Nilsson Datum: 2014-03-26 1 Sammanfattning Filhanterare med AngularJS är en filhanterare skapad för Sigma

Läs mer

Omtentamen i OOPW, 29 augusti 2013 kl. 9-13

Omtentamen i OOPW, 29 augusti 2013 kl. 9-13 Petter Dessne, HIT 2013-08-19 Omtentamen i OOPW, 29 augusti 2013 kl. 9-13 Maxpoäng: 100. Betygsgränser: A: 90p + B: 80p + C: 70p + D: 60p + E: 50p + Mindre än 50 poäng ger underkänd tentamen. Poängen kan

Läs mer

Migrering av applikationen AMM till molnet

Migrering av applikationen AMM till molnet Datavetenskap Opponenter: Erik Andersson och Marcus Larsson Respondenter: Anders Nguyen och Linus Svensson Migrering av applikationen AMM till molnet Oppositionsrapport, C-nivå 2010:06 1 Sammanfattat omdöme

Läs mer

Labrapport över Rumbokningssytemet Grupp:1

Labrapport över Rumbokningssytemet Grupp:1 Fakulteten för ekonomi, kommunikation, IT & data Labrapport över Rumbokningssytemet Grupp:1 Kurskod: DVGC18 Kursnamn: Software Engineering Inlämningsdatum: 2009 10 28 Scrummaster: Martin Blom Projektmedlemmar:

Läs mer

Lathund till PsycINFO (OVID)

Lathund till PsycINFO (OVID) Lathund till PsycINFO (OVID) PsycINFO innehåller referenser till artiklar inom psykologi och angränsande ämnesområden, som medicin, psykiatri, sociologi m.m. Databasen indexerar tidskrifter från 1806 och

Läs mer

Text och galleri på fotoklubbens nya hemsida

Text och galleri på fotoklubbens nya hemsida Text och galleri på fotoklubbens nya hemsida Inloggning Denna instruktion vänder sig till användare som skall lägga upp texter/blogginlägg på klubbens hemsida. Användarna har behörighetsnivå Författare

Läs mer

Manual - Storegate Team med synk

Manual - Storegate Team med synk Manual - Storegate Team med synk Om tjänsten Med Storegate Team får du full kontroll över företagets viktiga digitala information. Du kan enkelt lagra, dela och synkronisera filer med högsta säkerhet inom

Läs mer

Anna Jonströmer. Bloggning

Anna Jonströmer. Bloggning Anna Jonströmer Bloggning Del 2 BÖRJA BLOGGA 6. Bloggverktyg... 28 7. Skapa en blogg... 31 8. Publicera... 35 9. Inställningar... 39 10. Ändra design... 42 11. Övriga ändringar och funktioner... 48 12.

Läs mer

Interaktiva applikationer för dator (WPF) och web (Silverlight) Grafisk utvecklingsmiljö. Hela produktioner: design, layout, animationer, skins, etc.

Interaktiva applikationer för dator (WPF) och web (Silverlight) Grafisk utvecklingsmiljö. Hela produktioner: design, layout, animationer, skins, etc. Microsoft Expression Blend + Sketch Flow Microsoft Expression Blend + Sketch Flow Grafisk utvecklingsmiljö Interaktiva applikationer för dator (WPF) och web (Silverlight) Färdiga byggstenar Hela produktioner:

Läs mer

On-line produktion TDDC61

On-line produktion TDDC61 On-line produktion TDDC61 Förra veckan Kursupplägg HTML FTP Validering Laboration 1. Deadlines Laborationer: 12/10, kl 08 Lämna in efterhand ni blir färdiga Vi rättar inom 4 arbetsdagar Portfolio, tillfälle

Läs mer

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR I följande dokument hittar ni information om hur ni administrerar er nya hemsida. Manualen går endast igenom grundläggande administration. För mer avancerad redigering

Läs mer

Sammanställning av kursutvärdering Samlad bedömning

Sammanställning av kursutvärdering Samlad bedömning Webbdesign med JavaScript och Document Object Model, 7. hp Sammanställning av kursutvärdering Samlad bedömning Fristående nätkurs Kurs: Webbdesign med JavaScript och Document Object Model, 7. hp Kurskod:

Läs mer

Utveckling av ett grafiskt användargränssnitt

Utveckling av ett grafiskt användargränssnitt Datavetenskap Opponenter: Daniel Melani och Therese Axelsson Respondenter: Christoffer Karlsson och Jonas Östlund Utveckling av ett grafiskt användargränssnitt Oppositionsrapport, C-nivå 2010-06-08 1 Sammanfattat

Läs mer

Copy Cat Laboration 4

Copy Cat Laboration 4 Laborationsanvisning Copy Cat Laboration 4 Författare: Johan Leitet Version: 1 Datum: 2011-09-19 Inledning Vi kommer på denna laboration fortsätta med CSS och nu finslipa vår sida. Du kommer även att få

Läs mer

Projektuppgift- Mashup- Applikation

Projektuppgift- Mashup- Applikation Projektuppgift- Mashup- Applikation Som avslutning på denna kurs är det tänkt att Du ska bygga en egen mashup- applikation. Du ska bygga en komplett applikation som du utan tvekan skulle kunna vilja visa

Läs mer

Rubrik Examensarbete under arbete

Rubrik Examensarbete under arbete Dokumenttyp Rubrik Examensarbete under arbete Författare: John SMITH Handledare: Dr. Foo BAR Examinator: Dr. Mark BROWN Termin: VT2014 Ämne: Någonvetenskap Kurskod: xdvxxe Sammanfattning Uppsatsen kan

Läs mer

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript? Innehåll JavaScript En introduktion till skriptspråket JavaScript och till DOM Scripting Introduktion till JavaScript och DOM JavaScript Syntax DOM och DOM Scripting Händelsehantering och CSS Historia

Läs mer

ANVÄNDARMANUAL FÖR WORDPRESS

ANVÄNDARMANUAL FÖR WORDPRESS FÖR WORDPRESS Surfa in på http://klubb.seko.se/< din sida >/wp-admin/ vet du inte vad < din sida > är kan du logga in direkt på http://klubb.seko.se/wp-admin 3. Fyll i ert användarnamn 3. Fyll även i ert

Läs mer