EXAMENSARBETE. Utveckling av en lättförvaltad mobilapplikation. Irina Malaya Filosofie kandidatexamen Systemvetenskap

Storlek: px
Starta visningen från sidan:

Download "EXAMENSARBETE. Utveckling av en lättförvaltad mobilapplikation. Irina Malaya 2015. Filosofie kandidatexamen Systemvetenskap"

Transkript

1 EXAMENSARBETE Utveckling av en lättförvaltad mobilapplikation Irina Malaya 2015 Filosofie kandidatexamen Systemvetenskap Luleå tekniska universitet Institutionen för system- och rymdteknik

2 SAMMANFATTNING Mobiltelefoner är idag en het teknologi och det blir fler och fler företag som väljer att presentera sig själva även mobilt för att på så sätt nå fler kunder. På marknaden finns en mängd av olika typer av mobiler vilket kan orsaka svårigheter för ett företag att komma ut med sin mobilapplikation då olika typer av mobiler ställer olika tekniska och kunskapskrav på företaget som utvecklar applikationen. En alternativ lösning kan vara en hybridmobilapplikation som gör det möjligt att ta fram applikationer för olika typer av mobilenheter baserad på samma kod- bas. I denna rapport har jag tagit fram en prototyp av en hybridmobilapplikation för ett BI konsultbolag. Applikationen skapades i enlighet med Kanban metodologi och använde sig av ramverket Ionic. Den skapade mobilapplikationen presenterar ekonomisk data i form av tabeller och diagram och har även interaktiva delar. För att höja kvalitet på koden och underlätta den framtida förvaltningen försågs applikationen med automatiska tester. Nyckelord: mobila applikationer, mobilapplikationsutveckling, hybrida mobilapplikationer, Ionic Ramverk

3 ABSTRACT Mobile phones are a hot technology today and a lot of companies choose to present themselves in a mobile format in order to reach more customers. On the market there are a variety of different types of mobile phones, which may cause difficulties for the company to come out with its mobile application as different types of phones have different technical and knowledge requirements. An alternative solution may be a hybrid mobile application that makes it possible to produce applications for various types of mobile units based on the same code base. In this report, I have developed a prototype of a hybrid mobile application for a BI consulting company. The application was created in accordance with Kanban methodology and used the Ionic Framework. The created mobile application presents economic data in the form of tables and charts and also has interactive features. To raise the quality of the code and make the future management of the application easier the application was supplied with automatic tests. Keywords: mobile applications, mobile application development, hybrid mobile applications, Ionic Framework

4 INNEHÅLL 1 INLEDNING PROBLEMSTÄLLNING SYFTE AVGRÄNSNINGAR STRUKTUR AV UPPSATSEN TEORI NATIVA MOBILA APPLIKATIONER MOBILA WEBBAPPLIKATIONER HYBRIDA MOBILA APPLIKATIONER IONIC IONIC RAMVERK ANGULARJS CORDOVA IONIC KOMPONENTERS SAMARBETE KUNSKAPSKRAV TEKNISKA KRAV KOSTNADER OPEN SOURCE TESTNING TESTA IONIC METOD SYSTEMUTVECKLINGSMETOD KANBAN I ARBETET UTVECKLA MED IONIC SKAPA MOBILAPPLIKATION FÖR IOS MED IONIC SKAPA MOBILAPPLIKATION FÖR ANDROID MED IONIC ARKITEKTUR DIAGRAM RESULTAT UPPDRAGSBESKRIVNING APPLIKATIONSBESKRIVNING TESTNING ANALYS FUNKTIONELLA MÅL TEKNISKA MÅL... 45

5 6 DISKUSSION OCH SLUTSATSER ALTERNATIVA LÖSNINGAR FÖRSLAG PÅ FORTSATT ARBETE FÖRSLAG PÅ FORTSATT FORSKNING REFERENSER... 49

6 BEGREPP Back- end består av server, applikation och databas. (Long, 2012) Business Intelligence (eller BI) är ett samlingsnamn som hänvisar till en mängd olika program som används för att analysera en organisations data. (Mulcahy, 2007) Front- end är den delen av webbapplikation som användaren kan interagera med. (Long, 2012) jquery är mest populära JavaScript bibliotek. jquery underlättar anrop och modifiering av element på webbsidan (bilder, länkar etc), hantering av händelser (t.ex. klick), modifikationer av CSS och även generering av effekter och animationer. (Webbdesignguiden, u.å.) JSON (JavaScript Object Notation) är en lätt datautbytesformat. Det är lätt för människor och maskiner att läsa och skriva. (Introducing JSON, u.å.) JSON objekt är en oordnad kollektion av namn / värde par. Dess yttre form är en sträng insvept i klammerparenteser med kolon mellan namn och värderingar, och kommatecken mellan värdena och namn. Fördelen med JSON objekt är att det är lättolkat av JavaScript som används i webbläsare. (Introducing JSON, u.å.) Open Source är en mjukvara som kan modifieras. Det ger mer kontroll till användaren då han/hon kan förändra del av koden och kan använda koden till syfte han/hon vill och inte bara den som kod författaren hade tänkt sig. (Discover an open source world, u.å.) Prototyp med andra ord är första exemplar, urtyp, urbild, grundform, mönster, mall, likare, modell, förebild. (Strömberg, 2000) Webbtjänst är en teknik som gör det möjligt att kommunicera mellan olika program och tekniska lösningar. (Service Architecture, u.å.)

7 1 INLEDNING Mobiltelefoner har kommit att ta en stor del i vårt liv och nuförtiden kan man se människor som surfar/spelar eller använder olika slags mobilapplikationer överallt. Oftast är det de som har lite ledig tid t.ex. på bussar, i kö eller i väntan på någon. Detta på grund av att telefoner blivit mer kraftfulla vilket gör det möjligt att utöka användningsområdet för mobiler. McWherter och Gowell (2012) anser att mobila applikationer är den hetaste teknologin efter att webbsidor blev populära under dot- com eran i slutet av talet. Det är många företag som har märkt de stora möjligheterna som mobilapplikationer kan ge och det blir fler företag som väljer att etablera sig mobilt. Church (2012) hävdar att mobilapplikationer är här att stanna och det blir viktigare och viktigare att byta från en traditionell skrivbordupplevelse till en mobilenhetsupplevelse. 1.1 PROBLEMSTÄLLNING Wasserman (2010) påstår att utveckling av mobilapplikationer är lik utveckling av traditionella applikationer för bordsdatorer. Vanliga frågor som tas upp vid applikationsutveckling är bland annat integration med enhetens hårdvara, säkerhet, prestanda, tillförlitlighet och diskstorlek. Eftersom mobilenheter har egenskaper som skiljer sig från en vanlig bordsdator ger det fler möjligheter vid utvecklingen men orsakar samtidigt fler problem som måste tas om hand om. Enligt Wasserman (2010) är några av de problem som man borde ta hänsyn till följande: Interaktion med andra applikationer. Mobilenheter har mängder av applikationer från olika källor och dessa applikationer kan interagera med varandra. Hantering av inbyggda sensorer. Mobilenheter inkluderar accelerometer som svarar på enhetens rörelser, pekskärm, riktigt eller virtuellt tangentbord, ett globalt positioneringssystem, en mikrofon som kan användas inte bara för samtal men även av andra applikationer, samt en eller flera kameror. Mobilapplikationer delar gemensamma element i användargränssnittet med andra applikationer och måste följa externt utarbetade riktlinjer för användargränssnitt. Mobilapplikationer kan också vara svårare att testa då man även skall verifiera överföring via telefonnätet. Mobilapplikation använder mobilenhetens batteri och därmed påverkar enhetens batteritid. Traditionell mobilapplikationsutveckling inriktar sig på en specifik mobilplattform. Detta innebär stora svårigheter vid utvecklingen, såsom användning av olika utvecklingsmiljöer, tekniker och APIn (Application Programming Interface) för respektive mobilplattform, vilket leder till oundvikligt slöseri med utvecklingstid och 1

8 resurser och ökar förvaltningskostnaden om man vill leverera sin mobilapplikation för mer än en plattform. (Xanthopoulos & Xinogalos, 2013) McWherter och Gowell (2012) hävdar att det finns fyra stora utvecklingsplattformar för mobilapplikationer och beskriver grundläggande krav för utveckling för dessa enheter: BlackBerry. BlackBerry används oftast i utbildning och av regering (främst i USA). BlackBerry är skriven i Java och verktyg för att utveckla BlackBerry applikationer kan enbart köras på Windows. iphone. iphone är ett av de mobilmärken som används mest. Deras operativsystem heter ios och är en teknologi som körs på Apples mobiler, bas- språket är Objektiv- C alternativt Swift. ios kan utvecklas bara med Apple s XCode, som enbart kan köras på Mac. Android. Android är det vanligaste mobiloperativsystemet. Androids ramverk är skriven in Java och kan utvecklas i Java verktyg. Android rekommenderar dock Java Eclipse med Android toolkit. Android kan utvecklas på PC, Mac eller Linux. Windows Phone. Windows Phone är en relativ nykomling och används mest av utvecklare och har inte blivit jättepopulär än. För Windows Phone skall C# med.net ramverk användas och Windows Phone verktyg körs bara på Windows. Det stora antalet av mobilplattformar gör mobilapplikationsutveckling svårt för ett företag som då behöver utveckla samma applikation för varje målplattform. Traditionell mobilapplikationsutveckling är det lämpligaste sättet att distribuera mobila applikationer, men har en stor nackdel: det är inte möjligt att återanvända källkoden för en annan plattform. För att göra samma applikation tillgänglig för en annan plattform måste applikationen byggas om från grunden. (Xanthopoulos & Xinogalos, 2013) Om man gör en sammanställning av kraven beskrivna ovan behöver en utvecklare, för att göra en applikation tillgänglig till de flesta användare, kunna flera olika programmeringsspråk, ha flera olika arbetsdatorer (Mac och Windows) och förstå ett flertal olika utvecklingsverktyg. Heitkötter, Hanschke och Majchrzak (2013) säger att ett stort antal mobilplattformar gör mobilapplikationsutveckling utmanande och kostsam. Detta gör det svårt för ett företag att skapa och underhålla mobilapplikationer och skapar ett behov av enklare ramverk för utveckling av dem. Xanthopoulos och Xinogalos (2013) hävdar att det bästa alternativet för ett företag är plattformsoberoende mobilutveckling. Plattformsoberoende utveckling förenklar förvaltning och distributionsprocesser samt sparar utvecklingstid och resurser. 1.2 SYFTE Mitt arbete utförs åt ett företag som jobbar inom Business Intelligence och som vill skapa en BI- applikation som byggs på Open Source programvara. Min uppgift är att skapa en prototyp på en mobilapplikation för ios och Android som integrerar med 2

9 företagets befintliga BI- system. Eftersom det är tidskrävande att underhålla flera olika mjukvaruprojekt vill företaget ha samma kod- bas för alla. Jag har därför fått i uppgift att undersöka ett plattformsoberoende ramverk som heter Ionic, som kan generera mobilapplikationer för ett flertal plattformar. Syftet med mitt arbete är att med hjälp av Open Source programvara skapa en fungerande och lättförvaltad prototyp på en mobilapplikation inom Business Intelligence som fungerar för ios och Android. I arbetet skall jag även undersöka ett nytt plattformsoberoende verktyg Ionic ramverk och se om det är praktiskt möjligt att skapa den beställda applikationen med hjälp av detta ramverk. Utifrån problemställning och uppsatssyfte kommer jag fram till en generell forskningsfråga som jag kan definiera på följande sätt: hur skapar man en lättförvaltad mobilapplikation? Denna fråga är allmän och kan tolkas på olika sätt av olika individer. För att ange tydliga gränser till fokus i min uppsats vidareutvecklar jag och specificerar denna frågeställning med hjälp av följande frågor: Hur skapar man mobilapplikationer för olika operativsystem med samma kod- bas? Hur skriver man automatiska tester för mobilapplikationer? 1.3 AVGRÄNSNINGAR Eftersom det är iphone och Android mobiltelefoner som används mest begränsar jag mitt arbete till enbart dessa två typer av mobilenheter. Att skapa en mobil applikation är en komplicerad uppgift därför har jag begränsat mig till att enbart utveckla en front- end och bortse från back- end och webbtjänster som skall behöva användas för att länka ihop front- end med back- end. Syftet med detta arbete är att skapa en prototyp och se om det går att utveckla önskad funktionalitet. I uppgiften bortser jag ifrån grafisk design och användbarhet som man skulle behöva ta hänsyn till vid framtagning av en riktig applikation. 1.4 STRUKTUR AV UPPSATSEN Resten av uppsatsen är strukturerad som följer. Kapitel 2 är Teori där jag beskriver olika typer av mobilapplikationer, deras förr- och nackdelar. Därefter beskriver jag närmare ett ramverk Ionic och går igenom dess bestående delar samt teknisk- och kunskapskrav som ställs på utvecklaren som väljer att använda sig av Ionic. Sedan berättar jag om tester och varför det är viktigt att skriva automatiska tester till sin kod. I slutet av teorikapitlet beskriver jag hur man skall testa kod skriven för Ionic. 3

10 I kapitel 3 Metod beskriver jag vilka alternativ som finns för att gå tillväga med uppsatsen, vilket av dem jag valde och varför. I kapitel 4 Resultat redovisar jag resultatet av mitt arbete, hur jag gjorde och vilka beslut som jag behövde ta för att skapa en mobilapplikation som uppfyller beställarens krav. Sedan presenterar jag den skapade mobilapplikationen med hjälp av skärmbilder. Efter Resultat följer kapitel 5 Analys där jag analyserar resultatet utifrån den analysmetod beskrivet i metoden. Uppsatsen avslutas med kapitel 6 Diskussion och slutsatser var jag besvarar uppsatssyftet, går igenom alternativa lösningar och ger förslag till fortsatt arbete med applikationen och till fortsatt forskning inom området. 4

11 2 TEORI Enligt definition som finns på PCMag Digital Group (u.å.) är mobila applikationer dataprogram som är skapade för att köras på smarttelefoner, paddor och andra mobil enheter. Det finns flera olika sätt att bygga en applikation för en mobilenhet och Wilken (2014) beskriver tre olika typer av mobila applikationer som delas in beroende på vilken teknik som användes: Nativa mobila applikationer Mobila webbapplikationer Hybrida mobila applikationer Tekniker som används för att skapa olika typer av mobila applikationer skiljer sig mycket ifrån varandra. Skillnader ligger i resurskrav, t.ex. krav på utvecklare, deras antal och kunskap, krav på tid för utveckling och underhåll o.s.v. Användning av olika tekniker för samma applikation ger också en del skillnader i hur de utvecklas, mer om dessa kommer i kapitel som beskriver varje kategori av applikationer. Men det är viktigt att förstå att inget av alternativen är bättre eller sämre än andra utan varje har sina styrkor och svagheter och för att ta ett beslut vad som passar bäst i ett särskilt fall skall en analys av varje alternativ göras. (Church, 2012) 2.1 NATIVA MOBILA APPLIKATIONER Nativa mobil applikationer skrivs i mobilen operativsystems standardspråk vilket är Objektiv C för ios och Java för Android. Dessa applikationer kompileras och körs direkt på enheten och kan kommunicera med plattformens SDK (API) för att få tillgång till enhetsdata och för att hämta data för externa webbsidor genom HTTP begäran. (Wilken, 2014) Det finns verktyg tillgängliga för både ios och Android som möjliggör användning av plattformsfunktioner genom fördefinierade APIer. Det är också vanligt att utvecklare använder sig av ramverk för att underlätta den nativa applikationsutvecklingen.(wilken, 2014) Nativa applikationer har följande fördelar: Nativa API. De kan använda nativa API direkt i applikationen, vilket skapar bättre plattformintegrering. (Wilken, 2014) Prestanda. Om en nativ applikation är väl utformad är dess prestanda hög. (Wilken, 2014) 5

12 Samma miljö. Nativa applikationer använder samma språk som plattformar de byggs för, vilket är en fördel för utvecklare som kan plattformens språk. (Wilken, 2014) Sådana applikationer är lättare att upptäcka eftersom användaren kan hitta dem genom att söka efter applikationer som passar till ens mobilenhet. (t.ex. genom att söka i App store) (McWherter & Gowell, 2012) Nackdelar av nativa applikationer är följande: Språkkrav. Utvecklingen kräver kunskap i plattformsspråk och i API. (Wilken, 2014) Ingen plattformsoberoende utveckling. Applikationer för olika plattformar skapas var för sig. (Wilken, 2014) Nativa applikationer kräver mycket jobb och kostnader är därför höga. (Wilken, 2014) Har speciella hårdvarukrav för att t.ex. nativa applikationer för ios endast kan skapas på Mac.(McWherter & Gowell, 2012) Uppdatering för varje enhet är tidskrävande och det förväntas att användaren kontrollerar om det finns tillgängliga uppdateringar. (McWherter & Gowell, 2012) För att bestämma om en nativ applikation passar till ett särskilt projekt skall man jämföra sina resurser och krav som ställs på applikationen med styrkor och svagheter av en typ av mobilapplikation. Generellt sett används nativa applikationer främst för att skapa applikationer som har mycket animering, i spel och i alla applikationer som kräver hög prestanda (t.ex. vid behandling av bilder). (Phan, 2014) 2.2 MOBILA WEBBAPPLIKATIONER Mobilwebbapplikation (som även kan kallas för anpassade webbsidor, mobila webbsidor eller webb appar ) är webbsidor som kan visas i mobil browser i mobilenhet och är anpassade till mobilenhet. En anpassad webbsida kan vara en speciell version av en webbsida som skapades speciellt för mobilenhet eller en webbsida anpassad till mobilens skärmstorlek.(wilken, 2014) Mobila applikationer har också fördelar: Lätt att underhålla. Det finns inget behov att installera uppdatering på en mobilenhet. (Wilken, 2014) Ingen installation. Anpassade webbsidor är ingen applikation och behöver därför inte installeras. (Wilken, 2014) Plattformsoberoende. Alla mobilenheter som har en browser kan visa en anpassad webbsida. (Wilken, 2014) 6

13 Enkelt att uppdatera för alla mobila enheter. (McWherter & Gowell, 2012) Mobilwebbapplikationer är inga riktiga mobilapplikationer utan webbsidor och har därför en del nackdelar i jämförelse med mobila applikationer: Saknar nativt tillgång. Eftersom webbsida körs i browser har utvecklaren enbart tillgång till browsers API (ingen tillgång till mobilenhetens API). (Wilken, 2014) Kräver tangentbord för att navigera till. Användaren måste skriva webbsidans adress för att navigera till webbsida. (Wilken, 2014) Begränsat användargränssnitt. Eftersom det är samma webbsida som visas på mobilenhet och på skrivbordet är det svårt att skapa en användarvänlig touch applikation. (Wilken, 2014) Mobilwebbapplikationers största fördel är att de är billigare och enklare att utveckla och underhålla än alla andra alternativ. Men frånvaron av tillgång till enhetens egna gränssnitt kan störa användarupplevelsen. Dessutom är det inte möjligt att placera applikationen på mobiloperativsystemets affär vilket minskar antal användare som skall hitta applikationen. (Church, 2012) 2.3 HYBRIDA MOBILA APPLIKATIONER Hybrida mobila applikationer består av webb vy som kör en webbapplikation i en nativ applikation och sköter kommunikationen mellan nativ enhetsplattform och webb vy. Detta ger den hybrida mobil applikationen tillgång till enheten (så som kamera och GPS). Vid utveckling av hybrida mobila applikationer används speciella verktyg som inte är skapade av Android eller ios. Hybrid applikationen kompileras och transformeras till en nativ applikation innan den körs. (Wilken, 2014) Hybrida applikationer ger en stabil bas för mobilapplikationsutveckling och kan samtidigt användas som en webbplattform. Hybrid mobilapplikation utvecklas som en vanlig webbsida och använder hybrida applikationers ramverk för att få tillgång till nativ API genom JavaScript. (Wilken, 2014) Hybrida applikationer har egenskaper från både nativa applikationer och mobila webbapplikationer vilket resulterar i följande fördelar: Plattformsoberoende. Hybrid mobil applikations kod kompileras till olika mobilenhets nativa applikationer. (Wilken, 2014) Kräver samma kunskap som webbutveckling. Hybrid mobil applikationsutveckling kräver ingen speciell språkkunskap förutom de som krävs för webbutvecklare. (Wilken, 2014) Tillgång till enhet. Eftersom hybrid applikationen transformeras till en nativ applikation får hybrid applikation tillgång till enheten. (Wilken, 2014) 7

14 Likt nativa applikationer kan hybrida applikationer bli tillgängliga för användare via mobilens butik. (McWherter & Gowell, 2012) Lätt att utveckla. Hybrida applikationer går enkelt och snabbt att utveckla. (Wilken, 2014) Hybrida mobila applikationer har både nativa och mobila webb applikationers särdrag, men uppfyller ingen av dessa kategorier i sin helhet vilket ger hybrida applikationer följande nackdelar: Begränsningar i webb vy. Applikationens prestanda beror på kvalitet av plattformens browser. (Wilken, 2014) Nativ via pluginer. Det kräver att ramverket för hybrida applikationer har en tillgång till pluginer för att anropa nativa API som behövs för alla de operativsystem som skall stödjas. (Wilken, 2014) Inga nativa användargränssnittkontroller. Utvecklare behöver skapa egna användargränssnittselement, men hybrid mobil applikations ramverk (så som Ionic) har kontroller som liknar nativa kontroller. (Wilken, 2014) Vid uppdatering krävs det att användaren laddar ner uppdatering. (Denna nackdel är samma som för nativa applikationer) (McWherter & Gowell, 2012) Church (2012) hävdar att hybrida applikationer är en bra kompromiss mellan de höga kostnaderna för att utveckla en nativ applikation för varje mobilplattform och bristen på tillgång till enheten som finns vid utveckling av en webb applikation. Detta gör denna kategori av applikationer intressanta för företag. Därför finns det projekt för att ta fram ramverk för att enkelt bygga hybrida mobila applikationer. Det finns ett flertal sådana projekt, några exempel av dessa är: Ionic Ramverk. Ionic ramverk är en av de mest lovande HTML5 baserade mobilapplikationsramverken. Det ger många UI komponenter för att hjälpa till att utveckla rika och interaktiva applikationer. (Raj, 2014) Appcelerator Titanium. Appcelerator Titanium är ett Open Source ramverk som ger en miljö för att skapa nativa applikationer för flera mobila plattformar. För att komma igång med Appcelerator Titanium skall Titanium studio laddas ner. Titanium SDK är utrustad med ett antal mobilplattform API:er och molntjänst för att använda som en applikations back- end. Den levereras med plattformsoberoende API:er som gör det lättare att komma åt telefonens hårdvara. (Raj, 2014) Sencha Touch. Sencha Touch är ett HTML5 baserat mobilapplikationsramverk för att skapa applikationer för flera plattformar inklusive ios, Android och Blackberry. Det har funnits i några år nu och är populär bland hybrida mobilapplikationsutvecklare. (Raj, 2014) 8

15 Intel XDK. Intel XDK är ett plattformsoberoende verktyg utvecklat av Intel. Intel XDK ger en levande förhandsvisning på den anslutna enheten och använder en dra och släpp utvecklingsmetod, vilket förenklar utvecklingen. (Raj, 2014) Under de senaste åren har Ionic ramverk etablerat sig som ledare inom hybrid mobilapplikationsutveckling. Ramverket ständigt uppdateras med de senaste trenderna och gör det före konkurrenterna. De största konkurrenterna till Ionic kräver kommersiell licens medan Ionic är gratis att använda och är Open Source. (Arora, 2015) 2.4 IONIC Ionic är en Open Source projekt som startade i november Dess popularitet har vuxit snabbt och Ionic har blivit ett primärt val för att bygga hybrida applikationer i. Idag är det applikationer i månaden som skrivs med Ionic. (Wilken, 2014) Ionic är en kombination av verktyg och hjälpmedel och gör det möjligt för en utvecklare att skapa en hybrid mobilapplikation snabbt genom att använda samma teknik som används för att bygga webbplatser och webbapplikationer. Ionic fungerar genom att bädda in en webbapplikation i en nativ applikation med hjälp av Cordova. Den är utformad för att fungera tillsammans med AngularJS (Cordova och AngularJS är beskrivna senare i detta kapitel) för att skapa en webbapplikation i mobil miljö och inkluderar stöd för mobila funktioner och användargränssnitt kontroller som efterliknar nativa applikationer. (Wilken, 2014) Det finns en del andra ramverk för att bygga hybrida applikationer förutom Ionic, men ingen av dem kan jämföras med nativa applikationer i hastighet och användarupplevelse. Ionic gör det möjligt att skapa hybrida applikationer som ser ut och beter sig som nativa applikationer. (Wilken, 2014) Wilken (2014) nämner flera fördelar av Ionic, några av dessa är följande: Ionic är ett Open Source projekt och man behöver därför inte oroa sig för copyright. Ionic gör det möjligt att skapa en applikation snabbt Det är roligt för utvecklaren, vilket ökar utvecklarens produktivitet. Med Ionic man kan bygga applikationer för ios och Android, stöd för Windows 8 och Firefox OS är planerad i framtiden. (Wilken, 2014) Wilken (2014) skriver att i Ionic används det tre primära tekniker: Ionic ramverk, AngularJS och Cordova. 9

16 2.4.1 IONIC RAMVERK Ionic ramverk tillhandahåller hjälpmedel som underlättar applikationsutveckling. Dessa är användargränssnittskontroller, kommandotolksverktyg och Ionic Creator. Användargränssnittskontroller saknas i HTML, men är vanliga för mobilapplikationer. Dessa komponenter är uppbyggda av CSS, HTML och JavasScript men beter sig som nativkontroller. Exempel av dessa kontroller är: sidomenyer som glider in från sidan, mobilflikar, växlingsknapparna. (Wilken, 2014) Kommandotolksverktyg (CLI) hjälper utvecklaren att starta projekt, förhandsvisa, bygga och köra mobilapplikationen. (Wilken, 2014) Ionic Creator gör det möjligt att använda dra- och- släpp gränssnitt för att designa och exportera applikationen. (Wilken, 2014) ANGULARJS AngularJS är Open Source projekt ifrån Google som startades 2009 och blev ganska populärt bland utvecklare för att det ger möjlighet att skriva applikation snabbt och det strukturerar kod på ett bra sätt. (Wilken, 2014) AngularJS är grunden till allt man bygger med Ionic och Ionic är beroende av AngularJS. (Phan, 2014) AngularJS är ett webbapplikationsramverk i JavaScript för att främst utveckla applikationer i webbläsaren. (Wilken, 2014) CORDOVA Cordova (tidigare kallat PhoneGap) är ett Open Source Apache projekt och är ett hybrid applikationsramverk som hanterar kommunikation mellan browser och nativ API. (Wilken, 2014) Enligt Apache Cordova dokumentation (u.å.) gör Cordova det möjligt att använda HTML5, CSS3 och JavaScript för plattformsoberoende utveckling för att undvika nativa plattformspråk. Mobila applikationer paketeras om för varje mobilplattform och förlitar sig på standardbaserade API pluginer för att komma åt varje enhets sensorer, data och nätverksstatus IONIC KOMPONENTERS SAMARBETE Bild 1. Ionics komponent (Bilden är återskapad från Wilken, 2014) 10

17 Om man tittar på bild 1 och går från höger och till vänster, ser man först en mobilenhet. Mobilenheten har ett operativsystem som installerar applikationen som laddas ner från mobilplattformsaffär. Operativsystem har APIer tillgängliga för applikationen för att nå kamera, GPS, kontakter osv. Efter mobilenheten kan man se Cordova och sedan webb vy. Cordova skapar en länk mellan mobilplattform och applikationen genom att skapa en nativ applikation som kan installeras på en mobilenhet och som innehåller en webb vy (isolerad browser) som kör applikationen. Eftersom Cordova utrustar applikationen med ett JavaScript API som används för att kommunicera med nativ mobilenhet kan den genererade nativa applikationen nå både webb applikationen och nativ mobilplattform. Efter Cordova följer AngularJS och Ionic. Inne i webb vyn körs en AngularJS webbapplikation i JavaScript. AngularJS används mest för att hantera applikationslogik och data. Ionic används mest för att skapa ett mobilt användargränssnitt och användarupplevelse och inkluderar flikar, knappar och navigering. (Wilken, 2014) KUNSKAPSKRAV Enligt Ionic dokumentation (u.å.) bygger användare sina applikationer som vanliga webbsidor och som sedan med hjälp av Cordova körs inuti en nativ applikation. Därför kan man skapa en applikation genom att bara använda HTML, CSS och JavaScript. HTML används för att ge struktur, CSS för design och JavaScript möjliggör den interaktion och logik som applikationen kräver. (Wilken, 2014) I Ionic dokumentation (u.å.) står det att vissa utvecklare gräver sig fram till nativnivå med hjälp av Cordova pluginer eller med nativ kod, men detta är inte nödvändigt för att skapa en bra applikation. Wilken (2014) hävdar att Ionic är byggt för att jobba med AngularJS. För utvecklare som är vana med att använda jquery kan det vara lockande att använda sig av det istället för att lära sig AngularJS, men Phan (2014) uppmuntrar att undvika använda jquery och att fokusera enbart på AngularJS TEKNISKA KRAV Enligt Ionic dokumentation (u.å.) riktar sig nuvarande Ionic enbart mot iphone och Android mobiltelefoner och stödjer ios 6+ och Android 4.0+, men eftersom det finns väldigt många olika Android telefoner är det möjligt att applikation skapad med Ionic inte skall fungera på några av dem. I Ionic dokumentation (u.å.) står det också att man kan utveckla Ionic applikation på vilket operativt system som helst och Ionic applikationer har utvecklats på Mac OS X, Windows och Linux, men det operativa systemet som skall användas måste ha en kommandotolk om man vill kunna följa steg beskrivna i Ionic dokumentation. 11

18 Om tanken är att göra en applikation för bl.a. iphone måste operationssystem vara OS X. Enligt Apache Cordova dokumentation (u.å.) kan de verktyg som krävs för att skapa ios applikationer enbart köras på OS X operativsystem på Intel- baserade Mac- datorer. Xcode 4,5 (minimum version som krävs) körs bara på OS X version 10.7 (Lion) eller större, och inkluderar ios 6 SDK (Software Development Kit). För att skicka in applikationer till Apple App Store krävs de senaste versionerna av Apple- verktyg. Därför rekommenderas det i Ionic dokumentation (u.å.) att utveckla Ionic applikationer på Mac. För att utveckla mobilapplikation för Android krävs det Android SDK (Apache Cordova dokumentation, u.å.) Android SDK är en Software Development Kit som tillåter utvecklare att skapa applikationer för mobilplattformen Android. Android SDK innehåller exempelprojekt med källkod, utvecklingsverktyg, en emulator, och bibliotek som krävs för att bygga Android applikationer. (Agustin, 2011) Wilken (2014) rekommenderar också att ha minst en mobilenhet för varje plattform för att kunna testa. Trots att det finns emulator som kan visa hur en applikation skall se ut på mobilen är dessa inte fullständiga kopior av riktiga mobilenheter KOSTNADER Enligt Ionic dokumentation (u.å.) Ionic är ett Open Source ramverk som släpptes under licens MIT, vilket betyder att det är tillåtet att använda Ionic fritt för personligt och kommersiellt bruk. Ionic dokumentation (u.å.) anger att om man bygger en applikation för ios måste utvecklaren registrera sig själv som Apple utvecklare. Bara då blir det möjligt att köra applikationen på iphone och ipad. Att vara Apple utvecklare kostar 99$ per år. 2.5 OPEN SOURCE Ionic Ramverk är en programvara släppt som Open Source. Open Source programvara har blivit en väldigt populär distributionsform och Afshar (2014) hävdar att Open Source har nu en permanent roll i företags IT och att Open Source kommer att ingå i 85% av alla kommersiella mjukvarupaket från 2015 och 95% av traditionella IT- organisationer kommer att utnyttja någon form av öppen källkod mjukvara. Företag väljer att använda Open Source för att den erbjuder betydande fördelar jämfört med vanliga kommersiella produkter. Kommersiella produkter gynnar vanligtvis synliga detaljer (som ger fördel på marknaden) istället för egenskaper som stabilitet, säkerhet och liknande mindre glamorösa attribut. Medan Open Source utvecklare motiveras mycket av andra utvecklares utvärderingar och därför föredrar att bygga mjukvara som 12

19 är beundrad av andra likasinnade. Mycket uppskattade faktorer av utvecklarna är ren design, tillförlitlighet och förvaltningsbarhet. (GBdirekt, u.å.) Open Source programvaror har flera fördelar, några av dem är följande: Låg kostnad. Köper man en kommersiell programvara kan man förutom inköpspriset för själva programvaran även behöva betala för obligatoriskt virusskydd, stöd och löpande uppgraderingskostnader. Användning av en Open Source drar ner företagskostnader. (Noyes, 2010) Bättre kvalitet på koden. 80% av användare av Open Source valde att använda den baserat på kvalitet. Öppen källkods programvaror har bättre kvalitet för att utvecklingen pågår utanför företagets gränser och det är många utvecklare som deltar i kodskrivningen. Utvecklarna diskuterar, kompromissar och inspirerar varandra vilket bidrar till bra kod kvalitet. (Afshar, 2014) Säkerhet. Säkerheten är hög på grund av att Open Source är transparent och den granskas av användarna. (Afshar, 2014) Kollektivt. Open Source projekt bygger upp ett kollektiv av människor som tror på sin teknologi och brinner för att göra det tillgängligt för andra. (Afshar, 2014) Kollektivet ger även stöd för användare, vanligtvis finns det dokumentation eller forum där man kan ställa frågor osv. (Noyes, 2010) Frihet. Det finns inga begränsningar, utvecklaren har tillgång till koden, kan lägga till funktioner och fixa till koden själv. (Afshar, 2014) Anpassningsförmåga. Det öppna källkods utvecklingsmodell bidrar till att programvara anpassas snabbt till föränderliga tider. (Afshar, 2014) Val. Det finns många lösningar och användaren kan välja den som passar en bäst. Idag finns det över 1 miljoner projekt med öppen källkod och 10 miljoner utvecklare som deltar. (Afshar, 2014) Allt det gör Open Source attraktivt för ett företag att använda och det blir fler och fler som väljer att använda den istället för kommersiella programvaror. Men innan man väljer att använda av Open Source bör man fundera på utmaningar som användning av Open Source kan innebära. Några av dessa är följande: Kvalitet på koden. När projektet blir väldigt stor och det är många utvecklare som deltar i kodskrivning blir det svårt att få hela koden utvärderat av andra utvecklare. (Hurley, 2014) Inlärningskurva. Företaget kan behöva anställa en Open Source expert för att lära upp personalen. (McCafferty, 2013) Förvirrade användare. Eftersom det är flera utvecklare som jobbar med projekt samtidigt kan det vara oklart för en användare vilken version som skulle passa bäst och om den är kompatibel med andra mjukvara företaget använder. (McCafferty, 2013) 13

20 Föräldralös mjukvara. Vissa Open Source projekt dör för att nyckelutvecklarna inte kommer överens och slutar utveckla eller för att de tappar intresse och startar ett annat projekt istället. (McCafferty, 2013) Lösa problem själv. Open Source ger ingen stöd till användarna som skulle kunna motsvara stöden från kommersiella programvarors distribuerar. All stöd som man kan få i Open Source är ett stöd från dess kollektiv. Dock skall man komma ihåg att kollektiv inte är skyldig att svara på användarens frågor och lösa problem som kan uppstå. Dock så erbjuder många företag supportkontrakt till vissa Open Source projekt för att få garanterat stöd vid behov. (McCafferty, 2013) Innan man bestämmer sig att använda sig av ett Open Source projekt skall man fundera på de risker det skulle innebära och utvärdera både riskens sannolikhet i förhållande till det Open Source projektet man funderar på att använda och sina möjligheter att lösa eventuella svårigheter som kan uppstå. 2.6 TESTNING Många företag tror att det tar tid att testa en produkt och vill få sin produkt på marknaden så fort som möjligt. Det kan vara kostsamt att släppa produkten på marknaden sent, men det blir ännu sämre att släppa en produkt som är defekt. Programvarufel kan vara kostsamt för ett företag och i visa fall har det lett till konkurs. (Hayes, u.å.) För att vara säker på att mjukvara som släpps inte innehåller några allvarliga fel måste produkten testas. Tester kan vara manuella eller automatiska. En anledning att använda automatiska tester istället för manuella är att applikationer förändras under sin livstid och blir mer och mer komplicerade. Därför ökar antalet tester som behöver genomföras med tiden. Även om förändringar bara rör 10% av koden kan hela applikationen behöva testas igenom. Detta gör manuell testning svårt att genomföra på grund av att tiden som krävs för att testa varje systemuppdatering ökar och kräver fler resurser. Med automatiska tester är det möjligt att spara testfall genom applikationens livstid och återanvända tester vid behov. (Hayes, u.å.) Ett annat argument som talar emot manuella tester är att om det är tidsbrist föredrar testare att testa nya tillägg till applikationen istället för att testa gammal funktionalitet. Men största risk för användare ligger i gammal funktionalitet. Om någonting som användaren redan använder slutar att fungera kan det stoppa drift. Däremot om nya funktionaliteter visar sig att inte fungera är det möjligt att det inte leder till lika stora konsekvenser. (Hayes, u.å.) Bra skrivna tester bidrar även till snabbare kodskrivning. Om man tittar vad en programmerare spenderar sin tid på visar det sig att det inte är så mycket tid som går åt att skriva kod. Viss tid går åt att förstå vad som skall pågå, viss tid går åt för design, men 14

21 mest tid går åt till felsökning. Felrättning tar vanligtvis inte lång tid, men att hitta det kan vara en mardröm. När ett fel är rättat kan det hända att ett annat fel dyker upp någon annanstans med stor chans att utvecklaren inte upptäcker det förrän mycket senare och det kan då ta enorm lång tid att hitta felet. Om man har automatiska tester som är enkelt att köra regelbundet kan man enklare hitta fel. Om man dessutom kör tester regelbundet vet man att det är nyligen skriven kod som orsakat felet och det är enklare att rätta felet eftersom utvecklaren har ett fräscht minne om den. (Fowler, Beck, Brant, Opdyke & Roberts, 1999) Fowler et al. (1999) ger flera råd kring framtagning av automatiska tester, några av dessa är: Skriv helt automatiska tester som kan kontrollerar sitt eget resultat. Kör tester regelbundet, minst dagligen. Glöm inte att testa om undantag körs när det förväntas vara fel. Det är bättre att köra ofullständiga tester än att inte köra tester alls. Låt inte rädslan att tester inte hittar alla fel stanna dig att skriva tester som hittar de flesta av felen. Många systemutvecklarteam har idag erkänt fördelarna med automatiska tester för design och kvalitet av program. Det är därför ofta förväntat att automatiska tester skall skrivas av utvecklaren på vardaglig basis. Testning har förflyttat sig från en separat aktivitet som utförs av personal i motsvarande position till en aktivitet som ingår i systemutveckling och utförs av utvecklaren själv. (Rady & Coffin, 2011) Automatiska tester kan hjälpa till att släppa en pålitlig produkt, höja företagets förtroende, minska risk för misslyckande och hjälpa att undvika kostnader för stöd och omarbetning. Automatiska tester sparar tid och minskar kostnaderna och förbättrar resursproduktivitet. Om testbibliotek är automatiserat, exekvering är snabb och täcker fler fall än vad manuell testning skulle göra. (Hayes, u.å.) 2.7 TESTA IONIC Det är AngularJS som definierar kodningsregler i Ionic och för att testa Ionic applikation behöver kod testas på samma sätt som vanlig AngularJS kod. I grunden till AngularJS ligger JavaScript. JavaScript är ett språk med stor uttryckskraft, men ger nästan ingen hjälp från kompilatorn och därför måste kod som skrivs i JavaScript komma med en uppsättning av tester. Därför har skaparna av AngularJS byggt in flera komponenter i ramverket för att förenkla testning av koden.(angularjs dokumentation, u.å.) Det finns speciella verktyg som gör testning med AngularJS mycket enklare. Dessa verktyg är följande: 15

22 Karma. Karma är en JavaScript kommandoradsverktyg som kan användas för att kontinuerligt ladda in applikationens källkod och utföra samtliga tester. Karma kan konfigureras mot olika webbläsaren vilket är användbart då det gör det möjligt att kontrollera att applikationen fungerar bra i alla browser som behövs. Karma körs på kommandotolken och visar resultatet av testexekveringen direkt i kommandotolken efter det att testerna har körts i webbläsaren. Jasmine. Jasmine är ett ramverk för testdriven utveckling i JavaScript som har blivit det mest populära valet för testning av AngularJS applikationer. Jasmine tillhandahåller funktioner som hjälper till med strukturering av tester. Jasmine hjälper även till att hålla tester strukturerade och dokumenterade när programmet växer. (AngularJS documentation, u.å.) 16

23 3 METOD I uppsatsen beskrivs hur man kan gå till väga för att skapa en lättförvaltad mobilapplikation med programvaran Ionic. Arbetet utgår ifrån företagets beskrivning av den önskade mobilapplikationen, Ionics dokumentation samt andra utvecklares erfarenhet av Ionic applikationsutveckling som fanns på nätet. 3.1 SYSTEMUTVECKLINGSMETOD Detta arbete är ett systemutvecklingsprojekt och det var därför viktigt att bestämma vilken systemutvecklingsmetod som skulle användas. Detta behövdes för att få hjälp med strukturering av arbetsgång och formning av riktlinjer för att fullfölja uppsatsens syfte. Tillvägagångssätt vid systemutveckling kan fördelas i två grupper: de traditionella och agila metoder. Till de traditionella metoderna hör vattenfall som tillhandahåller en linjär syn på mjukvaruutveckling. Händelseförloppet i denna metod är: samla och dokumentera krav, gör design, skriv kod och göra enhetstest, utför systemtest, utför användaracceptans tester, åtgärda eventuella problem och slutligen leverera den färdiga produkten. (Lotz, 2013) En nackdel av denna metod är att beställaren kan uppleva svårigheter med visualisering av den färdiga produkten vid projektets början och ha det svårt att specificera krav och ge en bra och detaljerad beställning. Detta kan resultera i att beställaren blir missnöjd med produkten. (Lotz, 2013) Agila metoder är metoder som möjliggör tidig och snabb genomförande av utvecklingen på en inkrementell basis. De ställer mindre krav på behovsanalys och design och är anpassad till behov som förändras. I grunden till agila metoder ligger förståelsen att krav till systemet kommer att förändras under arbetets gång. (Bennet, McRobb & Farmet, 2010) Agila metoder är mindre byråkratiska än traditionella och ställer mindre krav på dokumentation, fokuserar på interaktion med användaren och leverans av ett fungerande system. (Bennet et al., 2010) Det finns en del agila metoder att välja ifrån, det mest populära av de agila metoderna idag är Scrum. (Bennet et al., 2010) Syftet med Scrum är att skapa ett team som är kreativt, entusiastiskt, ger befogenheter och främjar samarbete. (Layton, 2012) Scrumteam är vanligtvis små, perfekt storlek är 5-9 personer. (International Scrum Institute, u.å.) 17

24 Scrum är en iterativ metod som har i grunden en s.k. sprint. Inom varje sprint utvecklar och testar laget en funktionell del av produkten tills produktens ägare accepterar den och dess funktionalitet. När en sprint avslutas påbörjas nästa. Gruppen levererar produktegenskaper vid slutet av varje sprint. En produktrelease sker i slutet av en sprint eller efter flera sprintar. (Layton, 2012) En annan populär systemutvecklingsmetod är Kanban. Kanban är en metod som används för systemutveckling med betoning på kontinuerlig leverans och utan överbelastning av utvecklingsteamet. Kanban är baserad på tre principer: Visualisering av workflow. Det kan hjälpa till att se en uppgift i kontext av andra uppgifter. Begränsning av antal aktiva uppgifter, vilket hjälper att balansera flödet så team inte startar för mycket arbete på en gång. Förbättra flödet. När något är klart, är det den näst högst prioriterade uppgiften som påbörjas. (McLaughlin, u.å.) Vattenfallsmetoden valdes bort för detta projekt då detta arbete var ett försök att lära sig ett ramverk och leverera produkt skapad med det valda ramverket som uppfyller beställarens krav. Varken uppsatsförfattaren eller beställaren kände till ramverket och därför var det svårt att veta om alla beställarens krav skulle gå att uppfylla i sin helhet. Det kunde också hända att nya möjligheter skulle bli upptäckta under arbetets gång och beställaren skulle välja att lägga till eller förändra krav till produkten. Därför var det viktigt att arbetet skulle utföras i en ständig konversation med beställaren och Agila metoder gav bäst stöd för detta. Scrum skulle kunna hjälpa i detta arbete, men det skulle behövas 5-9 utvecklare. Eftersom uppgiften skulle utföras av en person var det inte möjligt att använda Scrum på ett effektivt sätt. Inga hinder för användning av Kanban kunde hittas och enligt Kanbans beskrivning passade denna metod bra till projektets miljö och villkor. 3.2 KANBAN I ARBETET Kanban är en teknik för att effektivt hantera mjukvaruutvecklingsprocessen. Kanban är väldigt enkel men samtidigt väldigt kraftfull. Systemet i Kanban består av en stor tavla med kort eller klisterlappar som placeras i en kolumn med nummer på topp. Ett kort presenterar arbetsposter som flödar genom utvecklingsprocessen som representeras av kolumnerna. Nummer på topp av varje kolumn begränsar antalet kort som är tillåtna för respektive kolumn. (Peterson, u.å.) For att skapa en Kanban tavla användes ett program som heter Trello. Trello är en gratis online resurs som gör det möjligt att skapa tavlor som innehåller kolumner med kort 18

25 som innehåller en beskrivning av en uppgift. Tavlor kan delas med andra Trello användare, d.v.s. utvecklingsteam kan jobba med samma tavla. Kort som skapas i Trello har tittalar, beskrivningar, en meddelandelogg för aktiviteter, checklistor, förfallodatum, etiketter, länkar, bilagor och kan även tilldelas till andra Trello användare. (Connell, 2014) Anledningen till att Trello valdes i för denna uppgift var att författaren har erfarenhet av Trello från tidigare projekt och det programmet fungerade väldigt bra och uppfyllde syftet. Utvecklingen pågick i flera iterationer. I början av projektet definierades uppgifter tillsammans med beställaren. När dessa uppgifter var klara presenterades resultatet till beställaren och nya uppgifter definierades. Ett exempel på hur arbetet i Trello pågick kan ses på bild 2. Bild 2. Kanban i Trello 3.3 UTVECKLA MED IONIC Att komma igång att utveckla en mobilapplikation med Ionic var relativt enkelt, men det förutsatte att jag kunde JavaScript och hade erfarenhet av webbutveckling sedan tidigare. Det var också en stor fördel att kunna AngularJS innan jag satte igång med Ionic. För att installera ramverket behövde jag först installera applikationen NodeJS (Ionic dokumentation, u.å). NodeJS är ett ramverk för att skriva server applikationer i JavaScript. Detta ramverk i sig behövs inte för Ionic, däremot behöver man ett medföljande kommandotolksprogram kallat npm. npm är ett verktyg för att installera andra JavaScript verktyg och bibliotek. För att installera Ionic på sin utvecklingsmaskin behövde följande kommando köras: 19

26 >npm install g cordova ionic Detta satte upp alla kommandotolksprogram som behövdes, både det underliggande Cordova (som är ansvarig för att generera själva mobil applikationerna) och Ionic. Därefter var det möjligt att starta sitt projekt genom att gå till sin projektkatalog där jag ville att filstrukturen skulle genereras. Därefter kördes detta kommando: >ionic start minapp sidemenu Parametern start anger för Ionic att ett nytt projekt skall skapas. Detta följs av själva namnet på projektet och slutligen namnet på den projektmall man vill använda. Det finns en rad färdiga mallar man kan använda sig av, till exempel tabs som skapar en app med tre olika sidor och en meny längst ner där man kan välja vilken sida man vill arbeta i. Alternativt kan man välja sidemenu som skapar en sidomeny till vänster om själva applikationen som går att visa/gömma med en knapp. Mallen blank skapar en minimal tom sida. De viktigaste filerna som genereras för mallen blank för att komma igång är följande: Filstruktur minapp/ config.xml ionic.project bower.json www/ css/ img/ lib/ js/ app.js index.html Förklaring Huvudkatalogen Fil som beskriver för Cordova hur den skall generera själva mobil applikationerna, behöver inte ändras i för enklare program. Projektinställningar för Ionic. Behöver aldrig ändras för enklare program. Fil som innehåller beroenden på externa bibliotek och som behöver inkluderas i byggprocessen. Katalog som innehåller JavaScript och HTML som bygger upp själva applikationen. Innehåller CSS filer för egna anpassningar av layout. Katalog för bilder som skall visas. Innehåller externa JavaScript bibliotek. Skall innehålla JavaScript kod för logiken i applikationen. Huvudfilen för JavaScript som initierar Ionic. Huvudfilen för HTML som laddar in CSS och JavaScript och definierar vyn i applikationen. Filerna i tabellen visar bara de grundläggande som behövs för att komma igång att 20

27 utveckla, i en större applikation skulle underkataloger skapas. Jag har skapat underkataloger under js för respektive JavaScript fil och en katalog templates som innehåller delar av html fragment för att undvika en enda gigantisk html fil. Under utvecklingens gång finns det i Ionic ett verktyg för att kontinuerligt se slutresultatet av sin applikation i sin browser utan att behöva kompilera och paketera mobilapplikationen varje gång. Det verktyget heter serve och körs genom att gå till huvudkataligen för projektet och köra: >ionic serve När jag körde detta kommando startade en lokal server automatiskt tillsammans med en webbläsare som visade hur applikationen skulle se ut. Sedan uppdaterade jag projektets JavaScript och HTML filer i en texteditor och så fort en fil sparades så laddade ionic serve automatiskt om sidan så jag direkt fick en uppdatering av resultatet. Med ionic serve gick det att utveckla en stor del av funktionaliteten fram tills att jag var redo att testa resultatet i telefonen eller dess emulator. 3.4 SKAPA MOBILAPPLIKATION FÖR IOS MED IONIC För att senare generera själva mobilapplikationen för iphone eller en annan ios enhet behövde jag installera utvecklingsverktygen Xcode ifrån Apple. Detta verktyg finns bara för operativsystemet OS X för Mac. Nästa steg var att konfigurera projektet till att ha stöd för plattformen ios med kommandot: >ionic platform add ios Därefter gick det att starta igång sin applikation i Xcodes IOS emulator som simulerade en iphone eller ipad med kommandot: >ionic emulate ios Det startade upp applikationen i en av Xcodes förvalda iphone enhet. De flesta av Apples mobila enheter går att emulera genom att man anger en parameter target=<namn>. För att se vilka giltiga namn på enheter som går att emulera skall man köra kommandot (ifrån projektets huvudkatalog). >./platforms/ios/cordova/lib/list-emulator-images iphone-4s iphone-5 iphone-5s iphone-6-plus 21

Mina listor. En Android-applikation. Rickard Karlsson 2013-06-09. Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.

Mina listor. En Android-applikation. Rickard Karlsson 2013-06-09. Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu. Mina listor En Android-applikation Rickard Karlsson 2013-06-09 Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.se Innehållsförteckning 2. Innehållsförteckning 3. Abstrakt 4. Inledning/bakgrund

Läs mer

Hybridappar. Utveckla mobilappar i HTML, Javascript och CSS

Hybridappar. Utveckla mobilappar i HTML, Javascript och CSS Hybridappar Utveckla mobilappar i HTML, Javascript och CSS Presenterat av Erik Tufvesson, Presis i Lund AB Kort om mig Erik Tufvesson Systemarkitekt och utvecklare på Presis! Brinner för utveckling av

Läs mer

Operativsystem och användargränssnitt

Operativsystem och användargränssnitt Operativsystem och användargränssnitt Som du fick läsa tidigare behöver datorn förutom hårdvara också ett program för att hantera hårdvaran, dvs. ett operativsystem. Denna sida behandlar bland annat följande

Läs mer

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) 2013-06-10 Slutrapport

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) 2013-06-10 Slutrapport Collector en Android-app för att samla saker Kim Grönqvist (kg222dk) 2013-06-10 Slutrapport Abstrakt Jag har gjort en Android-app för att samla saker, Collector. Med den kan man upprätta att göra-listor

Läs mer

Hi-Fi Prototyping + laborationsgenomgång & verktyg

Hi-Fi Prototyping + laborationsgenomgång & verktyg Hi-Fi Prototyping + laborationsgenomgång & verktyg Karin Fahlquist 2015 Frågor att besvara Vad innebär prototyping? Vad är speciellt med hi-fi prototyping? Hur kan man använda dem? Hur väljer man nivå

Läs mer

Yanting Larsen. Mjukvaruutvecklare. Cybercom Group

Yanting Larsen. Mjukvaruutvecklare. Cybercom Group Cybercom Group www.cybercom.se info@cybercom.com Yanting Larsen Jag har ett stort intresse av mjukvaruutveckling och jag är angelägen om att arbeta med antingen webbapplikationer, datorprogram eller mobilapplikationer.

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

Webbappar med OpenLayers och jquery

Webbappar med OpenLayers och jquery Webbappar med OpenLayers och jquery Johan Lahti GIT-utvecklare Malmö stad ULI Uppsala, 3 oktober 2011 smap (www.smap.se) Samarbete sedan maj 2009 Kartramverk byggt på OpenLayers och jquery Gemensam server

Läs mer

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

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande: MOI Ämnet mobila applikationer behandlar olika tekniker för att utveckla programvara riktad mot mobila enheter samt processen från idé till färdigt program. Ämnet mobila applikationer får bara anordnas

Läs mer

Big Data i spelbranchen

Big Data i spelbranchen Big Data i spelbranchen ett projekt med Hadoop och open source i fokus Kunden Företaget arbetar med onlinespel och utvecklar många olika spel för över 100 spelbolag, exempelvis Casinon som Casinostugan

Läs mer

Kort om World Wide Web (webben)

Kort om World Wide Web (webben) KAPITEL 1 Grunder I det här kapitlet ska jag gå igenom allmänt om vad Internet är och vad som krävs för att skapa en hemsida. Plus lite annat smått och gott som är bra att känna till innan vi kör igång.

Läs mer

Under Kurser visas dina kurser som kort och om där finns nya uppgifter eller anslag visas antalet i kurskortet.

Under Kurser visas dina kurser som kort och om där finns nya uppgifter eller anslag visas antalet i kurskortet. En kort introduktion till Fronter 19 Välkommen till en ny Fronter-upplevelse. Den här guiden kommer att ta upp skillnader mellan den nuvarande Fronter-plattformen och Fronter 19, och de förändrade arbetsprocesserna.

Läs mer

STADSLEDNINGSKONTORET SOA SDK IT-AVDELNINGEN VERSION 2.1. Läs mig först. Stockholms stad SOA-plattform. Sida 1 (5)

STADSLEDNINGSKONTORET SOA SDK IT-AVDELNINGEN VERSION 2.1. Läs mig först. Stockholms stad SOA-plattform. Sida 1 (5) Läs mig först Stockholms stad SOA-plattform 1 (5) Innehållsförteckning 1 Beskrivning av SDK 3 1.1 Software Developer Kit för Utvecklare... 3 1.2 Support för... 3 1.3 Omfattning... 4 1.4 Versionshantering...

Läs mer

QR-kodernas intåg för nytta och nöje!

QR-kodernas intåg för nytta och nöje! QR-kodernas intåg för nytta och nöje! Föredrag av Stig Ottosson om smarta "självlänkande" streckkoder som vi kommer att se alltmer i framtiden. 2012-05-04 Webbvärlden ur exponeringssynpunkt till ca 2010

Läs mer

Innehållsförteckning Sida 3 Om IT-Högskolan Sida 4-5.NET-utvecklare Sida 6-7 Applikationsutvecklare till iphone och Android Sida 8-9 Mjukvarutestare

Innehållsförteckning Sida 3 Om IT-Högskolan Sida 4-5.NET-utvecklare Sida 6-7 Applikationsutvecklare till iphone och Android Sida 8-9 Mjukvarutestare YH-utbildningar 2016 Innehållsförteckning Sida 3 Om IT-Högskolan Sida 4-5.NET-utvecklare Sida 6-7 Applikationsutvecklare till iphone och Android Sida 8-9 Mjukvarutestare Sida 10-11 Webbutvecklare CMS 2

Läs mer

För dig som lärare har vi placerat nya inkomna svar från elever under Följ upp uppgifter medan elev på samma ställer ser alla sina aktiva Uppgifter.

För dig som lärare har vi placerat nya inkomna svar från elever under Följ upp uppgifter medan elev på samma ställer ser alla sina aktiva Uppgifter. En kort introduktion till Fronter 19 Välkommen till en ny Fronter-upplevelse. Den här guiden kommer att ta upp skillnader mellan den nuvarande Fronter-plattformen och Fronter 19, och de förändrade arbetsprocesserna.

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

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

Avancerade Webbteknologier 2. AD11g Göteborg 2012 Mobilanpassning

Avancerade Webbteknologier 2. AD11g Göteborg 2012 Mobilanpassning Avancerade Webbteknologier 2 AD11g Göteborg 2012 Mobilanpassning Idag Reality Check Strategier för mobilanpassning Problem vid mobilanpassning Exempel på några ramverk Statistik Det finns väldigt mycket

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

HejKalmar app. Projektrapport. Webbprojekt I

HejKalmar app. Projektrapport. Webbprojekt I Projektrapport HejKalmar app Webbprojekt I Författare: Cecilia Lindqvist, Linus Lundevall, Christofer Olaison, Andreas Söderström och Isak Utegård Handledare: Tobias Ohlsson Examinator: Tobias Ohlsson

Läs mer

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod Systemutveckling TDP029 Systemutveckling Annika Silvervarg COIN/HCCS/IDA Systemutveckling kallas processen att ta emot en beställning på ett datorsystem, skriva en strukturerad kravspecifikation på systemet,

Läs mer

Innehålls förteckning

Innehålls förteckning Programmering Uppsats i skrivteknik Axxell Företagsekonomi i informationsteknik 19.3.2015 Respondent: Tomas Björklöf Opponent: Theo Wahlström Handledare: Katarina Wikström Innehålls förteckning 1. Inledning...3

Läs mer

Universe Engine Rapport

Universe Engine Rapport 1 Universe Engine Rapport Alexander Mennborg 2017-05-08 2 Inledning I denna rapport diskuteras utvecklingsprocessen till projektet Universe Engine. Denna diskussion omfattar hela utveckling från starten

Läs mer

Joakim Jonsson jj222kc. Minesweeper. Individuellt Mjukvaruprojekt Joakim Jonsson

Joakim Jonsson jj222kc. Minesweeper. Individuellt Mjukvaruprojekt Joakim Jonsson Minesweeper Individuellt Mjukvaruprojekt Joakim Jonsson 08 06 2013 Abstrakt Nedan följer en slutrapport för projektet inom kursen Individuellt Mjukvaru utvecklingsprojekt. Jag har under dessa 10 veckor

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

Webbserverprogrammering

Webbserverprogrammering Webbserverprogrammering WES Webbserverprogrammering Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets

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

INSTALLATIONSGUIDE TILL ANDROID UTVECKLINGSMILJÖ

INSTALLATIONSGUIDE TILL ANDROID UTVECKLINGSMILJÖ INSTALLATIONSGUIDE TILL ANDROID UTVECKLINGSMILJÖ Denna installationsguide berättar hur man installerar och kommer igång med utveckling för Android. Guiden är skriven som en komplettering till min bok Programmera

Läs mer

Utvärdering av distansmötesverktyg via Internet.

Utvärdering av distansmötesverktyg via Internet. Utvärdering av distansmötesverktyg via Internet. Under 2010 till 2012 har olika webkonferensverktyg testats. Det bör noteras att uppdateringar sker och därför kan de verktyg som testats tidigt idag ha

Läs mer

WEBBSERVERPROGRAMMERING

WEBBSERVERPROGRAMMERING WEBBSERVERPROGRAMMERING Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets syfte Undervisningen i ämnet

Läs mer

Säkerhetskopiera mobilen

Säkerhetskopiera mobilen Säkerhetskopiera mobilen gratis och helautomatiskt 7 Bästa gratistipsen 7 För Android, Iphone och Windows Phone 7 Säkerhetskopiera till Dropbox. Så fixar du automatisk säkerhetskopiering av mobilen Visst

Läs mer

Lärarhandledning. Felix börjar skolan

Lärarhandledning. Felix börjar skolan Lärarhandledning för Felix börjar skolan Felixonline är en digital anpassning av barnboksserien Felix börjar skolan utgiven av Bonnier utbildning. Syftet med läromedlet är i första hand att skapa läsupplevelse

Läs mer

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år Javautvecklare 400 YH-poäng, 2 år Utbildningsfakta Kurser (12 stycken) Grundläggande programmering och javaverktyg 50 yhp Grafiskt gränssnitt och interaktion 20 yhp Internet, webb och webbramverk 40 yhp

Läs mer

FileMaker Pro 11. Köra FileMaker Pro 11 på Citrix XenApp

FileMaker Pro 11. Köra FileMaker Pro 11 på Citrix XenApp FileMaker Pro 11 Köra FileMaker Pro 11 på Citrix XenApp 2007 2010 FileMaker, Inc. Med ensamrätt. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Kalifornien 95054, USA FileMaker är ett varumärke

Läs mer

Skydda din Dropbox med säker kryptering!

Skydda din Dropbox med säker kryptering! Skydda din Dropbox med säker kryptering! 7 Stoppa NSA:s övervakning 7 Funkar med valfri molntjänst 7 Stor guide till gratistjänsten Boxcryptor. Boxcryptor skyddar dina filer i molnet Är du orolig att någon

Läs mer

Krav och riktlinjer för applikationsutveckling

Krav och riktlinjer för applikationsutveckling Svenska Filminstitutet Box 27126, 102 52 Stockholm Besök: Filmhuset, Borgvägen 1 Telefon: 08-665 11 00 Fax: 08-661 18 20 www.sfi.se BILAGA till Branschstandard Tillgänglig Bio 2015-03-25 Krav och riktlinjer

Läs mer

2014-2015 Alla rättigheter till materialet reserverade Easec

2014-2015 Alla rättigheter till materialet reserverade Easec 1 2 Innehåll Introduktion... 3 Azure Client SDK Libraries... 4 Översikt: Azure Client Libraries... 5 Azure SDK... 6 Azure SDK (forts.)... 7 Azure SDK (forts.)... 8 Cloud Services... 10 Cloud Services...

Läs mer

iphone/ipad Snabbguide för anställda på HB

iphone/ipad Snabbguide för anställda på HB iphone/ipad Snabbguide för anställda på HB Innehållsförteckning: Första uppstarten... 1 Apple-ID... 1 Hitta min iphone... 1 Trådlöst nätverk (Wi-Fi)... 2 Kalender, E-post & Kontakter... 3 GW-Sync konfiguration...

Läs mer

Programmering i C++ Kompilering från kommandoraden

Programmering i C++ Kompilering från kommandoraden Programmering i C++ Kompilering från kommandoraden Sven Gestegård Robertz Datavetenskap, LTH 9 november 2015 Sammanfattning Ibland vill man, av olika anledningar, inte använda en stor integrerad utvecklingsmiljö

Läs mer

Datacentertjänster PaaS

Datacentertjänster PaaS Datacentertjänster PaaS Innehåll Datacentertjänst PaaS 3 Allmänt om tjänsten 3 En säker miljö för kundensa containers 3 En agil infrastruktur 3 Fördelar med tjänsten 3 Vad ingår i tjänsten 4 Applikationer

Läs mer

SKOLFS. beslutade den XXX 2017.

SKOLFS. beslutade den XXX 2017. 1 (12) Skolverkets föreskrifter om ämnesplan för ämnet webbutveckling i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning i form av ett fjärde tekniskt år; beslutade

Läs mer

Mobile Cross Development

Mobile Cross Development Mobile Cross Development Johan Holm och Jörgen Bengtsson Varje år bjuder vi in våra kunder till tre inspirationsdagar där vi lyfter fram de mest intressanta IT-frågorna med fokus på strategi, teknik eller

Läs mer

RAY MOBILT KUNDKORT STÖDDA TELEFONER OCH FÖRUTSÄTTNINGAR FÖR ANVÄNDNING AV KORTET

RAY MOBILT KUNDKORT STÖDDA TELEFONER OCH FÖRUTSÄTTNINGAR FÖR ANVÄNDNING AV KORTET 1 RAY MOBILT KUNDKORT Det mobila kundkortet är ett kort som kan laddas ned till mobiltelefonen. Det motsvarar det traditionella kundkortet av plast. I det har kundens namn, kundnummer och kortets giltighetstid

Läs mer

Webbservrar, severskript & webbproduktion

Webbservrar, severskript & webbproduktion Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera

Läs mer

UTVECKLINGSVERKTYG. Praktiska tips för PUM-projekten

UTVECKLINGSVERKTYG. Praktiska tips för PUM-projekten UTVECKLINGSVERKTYG Praktiska tips för PUM-projekten TEKNIKER I PROJEKTEN ios 2 C#.NET 1 Java (inkl Android) 6 Webb (HMTL/JS) 4 En genomskumning av de tilldelade projektförslagen ger ovanstående uppfattning

Läs mer

Mobile First Video on demand och livesändningar på Internet. Juni 2012

Mobile First Video on demand och livesändningar på Internet. Juni 2012 Mobile First Video on demand och livesändningar på Internet Juni 2012 1 Om detta dokument Marknaden och tekniken kring film (video on demand och livesändningar) på Internet utvecklas blixtsnabbt. Video

Läs mer

Testning av applikationer

Testning av applikationer Tentamen, (20 YH-poäng) Plats: Övningstenta Tid: Övningstenta Tillåtna hjälpmedel: Papper, penna, suddgummi, linjal. Ej tillåtna hjälpmedel: Datorer, mobiltelefoner, surfplattor, miniräknare, böcker, anteckningar,

Läs mer

Mobila tjänster för lojalitets system. Mobila tjänster för lojalitetssystem Mobile services for loyalty network

Mobila tjänster för lojalitets system. Mobila tjänster för lojalitetssystem Mobile services for loyalty network Mobila tjänster för lojalitets system Mobila tjänster för lojalitetssystem Mobile services for loyalty network Andreas Björklund EXAMENSARBETE 2012 Datateknik Postadress: Besöksadress: Telefon: Box 1026

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

QR-kodernas intåg för nytta och nöje!

QR-kodernas intåg för nytta och nöje! QR-kodernas intåg för nytta och nöje! Föredrag av Stig Ottosson om smarta "självlänkande" streckkoder som vi kommer att se alltmer av i framtiden. 2012-06-20 Något stort hände 2007 och 2010 2007 introducerades

Läs mer

Säkerställ er tillgänglighet Kommunikationsrapporteringsverktyg

Säkerställ er tillgänglighet Kommunikationsrapporteringsverktyg Säkerställ er tillgänglighet Kommunikationsrapporteringsverktyg Vad är Meridix Studio? Meridix Studio är ett verktyg som låter er analysera och följa upp er kommunikation via ett enkelt men kraftfullt

Läs mer

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning PMM (Process Maturity Metrics) PMM är en metod för att mäta processmognad i utvecklingsprojekt. I korthet går metoden ut på att man utvärderar sin utvecklingsprocess med avseende på ett antal framgångsfaktorer

Läs mer

Daniel Akenine, Teknikchef, Microsoft Sverige

Daniel Akenine, Teknikchef, Microsoft Sverige Daniel Akenine, Teknikchef, Microsoft Sverige Quincy Invånare: 5,300 Arbete: 52% jordbruk 18 % byggsektor 18 % offentlig sektor Språk: Spanska 57% Företaget Inköp Företaget Inköp Installering Lång

Läs mer

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie 2017-03-09 Justering för krav på Windows Server 2012 1.2 Micke 2017-04-07 Vitec Ekonomi från x.60 kräver IIS 8 och websocket.

Läs mer

Snabbstart för Novell Vibe Mobile

Snabbstart för Novell Vibe Mobile Snabbstart för Novell Vibe Mobile Mars 2015 Komma igång Mobil tillgång till Novell Vibe-webbplatsen kan inaktiveras av din Vibe-administratör. Om du inte kan använda Vibemobilgränssnittet enligt beskrivningen

Läs mer

Adobe Flash Professional CS6

Adobe Flash Professional CS6 Adobe Flash Professional CS6 Marketing Copy för Channel Partners Adobe Flash Professional CS6 Följande text kan användas på webbplatser, i kataloger, annonser och annat marknadsföringsmaterial för Flash

Läs mer

Appar eller mobilwebb? Vad är bäst för bibliotekets tjänster?

Appar eller mobilwebb? Vad är bäst för bibliotekets tjänster? Appar eller mobilwebb? Vad är bäst för bibliotekets tjänster? Ahmet Kurt, NSB, juni 2011 Mobiltätheten exploderar bland befolkningen. Mobilen har man alltid tillgänglig, utan lång starttid. Just nu (2011)

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

Så gör Vägledningen 24-timmarswebben dig till en bättre beställare. Funda Denizhan, Statskontoret Kommits 17 november, 2005

Så gör Vägledningen 24-timmarswebben dig till en bättre beställare. Funda Denizhan, Statskontoret Kommits 17 november, 2005 Så gör Vägledningen 24-timmarswebben dig till en bättre beställare Funda Denizhan, Statskontoret Kommits 17 november, 2005 Om IT och webb inte är en teknikfråga vad är det då? Är IT och webb en verksamhetsfråga?

Läs mer

Hej! Min uppdaterade portfolio finns online på www.lindebrand.com. alindebrand@gmail.com +46 70 54 70 052 www.lindebrand.com

Hej! Min uppdaterade portfolio finns online på www.lindebrand.com. alindebrand@gmail.com +46 70 54 70 052 www.lindebrand.com Curriculum Vitae Hej! Jag heter Alexander Lindebrand och jag kallar mig ett kreativt allt-i-allo. Jag jobbar främst med grafisk design, webbdesign och fotografering men jag har erfarenhet i de flesta digitalt

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

Systemkrav WinServ II Edition Release 2 (R2)

Systemkrav WinServ II Edition Release 2 (R2) Systemkrav WinServ II Edition Release 2 (R2) Observera: Alla rekommendationer är aktuella vid den tid då dokumentet publicerades och visar den senaste informationen för nödvändig mjukvara. Systemkrav för

Läs mer

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll En allmän inledning Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Komponenter i Calligra.................................. 5 1.2 Översikt över funktioner i

Läs mer

Qlik Sense Desktop. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Alla rättigheter förbehållna.

Qlik Sense Desktop. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Alla rättigheter förbehållna. Qlik Sense Desktop Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Alla rättigheter förbehållna. Copyright 1993-2015 QlikTech International AB. Alla rättigheter förbehållna. Qlik, QlikTech,

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

Insamlingsverktyg - teknisk beskrivning av metadataformuläret

Insamlingsverktyg - teknisk beskrivning av metadataformuläret Digitala leveranser Insamlingsverktyg - teknisk beskrivning av metadataformuläret Innehåll: Allmänt Layout och uppbyggnad Hur man använder programmet Starta Fylla i metadata Skapa metadatafiler och leverera

Läs mer

ENKEL INTRODUKTIO Du kanske länge har funderat vad alla begrepp som Wifi, surfplatta och app står för, kanske detta dokument kan lösa dina problem.

ENKEL INTRODUKTIO Du kanske länge har funderat vad alla begrepp som Wifi, surfplatta och app står för, kanske detta dokument kan lösa dina problem. ENKEL INTRODUKTIO Du kanske länge har funderat vad alla begrepp som Wifi, surfplatta och app står för, kanske detta dokument kan lösa dina problem. Katarina Eriksson ipad ipad +Äldre=sant Enkel beskrivning

Läs mer

TMP Consulting - tjänster för företag

TMP Consulting - tjänster för företag TMP Consulting - tjänster för företag Adress: http://tmpc.se Kontakta: info@tmpc.se TMP Consulting är ett bolag som utvecklar tekniska lösningar och arbetar med effektivisering och problemslösning i organisationer.

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

Så får du Microsofts Office-paket gratis

Så får du Microsofts Office-paket gratis Så får du Microsofts Office-paket gratis 7 Kör Word, Excel, Powerpoint och Onenote i webbläsaren 7 Dela dina dokument 7 För dator, mobil och platta. Kom igång med Microsoft Skydrive och Office Web Apps

Läs mer

Beställning av certifikat för anslutning till BankID (RP certificate) Version

Beställning av certifikat för anslutning till BankID (RP certificate) Version BankID Sida 1(12) Beställning av certifikat för anslutning till BankID (RP certificate) Version 3.2 2018-10-26 BankID Sida 2(12) Innehållsförteckning 1 Bakgrund... 3 1.1 Versioner... 3 2 FP-certifikat

Läs mer

Welcome. to the world of Jeeves. Copyright 2011 Jeeves Information Systems AB

Welcome. to the world of Jeeves. Copyright 2011 Jeeves Information Systems AB Welcome to the world of Jeeves Copyright 2011 Jeeves Information Systems AB Jeeves APPs & APPs Market Jeeves World 2011 Tomas Enblom, Chief Architect Innovation historiska ögonblick Ca 3500 f kr Ca 2000

Läs mer

Micro Focus Vibe Snabbstart för mobil

Micro Focus Vibe Snabbstart för mobil Micro Focus Vibe Snabbstart för mobil September 2018 Komma igång OBS: Mobil tillgång till en Micro Focus Vibe-webbplats kan inaktiveras av din Vibe-administratör. Om du inte kan använda Vibe via mobilgränssnittet

Läs mer

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved. Administrera din SAS miljö med SAS Metadata Server och SAS Management Console. Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved. SAS Intelligence Value Chain

Läs mer

Slutrapport för Internetfonden

Slutrapport för Internetfonden Slutrapport för Internetfonden Webbprogrammering i matematik och fysikundervisning Mikael Tylmad mikael@roboro.se Fredrik Atmer fredrik.atmer@gmail.com Ella Kai-Larsen e@k-l.se 10 april 2014 http://www.profyma.se/

Läs mer

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

Windows 8.1, hur gör jag?

Windows 8.1, hur gör jag? 2014 Windows 8.1, hur gör jag? Tor Stenberg Piteå Kommun 2014-03-28 1 av 13 Innehåll Hur jobbar jag med Windows 8.1... 2 Logga in... 2 Skrivbordet och programportal... 2 Logga ut och stänga datorn... 3

Läs mer

DevOps i Verkligheten

DevOps i Verkligheten DevOps i Verkligheten Mattias Sköld DevOps coach / Solution Manager 10+ år ALM/DevOps, 20+ år i IT branchen Sogeti har vunnit Microsoft ALM Awards 2009,10,11,12,13,14 @mattiasskold Mattias.skold@Sogeti.com

Läs mer

Metod Rapporten är baserad på egen erfarenhet av marknadsföring on-line samt studier av aktuell forskning, rapporter och webinars.

Metod Rapporten är baserad på egen erfarenhet av marknadsföring on-line samt studier av aktuell forskning, rapporter och webinars. Att välja mellan native- eller webbapp Bakgrund Marknaden för smarta mobiltelefoner ökar kraftigt. Därför ser allt fler företag och organisationer behovet av att göra digitalt innehåll tillgängligt för

Läs mer

Verktyg och Utvecklingsmiljö. Jochim von Hacht

Verktyg och Utvecklingsmiljö. Jochim von Hacht Verktyg och Utvecklingsmiljö Jochim von Hacht Verktyg Modern programutveckling innebär att man måste behärska ett antal verktyg Editorer Kompilatorer Avlusare (debugger) Versionhantering (kommer i projektkurs)

Läs mer

Vad är molnet?... 2. Vad är NAV i molnet?... 3. Vem passar NAV i molnet för?... 4. Fördelar med NAV i molnet... 5. Kom igång snabbt...

Vad är molnet?... 2. Vad är NAV i molnet?... 3. Vem passar NAV i molnet för?... 4. Fördelar med NAV i molnet... 5. Kom igång snabbt... Produktblad för NAV i molnet Innehåll Vad är molnet?... 2 Vad är NAV i molnet?... 3 Vem passar NAV i molnet för?... 4 Fördelar med NAV i molnet... 5 Kom igång snabbt... 5 Bli kostnadseffektiv... 5 Enkelt

Läs mer

Systemkrav för Qlik Sense. Qlik Sense September 2017 Copyright QlikTech International AB. Alla rättigheter förbehållna.

Systemkrav för Qlik Sense. Qlik Sense September 2017 Copyright QlikTech International AB. Alla rättigheter förbehållna. Systemkrav för Qlik Sense Qlik Sense September 2017 Copyright 1993-2017 QlikTech International AB. Alla rättigheter förbehållna. Copyright 1993-2017 QlikTech International AB. Alla rättigheter förbehållna.

Läs mer

Mål. Uppdrag. NuvoAir, Stockholm Oktober 2017 Februari Spotify, Stockholm Februari 2017 September 2017

Mål. Uppdrag. NuvoAir, Stockholm Oktober 2017 Februari Spotify, Stockholm Februari 2017 September 2017 CV Erik Karlsson Timotejgatan 3, 118 59 Stockholm Mob: 073-82 69 669 E-post: erik.karlsson.flash@gmail.com Portfolio: http://erikkarlsson.net Mål Mitt mål är att fortsätta specialisera mig inom apputveckling

Läs mer

FileMaker. Köra FileMaker Pro 10 på Citrix Presentation Server

FileMaker. Köra FileMaker Pro 10 på Citrix Presentation Server FileMaker Köra FileMaker Pro 10 på Citrix Presentation Server 2004 2009, FileMaker, Inc. Med ensamrätt. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Kalifornien 95054, USA FileMaker, filmappslogotypen,

Läs mer

Testautomation av sammansatta och mobila applikationer. Magnus Nilsson Lemontree

Testautomation av sammansatta och mobila applikationer. Magnus Nilsson Lemontree Testautomation av sammansatta och mobila applikationer Magnus Nilsson Lemontree Agenda Kravställning och rapportering Hur hanterar man manuella tester tillsammans med automatiska tester Genomgång av lösningar

Läs mer

Adobe Fireworks CS6. Följande text kan användas på webbplatser, i kataloger, annonser och annat marknadsföringsmaterial för Adobe Fireworks CS6.

Adobe Fireworks CS6. Följande text kan användas på webbplatser, i kataloger, annonser och annat marknadsföringsmaterial för Adobe Fireworks CS6. Adobe Fireworks CS6 Marketing Copy för Channel Partners Adobe Fireworks CS6 Följande text kan användas på webbplatser, i kataloger, annonser och annat marknadsföringsmaterial för Adobe Fireworks CS6. HUR

Läs mer

ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare

ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare PRERELEASE 03/07/2011 Juridisk information Juridisk information Juridisk information finns på http://help.adobe.com/sv_se/legalnotices/index.html. iii

Läs mer

Beställning av Förlitandepart-certifikat Version

Beställning av Förlitandepart-certifikat Version BankID Sida 1(13) Beställning av Förlitandepart-certifikat Version 3.0 2016-11-16 BankID Sida 2(13) Innehållsförteckning 1 Bakgrund... 3 1.1 Versioner... 3 2 FP-certifikat för test... 3 3 Systemkrav för

Läs mer

Gör en modern släktbok för CD eller webben

Gör en modern släktbok för CD eller webben Gör en modern släktbok för CD eller webben 21 Den traditionella släktboken består av ett antal tabeller och i bästa fall en grafisk stam- eller antavla, och man kan med ett register eller hänvisningar

Läs mer

Datatal Flexi Presentity

Datatal Flexi Presentity Datatal Flexi Presentity En snabbguide för Presentity Innehållsförteckning 1. Login 2 2. Hänvisa 3 2.1 Att sätta hänvisningar 3 2.2 Snabbknappar 4 2.3 Windows gadget 5 3. Samtal 5 4. Status 6 4.1 Exempel

Läs mer

Taxi boknings system, inpassering och medlemshanterings system, betallösningar, realtidssystem, App utveckling

Taxi boknings system, inpassering och medlemshanterings system, betallösningar, realtidssystem, App utveckling Magnus Moberg Är en strukturerad och noggrann systemutvecklare/arkitekt som tycker om nya utmaningar. Har 17 års erfarenhet av systemutveckling, produktframställning, design och arkitekt. Har jobbat med

Läs mer

Skapa epublikationer för Webben & Mobila Enheter

Skapa epublikationer för Webben & Mobila Enheter emag PRODUKTION Skapa epublikationer för Webben & Mobila Enheter Med emag kan du omvandla statiska PDF-dokument till interaktiva on-linepublikationer för vanliga webbläsare och mobila enheter, och detta

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

Office 365. www.koneo.se. Du har tillgång till Office överallt. Verktyg för professionella. Verktyg för samarbete. Enkel installation och hantering

Office 365. www.koneo.se. Du har tillgång till Office överallt. Verktyg för professionella. Verktyg för samarbete. Enkel installation och hantering 1 (5) Office 365 Du har tillgång till Office överallt Oavsett om du arbetar på ditt kontor eller är ute på uppdrag, har du tillgång till en uppsättning välbekanta, professionella produktivitetsverktyg.

Läs mer

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

GYMKEEPER ANDREAS SÖDERSTRÖM

GYMKEEPER ANDREAS SÖDERSTRÖM GYMKEEPER ANDREAS SÖDERSTRÖM 20120529 ABSTRAKT En post mortem på mitt ios-projekt. Utmaningen låg i att under 10 veckors tid sätta sig in i en plattform och programspråk jag aldrig använt förut. Jag har

Läs mer

Introduktion Office 365

Introduktion Office 365 Denna lathund ger dig en allmän introduktion till Office 365 för att få förståelse för tjänsten. Innehållet uppdateras löpande. I slutet av lathunden finner du övningar för att komma igång. Praktiska övningar

Läs mer