PHONEGAP – EN HURTIG VEJ TIL APP-UDVIKLING PÅ FLERE PLATFORME

Et vellykket app-udviklingsprojekt kræver grundig forberedelse og at du gør dig selv den tjeneste at orientere dig om praktiske erfaringer forud for de mange beslutninger, som skal tages inden, du starter udvikling af smartphone app.

Af Jacob Eiler, software konsulent hos TechPeople med speciale i app-udvikling.

OM PHONEGAP

PhoneGap er et cross-platform framework til udvikling af smartphone applikationer til fx Android, iOS eller Windows Phone.

En cross-platform app består af et skjult browser vindue (web-view), som pakkes ind en lille native app. Selve applikationen bliver bygget med kendte webteknologier som HTML5, CSS3 og JavaScript.

Ved hjælp af PhoneGap kan man afvikle web-appen som en native app og f.eks. tilgå kamera og telefonbogen.

FORDELENE VED AT BRUGE CROSS-PLATFORM FRAMEWORK

Den samme kode-base bruges på alle platforme, og der er ikke behov for indgående kendskab til alle mobil-platforme.

VÆLG PHONEGAP TIL DE FLESTE APPS

Hvis app’en skal integreres meget tæt med bestemt hardware (fx en USB-kortlæser) og kun skal køre på en bestemt telefon-/tabletmodel eller har meget høje krav til UI-animationer, er det ikke nødvendigvis det bedste valg.

> 1.800 PLUGINS GØR, AT DER NOK ER DE FUNKTIONER, DU SKAL BRUGE I PHONEGAP

Langt de fleste apps har brug for at integrere med en eller flere indbyggede funktionaliteter, fx push-beskeder, gps  eller kamera. I PhoneGap sker det ved hjælp af plugins – der findes over 1.800 plugins. Sandsynligheden for at der allerede findes et plugin til den/de funktioner du skal bruge, er stor.

Når du vælger plugin skal den selvfølgelig tilbyde den ønskede funktionalitet – husk at sikre, at den også understøtter de nødvendige platforme (iOS, Android etc.). Sørg for at sikre dig, at det enkelte plugin bliver vedligeholdt og opdateret, når der kommer nye version af iOS, Android etc.

Tjek oversigt her https://cordova.apache.org/plugins/

STANDARDBIBLIOTEKER GIVER ET SOLIDT FUNDAMENT FOR DIN APPLIKATION

Præcis som med web-udvikling kommer du langt, hvis du vælger nogle solide JavaScript, CSS og HTML biblioteker til brugergrænsefladen. Brug eksempelvis AngularJS, jQuery, jQueryMobile, Sencha Touch, Boilerplate eller Bootstrap som udgangspunkt.

Standardbiblioteker ofte gennemtestet og bliver løbende vedligeholdt. De er testet på forskellige platforme/versioner og skærmstørrelser.

HVILKE FORMATER OG DESIGN SKAL APPLIKATIONEN UNDERSTØTTE

Beslut om der både skal være portræt og landskabs-format, og træf design-beslutninger, som dækker både iPad (4:3) og Samsung (16:10) tablets. Husk, at hvert format kræver ekstra arbejde – både af designere, udviklere og testere.

Beslut hvilke skærmstørrelser, skærmopløsninger og højde/bredde-forhold du bruger inden udviklingen går i gang.

SIDST, MEN ABSOLUT IKKE MINDST, SKAL APPLIKATIONEN SELVFØLGELIG TESTES

Selvom PhoneGap som udgangspunkt er cross-platform, så er der små forskelle mellem iOS og Android – og forskellige Android versioner/producenter. Særligt i plugins, hvor der er brugt platform-specifik kode kan der være små, subtile forskelle.

DET ER VIGTIGT LØBENDE, AT DU TESTER PÅ RIGTIGE TELEFONER OG TABLETS

Eksisterende værktøjer til simulering af både Android og iPhone enheder på computeren giver ikke et realistisk billede af app’en i form af performance, og visse funktioner (fx kamera, accelerometer), kan slet ikke testes i simulatoren uanset om applikationen er udviklet som native eller med PhoneGap

SØRG FOR AT BESKRIVE TESTSCENARIER

Udvælg hvilke telefoner og tablets med forskellige skærmstørrelser og version af iOS og Android du vil bruge i din test.

Manuel test – og gen-test – kan kræve mange ressourcer, så overvej om automatiseret test er vejen frem for dit projekt – det afhænger af hvor kompleks app’en er og hvor mange forskellige telefoner, tablets, Android og iOS versioner den understøtter.

Automatiseret test kan også indgå som en del af et automatisk byggemiljø (continous integration), så nye versioner automatisk bliver testet på udvalgte telefoner og/eller tablets.

Der findes mange online tjenester, som tilbyder automatiseret test af app på rigtige telefoner og tablets. Det kræver, at du udvikler og vedligeholder et sæt testscenarier, som typisk skrives i pseudo-kode.

PHONEGAP ER IKKE LIGE VELEGNET TIL ALT

Selvom de nyeste browsere er hurtige vil der altid være små forskelle på native og HTML, CSS og JavaScript. Overvej om applikationen har mange grafiske elementer, skygger, animationer osv.

PhoneGap understøtter ikke meget gamle platforme – for Android skal det helst være version 4.x eller nyere og for iOS version 6.x eller nyere.

PHONEGAP VIRKER

Det er min erfaring, baseret på arbejde som arkitekt og udvikler på fem-seks større PhoneGap projekter, at PhoneGap virker. Det springende punkt er – som for alle andre software projekter – at du gør dit forarbejde ordenligt og går til opgaven med realistiske forventninger.

Download tips til udvikling af app som Native eller PhoneGap her

Om Jacob Eiler

Jacob Eiler er konsulent hos TechPeople og har arbejdet med software i mere end 15 år – specielt inden for telekommunikation og mobil. Jacob har udviklet mobilapps – både native og cross-platform – for nogle af Danmarks største virksomheder, bla. Tivoli, TDC og Schneider Electric.

Helt basalt skal du fra starten af tage beslutning om applikationen skal udvikles som native eller som Cross-Platform ved hjælp af fx Adobe PhoneGap (eller open-source pendenten Apache Cordova).