Självständigt arbete på grundnivå

Relevanta dokument
Checklista som kan anva ndas för att komma igång med DigiExam och allma nna rekommendationer fo r att lyckas med provtillfa llet.

Stockholm Till de organisationer som undertecknat beslutet om samverkan

Frågor att fundera på i ditt hållbarhetsarbete

Junior- och ungdomsta vlingar

Integritetspolicy. Org nr: Ventus Norden Växel: Integritetspolicy Sverige

Trygghetsplan för Ekeby förskola

Hur gör man en bra upphandling av IT-drift? OutsourcingGuiden

INSIGHTLAB: KOMPETENSKORT EXECUTIVE SUMMARY Gör dina val medvetet

MANUAL- PROJEKTVERTYG

Föreningens bästa vän

INSTRUKTIONSTEXT FO R PLEXTALK Linio Pocket - Na tverksmapp -

INSTRUKTIONSTEXT FO R PLEXTALK Linio Pocket - Mottagare fo r poddradio -

tala är silver dela är guld

MANUAL- PRODUCENT/LEVERANTÖR

Innovationsupphandling

KARTLÄGGNING. 1.2 Finns det en integrationsstrategi i ert arbete mot denna ma lgrupp?

Föreningens bästa vän

Nr 1 Våren Foto: Håkan Nilsson

Trivselregler Brf Ronnebyga rden

Trygghetsplan för Hällabrottets förskola

Lathund Nationella Prov

ETE115 Ellära och elektronik, vt 2016 Laboration 1

La ttla st sammanfattning

ATTRIBUTION ATTRIBUERING AV DIGITALA KANALER ATT S1

Bebyggelse. Översiktsplan Kumla kommun 2040

Trygghetsplan för Borgens förskola. Likabehandlingsplan och plan mot diskriminering och kränkande behandling för

Hantera remissvar i Public 360

Åtgärder för att motverka ett value gap. En ny syn på mellanhänders rättsliga ställning? Daniel Westman

Bosgårdsskolans IKT-plan Lust, lärande och framtidstro 2013

FRAMTIDEN A R REDAN HA R

Skapa remissvar till regeringen, skicka för godkännande, godkänna, diarieföra och skicka svar

Nr 1 Va ren Almö. Foto: Håkan Nilsson

KARTLÄGGNING. 1.1 Finns kartla ggning, statistik om nyanla nda akademiker inom ramen fo r etableringsreformen? Hur ma nga stannar i regionen?

SeniorNet Södermalm. Va ra kunskaper om o vervakning och integritet. Va ra surfvanor, vad händer när vi är ute på Internet

Skapa rapport till regeringen, skicka för godkännande, godkänna, diarieföra och skicka rapport

Syftet med rutinen. Ansvarsfördelning. Flödesschema rutin för revisionshantering

Årsredovisning Att skriva i årsredovisningen... 3 Riktlinjer för språket... 4 Ordning och reda... 4 Tidsplan... 5

Trygghetsplan för Blåhusets förskola

Regionernas Europa och vad händer i regionfrågan i Norden? Kent Johansson

Trygghetsplan för Solhagas förskola

DIA S1. IAB Sverige Certifiering av Onlinesäljare Digital Audio

GRI-Index fo r Clas Ohlsons ha llbarhetsrapport 2015/16

VA GBESKRIVNING PARKERING

Trygghetsplan för Matildelunds förskola

Denna text ga ller fo r dig som a r skribent fo r a rsredovisningen 2017.

Grunduppgifter, Verksamhetsformer som omfattas av planen: Fo rskoleverksamhet. Ansvariga fo r planen: Samtliga pedagoger pa Jo rlanda fo rskola

Trygghetsplan för Solgläntans förskola. Likabehandlingsplan och plan mot diskriminering och kränkande behandling för

8.1 Internrevisionens arbetsordning 2019

Tillväxtverkets interna regler (2017:6) om bevarande av elektroniska handlingar

Datum Kursens bena mning: Fortsa ttningskurs i ledarskap under pa frestande fo rha llanden

Va xjö Islamiska Skolas plan mot diskriminering och kra nkande behandling för skola och fritidshem

Quadrocopter Bygguide. Carl Westman December 29, 2015

Integritets Policy -GDPR

Obstruktiv sömnapné. Obstruktiv So mnapne. Tillho r du. riskgruppen?

Besvara frågorna genom att sätta ett kryss i lämplig ruta. Kom ihåg att det alltid frågas efter, vad Du anser eller hur Du brukar göra!

Handlingsplan mot mobbning

Medier och kommunikation Media and Communication

KALLELSE TILL ÅRSSTÄMMA

LATHUND FÖR GENOMFÖRANDE AV. Final i Snabbpistol på papperstavlor

VÄGBESKRIVNING: Från Örebro: Fra n E18 sva nger du av Kolba ck va stra, va g 252. Efter 8 km kommer. Markanplan.

Plan mot diskriminering och kränkande behandling Smedjebackens förskola 2014

Tekniken i Pedago lön

Bildmosaik. Bilddatabaser, TNM025. Anna Flisberg Linne a Mellblom. linme882. Linko pings Universitet

Varmt välkommen till KONVENT oktober. Lajv, rollspel och workshops. med. Svenska Kyrkans Unga Söderköping Gröna Draken

Integritetspolicy Svenska SfL

Europeiska unionen och Europavalet 2014

VERKSAMHETSBERÄTTELSE Verksamhetsbera ttelse fö r GF Kröppskultur mellan öch

Fly me to the moon. Laboration om relationer, TDDC75 Diskreta strukturer. Mikael Asplund. 5 september 2017

Instruktion fo r genomga ng av barnets sja lvva rdering

Vilka roller och funktioner a r viktiga fo r er?

Arbetsordning för Tillväxtverket

En mobil strategi fö r PLM-anvä ndare

Kvalitetssa kring av MS-va rden i Sverige

Frågeförslag till ett Planeringssamtal

3. Behandling av personuppgifter Företagens hantering av personuppgifter beskrivs nedan baserat pa din relation till företagen.

Samhälleliga mål med upphandling som medel

Starta bolag i Estland Bolestia Group OÜ

Fo rskolan har tillsammans med skola och fritids tillga ng till en fin gymnastiksal. En ga ng i ma naden kommer Bokbussen till skola och fo rskola.

Hybridappar. Utveckla mobilappar i HTML, Javascript och CSS

Likabehandlingsplan Lunnekullens förskola

Kapitel 4 Inst llning av regulatorer I detta avsnitt skall vi i korthet betrakta problemet att st lla in regulatorer s att den slutna kretsen f r nska

Digital agenda för Kalmarsunds gymnasieförbund

Grunduppgifter. Hallerna Skolas plan mot diskriminering och kra nkande behandling

Ordföranden har ordet

Tema: Digitalisering - Underlag till ERUF 2020+

Guiden har sammansta llts inom utvecklingsprojektet Fo retagsam i Fo rening 2014 (uppdaterad 2016) FÖRENINGSBESKATTNING MOMSREGISTRERING

Finansiering, subvention och prissättning av läkemedel

Fysikteknologsektionen

Förvaltningsberättelse för Ålands gymnasium 2017

Tekniken i Pedago lön

EGENVÅRDSMARKNADEN 2015

GRI-Index fo r Clas Ohlsons årsredovisningen 2016/2017

Sammanfattning delegeringsförteckningen

Problematiska gemensamhetsanläggningar mm mm

WEBBPLAN UTBILDNING ÅTGÄRD TID/DEADLINE ANSVAR DEL AV WEBB- PLATSEN. 1 ga ng/termin Viceprefekt fö r utbildning. i Utbildningsgruppen.

EKEBYSKOLAN SALA: HO#STTERMINEN NR:1. att man kanske inte anva nder som kan inga. hemsidan i det syftet. Ska man skicka mail och skriva allt i

Strategisk logistik. Aktuell vã ren -17 KURSPRESENTATION. Kursplan: Â Antagen av ledningsgruppen. Kursens namn: Strategisk logistik.

Natur och grönstruktur. Översiktsplan Kumla kommun 2040

ANTAL OMKOMNA TILL FÖLJD AV DRUNKNING UNDER 2016

BOKSLUTSKOMMUNIKÉ 1 JANUARI 31 DECEMBER 2013

Transkript:

Självständigt arbete på grundnivå Independent degree project - first cycle Datateknik Computer Engineering SCA Logistics Informationsapplikation Patrik ytterström

InfoApp MITTUNIVERSITETET Avdelningen för informations- och kommunikationssystem (IKS) Examinator: Mikael Hasselmalm, mikael.hasselmalm@miun.se Handledare: Tommy Lundemo, tommy.lundemo@easit.com Författare: Patrik Ytterström, payt1400@student.miun.se Utbildningsprogram: Mobila applikationer och nätverkstjänster för Android, 120 hp Huvudområde: Datateknik Termin, år: VT, 2017 ii

InfoApp Sammanfattning Det ha r examensarbetet a r en uppdatering utav SCA logistics befintliga mobil applikation. Arbetet a r gjort hos IT- fo retaget Easit ab som fo rvaltar SCA' logistics system. Applikationen anva nds fo r att spa ra fo retagets ba tar pa en karta och inneha ller kontaktuppgifter till ansta llda. Arbetet fo r det ha r projektet kommer att beskrivas fra n grunden om hur det a r att med fria ha nder kunna va lja det ramverk som passar ba st. Med dom krav som fo retaget har sta llt pa att applikationen ska inneha lla sa kommer flera ramverk att underso kas. Fo r att komma fram till vilket ramverk som ska anva ndas sa har tva prototyper gjorts som anva ndare provko rt och da refter svarat pa en underso kning. Utvecklingen av applikationen kommer att go ras med det ba st la mpade ramverket. Designen kommer att vara genuin sa att anva ndarna ma rker skillnad mellan dom olika plattformarna. Applikationen kommer kunna byggas pa med mer funktioner och uppdateras utan att man beho ver ladda upp till app store och google play. Nyckelord: Cordova, Angular, Ionic, IOS, Android. iii

InfoApp Abstract This exam work is a upgrade of a current mobile application for SCA logistics. The work has been done at the IT company Easit ab that manages SCA logistics systems. The application is used for tracking of the company's boats on a map and contains contact information about employees. The work for this application will be described from the basis and how it is with free hands to be able to choose the framework that best suits the requirements that the company intended for the application to contain. In order to find out which framework that's going to be used, two different prototypes have been made that users have been testing and answer a questionnaire. The development of the application will be done with the best-suited framework. The design will be genuine so that users notice the difference between the different platforms. The application will be built with more features and updated without the need to upload to app store and google play. Keywords: Cordova, Angular, Ionic, IOS, Android. iv

InfoApp Innehållsförteckning Sammanfattning Abstract 1Inledning... 1 1.1Bakgrund... 1 1.2Problemmotivering... 1 1.3O vergripande syfte... 1 1.4Avgra nsningar... 1 1.5Konkreta och verifierbara ma l... 2 2Teori... 3 2.1Mobila webbapplikationer... 3 2.1.1Cross platform... 3 2.1.2Ramverk... 3 2.1.3Utgivning... 4 2.2Underso kningar... 4 3Metod... 5 3.1Underso kning av ramverk... 5 3.2Utveckling prototyper... 5 3.2.1Testko rning... 5 3.2.2Val av ramverk... 5 3.3Produktion... 5 3.3.1Utvecklingsverktyg... 5 3.3.2Utvecklingsmo ten... 6 3.4Utgivning... 6 3.4.1Android... 6 3.4.2 Apple... 6 4Konstruktion... 7 4.1App Component... 8 4.2Pages... 8 4.3Providers... 9 4.4Modals... 9 4.5Design principer... 9 5Resultat... 10 5.1Underso kning av ramverk... 10 5.2Val av ramverk... 10 5.3Presentation till fo retaget... 11 5.4 Etik... 11 5.5Resultat applikation... 11 5.5.1Navigering... 11 5.5.2 Sidor... 12 5.5.3Kontaktsida... 13 5.5.4Kartsida... 15 5.5.5Tja nster... 16 5.5.6Nyheter... 17 v iii iv

InfoApp 5.5.7Informationssida... 19 5.5.8Insta llningar... 20 5.5.9Uppdateringar... 21 5.5.10Spra k... 21 6Slutsatser... 22 6.1Underso kningar... 22 6.2Val av ramverk... 22 6.3Reflektioner o ver resultatet... 22 6.4Vidareutveckling... 22 6.5Egna reflektioner... 23 Källförteckning 24 Bilaga A: Undersökning resultat... 26 Resultat... 28 Bilaga B: Undersökning ramverk... 32 Resultat... 33 vi

1 Inledning Kapitel 1 ga r igenom bakgrunden till arbetet och information om fo retaget det ska go ras a t. En genomga ng utav dom krav som har sta llts pa applikationen och hur det ska lo sas. 1.1 Bakgrund Det ha r projektet a r en applikation skra ddarsydd till SCA logistics som bedriver frakt av varor o ver hela va rlden. Deras befintliga applikation a r va ldigt fo ra ldrad och fo retaget vill ha en uppdatering med na gra specifika krav. Applikationen ska sto djas pa ba de Ios och Android och med en gemensam kod bas ska man kunna uppdatera applikationen utan att beho va go ra en ny uppladdning till app store eller google play. 1.2 Problemmotivering Allt handlar om information och a r du ett fo retag som vill konkurrera i en tid som denna sa kommer fo renkling och anpassning av denna att vara ett ma ste. Att kunna marknadsfo ra sig handlar inte bara om att synas inom det omra de man utfo r tja nster inom utan det ga ller att sprida sig till andra plattformar och bli ett namn som sa tter sig pa tungan. SCA a r ett historiskt fo retag i Sverige och ett av dom sto rsta inom sitt omra de i Europa. Fo r att bibeha lla sin kraft sa a r givetvis en utbyggnad till den mobila marknaden ett ma ste dels genom att visa att man finns och ha nger med i tiden men a ven att man ta nker pa framtiden och vill skapa mer tekniska lo sningar pa sina problem. En stor del av projektet a r enbart efterforskning om vilken utvecklingsmetod som bo r lika till grund fo r att skapa applikationen. Fo r att skapa applikationen sa a r en av lo sningarna att samma kod anva nds till flera plattformar, det a r en va ldigt vanlig metod att arbeta med idag na r det ga ller mindre grafiskt tunga applikationer. 1.3 Övergripande syfte Det ha r examensarbetets ma l a r hur man kan fo renkla applikationsutveckling genom att anva nda gemensamma kod baser fo r dom plattformar man ska programmera till. Syftet med projektet a r att skapa en fa rdig applikation som genom underso kningar och tester fo ljer fo retagets alla krav. 1.4 Avgränsningar Applikation a r skapat a t enheter med operativsystemet Android OS och IOS. Arbetet kommer att vara en fo rsta version i en sto rre utveckling och inneha llet kommer att vara begra nsat till att ersa tta den befintliga 1

applikationen. Applikationen kommer att vara anpassad fo r vidareutveckling med mer funktionella metoder. 1.5 Konkreta och verifierbara mål Projektets ma l a r att skapa en fa rdig applikation som fo ljer fo retagets ba ttransporter pa en karta. Anva ndaren ska visuellt pa en karta kunna fo lja transporterna och fa senaste uppdateringarna om positioner. Dom senaste nyheterna fra n fo retaget ska visas ihop med bo rsnoteringar av fo retaget. Kontaktuppgifter till fo retagets ledning ska kunna sparas ner eller anva ndas direkt fra n mobilen. Ma l: Val av la mpligt ramverk fo r utveckling. Gemensam kod bas fo r olika plattformar. Snabb fo rvaltning och fo ra ndring av inneha ll. Hantera kontakter Lokalisera ba tar i realtid Visa nyheter Ersa tta den befintliga applikationen pa ett smidigt sa tt sa att anva ndarna blir notifierade. 2

2 Teori Kapitel 2 ga r igenom vilken teknik som examensarbetet a r grundat pa och fo rklaringar till hur dom fungerar. 2.1 Mobila webbapplikationer Na r man utvecklar mobila applikationer sa finns det i stort tre val man kan go ra fo r att fa fram en fa rdig produkt. Native - Man kodar i det spra k som operativsystemet a r gjort i. Om det a r viktigt med bra prestanda sa a r native utveckling att fo redra. Hybrid applikation - En applikation som ko rs inba ddad i en native webbla sare. Webb applikation - A r en webbsida som a r speciellt anpassad fo r mobiler och a r oftast skriven med HTML5. 2.1.1 Cross platform I dagens la ge finns tva olika stora mobila plattformar i Android och IOS som har 99.6 % av marknaden [1]. Ska man utveckla na got mobilt sa a r det en stor fo rdel att anva nda cross platform som betyder att koden i applikationen kan ko ras pa tva helt olika operativsystem. Det som go r att utvecklingen ga r mer a t det ha llet a r att fo retagen vill med la ga utvecklingskostnader na sa ma nga anva ndare som mo jligt. En applikation som a r gjord cross platform kommer att halvera utvecklingstiden och programutvecklarna beho ver inte ha kunskaper om tva helt olika programspra k. 2.1.2 Ramverk Na r man arbetar med programmering sa anva nder man sig utav ramverk [2], da r finns fa rdiga funktioner som na gon annan redan skapat. Fo rdelen med att anva nda sig utav dessa hja lpverktyg a r att utvecklingstiden kommer ga mycket snabbare. Dom ramverk som underso kts fo r det ha r projektet a r: Jasonette som omvandlar JavaScript Object Notation (JSON) till native komponenter. Ionic som a r byggt ovanpa AngularJS och anva nder sig utav HTML5, Typescript och css. React native anva nder sig utav JavaScript fo r att skriva native applikationer. 3

Phonegap anva nder sig utav Cordova och skrivs med HTML5, CSS och JavaScript. Xamarin a r ett verktyg fra n Microsoft som utvecklar native applikationer i C-sharp da r kod kan delas mellan olika plattformar. 2.1.3 Utgivning Na r en produkt a r fa rdig sa har man valet mellan att individuellt anva nda den eller sa kan den go ras publik fo r anva ndare att ladda ner. Fo r att distribuera en applikation sa a r det helt olika processer beroende pa vilken plattform man riktat in sig pa. Produceras man en IOS applikation sa anva nder sig man utav Apples developer program[3] om det a r till Android sa ga r man genom Google Play Developer account[4] 2.2 Undersökningar En stor del av projektet handlar om att ta fram ra tt verktyg fo r att skapa en applikation. En underso kning kan go ras pa flera sa tt: Datainsamling, a r ett systematiskt tillva gaga ngssa tt att samla in och ma ta information fra n flera olika ka llor fo r att fa en korrekt bild av ett omra de. Underso kning, a r en metod som samlar information fra n individer da r samma fra ga sta lls och alla svaren analyseras[5]. 4

3 Metod Kapitel 3 kommer att beskriva dom verktyg som har anva nds fo r att lo sa dom konkreta och verifierbara ma len. 3.1 Undersökning av ramverk Ma nga av dom ja mfo relser som kommer att go ras a r statistik fra n Github. Det a r en tja nst da r man kan dela med sig utav sin kod samt la ta andra bygga vidare pa den [6]. Fo r att komma fram till vilket ramverk som ska anva ndas till prototyperna sa kommer en 10 stegs lista [7] med kriterier att fo ljas. Dom kriterier som kan ja mfo ras med data kommer att presenteras med hja lp utav grafer. 3.2 Utveckling prototyper Na r den fo rsta underso kningen a r gjord sa kommer det skapas prototyper utav dom tva valda ramverken. Prototyperna kommer att anva nda sig utav dom olika metoder som den slutgiltiga applikationen kommer att anva nda sig utav. Dom gemensamma funktionerna kommer att vara Google maps, hantera kontakter, ha mta data fra n api, och ett va ldigt enkelt tema med tabbar till navigering. 3.2.1 Testkörning Efter att prototyperna a r utvecklade sa kommer dom testas och ja mfo ras. Det fo rsta som go rs a r att la ta va nner och kollegor provko ra ba da prototyperna och da refter svara pa en underso kning gjord i Google forms. 3.2.2 Val av ramverk Na r testko rning a r gjord och all data insamlad sa kommer alla fo r och nackdelar att sta llas emot varandra. Efter att analysen a r gjord sa kommer en utvecklingen utav applikationen att pa bo rjas. 3.3 Produktion Fo r att skapa ett effektivt arbete sa ga ller det a ven att go ra la mpliga val pa vilka verktyg och metoder man ska anva nda sig utav och na r va l arbetets produktionsfas har kommit iga ng. 3.3.1 Utvecklingsverktyg Den arbetsmiljo som kommer att anva ndas under projektets ga ng a r Visual studio code [8] och det a r ett IDE (Integrated development environment) som anva nds fo r att arbeta med programutveckling. Det som gjort att valet fallit pa detta verktyg a r deras effiktiva intellisense [9] som go r att arbetet kommer flyta pa la ttare och ono diga buggar kommer snabbt kunna uppta ckas. 5

3.3.2 Utvecklingsmöten Under arbetets ga ng kommer det att ha llas ett flertal powerpoint presentationer info r it-ansvariga pa SCA samt den grupp inom Easit jag arbetar med. Da r kommer det informeras vilken teknik jag arbetar med, vilka potentiella mo jligheter som finns samt demonstration av hur arbetet ligger i till i tidsschemat. Det kommer att ha llas tva mo ten med SCA logistics med anledning utav applikationen, ett mo te i samband vid uppstart av utvecklingen och ett i slutet av produktionsfasen. Pa dessa mo ten kommer det komma fra gor pa hur applikationen kommer implementeras och a ven riktlinjer pa hur den grafiska delen av applikationen ska konstrueras. 3.4 Utgivning Ha r kommer applikationen vara fa rdigsta lld och ha alla dom funktioner och specifikationer som a r satta i ma len. Appen kommer vara i en fo rsta version och kommer att vara nedslipad fo r att inte inneha lla na got som ligger pa gra nsen till att vara va rt att inkludera. Allt som finns med ska fylla sin funktion och inte bara vara na gon sorts utfyllnad. Dom gamla apparna som ligger i respektive plattforms app store ska bytas ut 3.4.1 Android I Android kan man anva nda sig utav den gamla appens signatur nycklar och pa det sa ttet kommer anva ndarna som har appen nerladdad att fa information om att det finns en ny version att ladda ner. 3.4.2 Apple Fo r att kunna go ra en sla pp till ios sa kommer allt det arbetet att go ras pa en mac eftersom det inte sto ds pa en Windows dator. 6

4 Konstruktion Kapitel 4 kommer att ga igenom hur Ionic applikationen a r uppbyggd hur dom olika delarna fungerar och a r implementerade. En o versikt pa applikationens uppbyggnad visas i figur 1. 4.1 App Component Det a r ha r som applikationen laddas in och alla komponenter binds samman. Ha r kommer all den information som inte kommer beho va 7

uppdateras fra n API att sparas till ionic storage. Det som sparas ner kommer att vara dom bilder som anva nds i applikationen samt kontaktuppgifter. 4.2 Pages Dom sidor som anva ndaren kan navigera sig mellan. Home - Startsidan fo r applikationen. Contacts - Ha r listas alla kontaktpersoner. Map - Karta med positioner pa ba tar och terminaler. Service - Lista med information om ba tar och terminaler. News - Nyheter om fo retaget och marknadsva rden. About - Information om fo retaget. 4.3 Providers All information som ha mtas go rs genom olika providers. Det a r en bakgrundstja nst som ha mtar data i bakgrunden och som dom olika sidorna kan anropa fo r att ha mta data. Dom providers applikationen anva nder sig utav: Data provider - Ha mtar den data som ska sparas ner och a teranva ndas. Location provider 8

- Positionerings information till ba tar som ha mtas varje ga ng kartan laddas. News provider - Nyhetsinformation som ha mtas varje ga ng nyhetssidan startas. 4.4 Modals Modals a r en sida som la gger sig ovanpa en befintlig sida och den anva nds fo r att la nka sig vidare till mer information. I projektet har insta llningsmenyn valts att anva nda sig utav en modal fo r att den ska finnas tillga nglig pa alla sidor sa a r det ett smidigt sa tt att implementera den pa. 4.5 Design principer Den design som anva nds har varit va ldigt plattformsspecifik och det material som utnyttjas fo r att skapa ett sa genuint intryck som mo jligt kommer fra n ba de Androids material design [10] och Apples design principer [11]. Den fo rdelen med att anva nda sig utav Ionic 9

5 Resultat Kapitel 6 ga r igenom resultatet utav av det fa rdiga projektet. Med fokus pa val av ramverk, anva ndartester och en redogo relse av den fa rdiga applikationen. 5.1 Undersökning av ramverk En grundlig efterforskning presenteras i Bilaga B och efter en analys utav den informationen sa kan man komma fram till fo ljande: Xamarin a r det ramverk som funktionellt sa tt a r mest la mpad till att anva nda fo r att skapa mobila applikationer. Problemet a r att inla rningskurvan a r ha rd och och klarar inte ma len med uppdateringar utan App store och Google play. React native a r det popula raste ramverket att anva nda fo r tillfa llet och det fallerar pa alla uppdateringar som sla pps som go r att felso kningar kommer uppta stor del utav utvecklingstiden. Phonegap, a r ett ramverk fo r framtiden och alla dom satta konkreta ma len som var satta skulle kunnat lo sas med hja lp utav phonegap. Jasonette, a r ett speciellt ramverk och ett smart sa tt att jobba pa. Valet att anva nda det till att bygga en prototyp var fo r att mo jligheten till fo ra ndringar skulle kunna genomfo ras utan programmeringsbakgrund. Ionic 2, var det ramverk som var ba st la mpad fo r uppgiften. Va ldigt stort genomslag pa so kningar. 5.2 Val av ramverk Na r analysen av prototyperna som presenteras i Bilaga A gjorts sa a gnades det va ldigt mycket tid a t till att analysera vilket ramverk som skulle passa ba st fo r arbetet som skulle go ras. Jasonette var sa pass nytt men a nda ett va ldigt intressant uppla gg. Det som gjorde att valet fo ll pa Ionic var att dom hade hela alla verktyg som beho vdes fo r att lo sa dom satta ma len. Eftersom det var ett va ldigt omfattande arbete att analysera ramverken sa fick vissa funktioner som skulle implementeras i applikationen sta tillbaka i den fo rsta versionen. Eftersom valet var sa noga analyserat sa kommer allt som ska byggas pa i framtiden att ga va ldigt smidigt. Den viktigaste delen av valet var ju just hur ska applikationen uppdateras och na r just Ionic hade sin egna deploy sa gjorde det saken mycket enklare. En stor fo rdel var att testko rning av appen kunde ko ras hela tiden av inbjudna anva ndare under projektets ga ng. Eftersom appen paketeras pa na tet sa kan man anva nda sig utav Ionics egna view app fo r att se andra delade applikationer genom deras webbla sare. 10

5.3 Presentation till företaget Under arbetets ga ng sa har det gjorts flera presentationer till fo retaget om hur arbetet ga r och visning av applikationen i realtid. Da r skulle det kunnat vara mer krav pa det visuella fra n fo retagets sida om hur dom vill att applikationens tema skulle varit, vilka fa rger och bilder som skulle anva ndas. Na r valen a r va ldigt fria sa blir det mycket sva rare att veta vilken va g designma ssigt man ska ga, fo r design a r sa individuellt och na r arbetet ska go ras a t na gon annan sa blir det visuella na stan viktigare a n funktionerna. 5.4 Etik Den information som ha mtas kommet ifra n ett o ppet api och all information som ga ller kartor och nyheter ha mtas varje ga ng applikationen startas. Kontaktuppgifter med bilder sparas lokalt pa telefonen och all den informationen a r sa dant som a r o ppen och tillga nglig fo r allma nheten. Dom beho righeter som anva nds i applikationen a r na r anva ndaren vill spara en kontaktuppgift, ringa ett samtal eller o ppna email klienten. Inga av dom beho righeter anva nds utan anva ndarens ka nnedom, na r en beho righet anva nds fo r fo rsta ga ngen sa fa r man valet om man vill bekra fta eller avbo ja tilla telsen. 5.5 Resultat applikation En beskrivning utav den fa rdiga applikationen med hja lp utav bilder. 5.5.1 Navigering Fo r att fa minimalt med knapptryck fo r anva ndaren att komma till den information som efterso ks sa har det implementerats tabbar fo r att navigera mellan sidorna. Ista llet fo r att anva nda sig utav flera knappval pa varje sida sa har dom sidor som har flera val som nyhetssidan anva nt sig utav segments som ger den sidan en egen uppdelning som man kan skifta emellan. 11

Figur 2,: Tabbar och segments 5.5.2 Sidor Applikationen a r uppbyggd utav sidor och varje fra n varje sida finns en insta llningsmodal att o ppna.efter att applikation har laddats in sa kommer man till en va lkomstsida figur 3 som visar en bild pa ett fartyg och ett citat fra n Scas hemsida. Pa nedre delen av ska rmen sa visas rubriken till den senaste nyheten fra n Sca och klickar man pa den sa tas man vidare till nyhetssidans ka lla. 12

Figur 3: Startsida 5.5.3 Kontaktsida Pa kontaktsidan figur 4 sa finns alla kontakter listade i sina respektive grupper. 13

Figur 4: Kontaktsida 5.5.4 Kartsida Na r man o ppnar kartla get sa visas alla positioner pa terminaler och ba tar med hja lp utav olika ikoner figur 5. Ikonen som anva nds till ba tarna a r ocksa vridbara sa dom pekar a t det ha ll som kursen visar att dom a r pa va g 14

emot. Na r anva ndaren trycker pa ett objekt sa kommer det upp en informationsruta som visar den senaste datan. Figur 5: Kartsida med ikoner och informationsruta 5.5.5 Tjänster Dom olika tja nsterna a r uppdatera i tva delar en med ba tarna da r det finns valet att lokalisera ba ten och fa mer information om ba ten. Om valet lokalisera ba ten gjorts sa o ppnas kartan i en modal och da r ba tens nuvarande position visas inzoomad pa kartan. Om anva ndaren va ljer att fa 15

mer information om ba ten sa o ppnas en modal med all tillga nglig information om ba ten. Figur 6: Lista med båtar och fakta 16

5.5.6 Nyheter Nyhetssidan a r uppdelad i tva delar en nyhetsdel da r alla nyhet fra n SCA logistics finns i en lista och na r man trycker pa nyheten fa r man upp en modal som visar mer detaljer o ver den valda nyheten figur 7. Figur 7: Nyhetslista med modal I den andra delen av nyhetssidan sa visas information figur 8 om hur marknads priserna ligger till fo r olika tja nster. Den senaste bo rsnoteringen fo r SCA samt dollar och euro kursen visas som ett chipp med en klickbar la nk till full historik fo r informationen. 17

Figur 8: Marknadssida 18

5.5.7 Informationssida Pa informationssidan figur 9 sa presenteras fakta om fo retaget och vilka visioner dom har fo r framtiden. A ven vilka va rderingar och och miljo arbete presenteras. Figur 9: Informationssida 19

5.5.8 Inställningar Fo r att navigera till insta llningsmenyn sa finns det en ikon i verktygsfa ltet pa varje sida figur 10 som o ppnar upp en modal som visar insta llningsmenyn. Figur 10: Navigering till inställningar 20

5.5.9 Uppdateringar Fo r att kontrollera om det finns na gra uppdateringar till applikationen sa finns anva nder man sig utav uppdateringsknappen figur 11 som ansluter till ionic och ser om det finns en nyare version. Ifall det finns en nyare version sa fa r anva ndaren upp en dialogruta som anva ndaren ma ste acceptera om applikationen ska uppdateras. Figur 11: Uppdateringar 5.5.10 Språk Fo r att byta spra k trycker man pa spra k och da fa r man upp en informationsruta med dom spra kval som finns. Efter att spra kval genomfo rts sa a ndras alla applikations relaterade knappar till det valda spra ket. 21

6 Slutsatser Kapitel 7 kommer att ga igenom dom slutsatser som dragits av underso kningar, val av ramverk och resultat. Vilka vidareutvecklingar kan go ras och egna reflektioner o ver arbetet. 6.1 Undersökningar Na r dom underso kningar som gjordes sa var kunskapen om hur man skulle arbeta fo r att utveckla en cross platform applikationen va ldigt liten. Den underso kning som gjordes med hja lp utav google forms var va ldigt smidig och det a r na got som ger utvecklaren en ka nnedom om hur arbetet ska riktas in. Den datainsamling som gjordes kunde gjorts pa flera sa tt men att slumpma ssigt va lja ut olika personer tyckte jag gav en ra ttvis bild o ver framtida anva ndarna. Valet att rikta in sig pa dom tva stora akto rerna Github och Stack overflow fo r att sen ma ta populariteten gjorde att analysen blev va ldigt tydlig o ver hur framtiden kommer att se ut. 6.2 Val av ramverk Hade projektet pa ga tt under la ngre tid sa hade nog valet av ramverk blivit na got som utvecklat native kod ista llet. Xamarin och React var na got som tittades va ldigt noga pa. Kunskaperna fo r att jobba i dom miljo erna hade kra vt en la ngre period av inla rning av dom respektive spra ken dom anva nder sig utav. Den stora fo rdelen med att arbeta med Ionic var alla verktyg man hade till hands. Det gick att dela applikationen sa att anva ndare kunde ge a terkopplingar na r som helst och a ven skicka med bilder fra n delar som kunde fo rba ttras. Att Ionic a ven hade ett va ldigt effektivt uppla gg da r man delar upp hur designen ska se ut gjorde att det sva ra arbetet med design fortskred utan na gra sto rre problem. 6.3 Reflektioner över resultatet Resultatet av projektet blev en va l fungerande cross platform applikation som kan ko ras pa flera operativsystem. Dom konkreta ma len som sattes kunde inte uppfyllas pa alla sa tt. Ma let att applikationen skulle publiceras kunde inte genomfo ras pga att beslut fra n fo retaget kom sa sent i tidsplanen. Det GANTT schema som skrevs innan arbetet startades och finns i Bilaga C kunde fo ljas till punkt och pricka. 6.4 Vidareutveckling Ifall den ha r applikationen kommer vidareutvecklas sa a r det flera funktioner som skulle kunna byggas pa och fo rba ttras. Data som anva nds fo r att visa information fra n fo retaget a r statisk och det skulle kunna skapas ett bibliotek fo r att uppdatera dessa. Push notifications som ger anva ndaren mer information a ven na r applikationen inte ko rs. Den stora delen som fo retaget har visat intresse till att utveckla a r en funktion da r man ska kunna go ra bokningar utav transporter direkt i applikationen. Det a r na got som a r va ldigt vanligt hos andra liknande transportfo retag. 22

6.5 Egna reflektioner Det har varit va ldigt la rorikt att fa en inblick i hur det a r att fa vara med och arbeta med ett riktigt projekt. En applikation som kommer att vara en representation fo r ett stort fo retag. Det har varit sa mycket annat a n att sitta och koda, sto rsta delen har varit att go ra underso kningar och la sa pa om respektive omra de. Arbetet fortlo pte va ldigt smidigt och det var inga hinder pa va gen som gjorde att utvecklingsprocessen stod stilla. Eftersom Ionic var ett nytt ramverk att arbeta med sa gjordes givetvis en hel del nybo rjarmisstag som aldrig skulle gjorts om man var mer insatt. Visual studio code var en va ldigt effektiv arbetsmiljo ihop med Google chrome. Alla uppdateringar gjordes i real tid och det go r att man sa g vad man gjort och det gav mig som utvecklare en tydligare bild. Jag tror att framtiden kommer att ligga i att man anva nder sig utav liknande ramverk fo r att skapa liknande applikationer. En anva ndare kommer inte se skillnad pa om det a r en native eller hybrid applikation. Hade projektet varit la ngre sa hade det gjorts mer prototyper och ja mfo relser pa prestanda mellan dom olika ramverken. 23

Källförteckning [1] Marknads andelar, https://www.theverge.com/2017/2/16/14634656/android-iosmarket-share-blackberry-2016 Publicerad 2017-02-16. Ha mtad 2017-05-25. [2] Falknet, Information om ramverk, http://falknet.se/vad-ar-ramverk/ Publicerad 2009-01-14. Ha mtad 2017-05-25. [3] Release till Android, Google developer program, https://play.google.com/apps/publish/ Ha mtad 2017-05-25. [4] Release till ios, Apple developer program, https://developer.apple.com/programs/ Ha mtad 2017-05-25. [5] Underso kning, Vad a r en underso kning, http://www.hr-survey.com/whatis.htm Ha mtad 2017-05-25. [6] Github, Github, https://www.howtogeek.com/180167/htg-explains-what-is-githuband-what-do-geeks-use-it-for/ Ha mtad 2017-05-25. [7] Symfony, 10 criteria for choosing the correct framework, http://symfony.com/ten-criteria Ha mtad 2017-05-25. [8] Visual studio, Visual studio code, https://code.visualstudio.com/ Ha mtad 2017-05-25. [9] Visual studio, Visual studio code intellisense, https://code.visualstudio.com/docs/editor/intellisense Ha mtad 2017-05-25. [10] Android material design, https://material.io/guidelines/ Ha mtad 2017-05-25. [11] Apples design principer, https://developer.apple.com/ios/human-interfaceguidelines/overview/design-principles/ Ha mtad 2017-05-25. 24

[12] Ionic github, https://github.com/driftyco/ionic Ha mtad 2017-05-25. [13] React native github, https://github.com/facebook/react-native Ha mtad 2017-05-25. [14] Jsonette github, https://github.com/jasonette/jasonette-ios Ha mtad 2017-05-25. 25

Bilaga A: Undersökning resultat Redogo relsen av underso kningen presenteras i en grafisk form och underlaget som ett fra geformula r.enka t 26

27

Resultat 28

29

30

Bilaga B: Undersökning ramverk Den ha r checklistan har varit till grund fo r att analysera valet utav ramverk. 1. Popularitet, kommer att ja mfo ra dom olika ramverken med hur popula ra dom a r pa Github och Stack overflow. 2. Filosofi, a r ramverket tillra ckligt fo r att uppfylla dom krav som har sta llts pa utvecklaren fra n fo retagets sida. 3. Ha llbarhet, hur ser framtiden ut?. 4. Support, hur ser hja lpen ut fra n utgivarna av ramverket? 5. Teknik, kommer kontrollera hur utvecklingsverktygen fungerar fo r ramverket och vilka hja lpmedel man kommer att ha. 6. Hur ser sa kerheten ut? 7. Dokumentation, hur mycket har utvecklarna valt att dokumentera publikt fo r anva ndarna? 8. Licens, a r det gratis att anva nda eller kostar det att utveckla med det ha r ramverket? 9. Resurser, hur mycket hja lp finns att fa pa olika utvecklingsforum? 10. Tester, alla valda ramverk kommer att laddas ner fo r en enklare testko rning. Resultat o ver hur populariteten ser ut mellan dom olika ramverken ha mtat fra n Github och Stack overflow. Den data som a r ha mtad finns bara tillga nglig fo r Ionic[12], React[13] och till Jasonette[14]. Watch a r hur ma nga som fo ljer utvecklingen av ramverket. Star a r hur ma nga som gillar ramverket. Fork a r hur ma nga som byggt vidare pa ramverket. Stack overflow so kningar a r antalet tra ffar pa so kt ramverk. Resultat 1. Popularitet 31

4000 3000 2000 1000 0 121 Github 1749 Watch 2979 Jasonette Ionic React Github 12000 10000 8000 6000 4000 2000 0 227 7736 Fork 11384 Jasonette Ionic React Github 60000 50000 40000 30000 20000 10000 0 4569 29687 48764 Jasonette Ionic React Star 32

Stack overflow sökningar 120000 106040 100000 80000 60000 40000 20000 49378 57866 39939 Phonegap Xamarin Jasonette Ionic React 0 5 Table 1: Nyckelord Stack overflow 2017-05-25 33

34