Test: Sådan udvikler du én app til alle smartphones

Det mobile framework PhoneGap giver dig mulighed for at udvikle en app, der kan implementeres på både Android, iOS, Windows Phone, BlackBerry, Symbian, WebOS og Bada.

Artikel top billede

Læs også:

HTML5 eller apps? Sådan vælger du din mobil-løsning

Fuld fart frem: Byg en app på seks uger

Computerworld News Service: Udvikling af apps til mobile enheder handler lige så meget om kunstfærdigt udførte grafiske brugergrænseflader og skærm-flow som om teknisk programmering.

At der lægges så stor vægt på form betyder, at det er mere sandsynligt at finde de vigtigste kompetencer til udviklingen af mobilapplikationer hos dine webudviklere end hos dine Objective-C-kodere.

Det mobile framework PhoneGap - der nu er et officielt Incubator-projekt ved navn Cordova under Apache Software Foundation - gør det muligt at udnytte sine kompetencer inden for webudvikling til udvikling af apps til mobile enheder ved at kombinere HTML, CSS og JavaScript med en API, der forbinder til apparaternes hardware og indbyggede funktionalitet.

Sådan fungerer PhoneGab

PhoneGap gør det muligt for webudviklere at bruge kontakter og filer på mobile enheder, foretage ændringer i det lokale lager, bruge enhedens sensorer (som kamera og GPS) samt facilitere dataudveksling direkte fra brugergrænsefladen.

Det bedste af det hele er, at en app, der er udviklet med PhoneGap, kan implementeres på den bredeste vifte af enheder, man kan forestille sig: Android, iOS, Windows Phone, BlackBerry, Symbian, WebOS og Bada.

Naturligvis har PhoneGaps' lette tilgang og kompatibilitet på tværs af platforme sin pris: PhoneGap skaber webapplikationer, der virker native (udviklet specifikt til én platform), men som faktisk ikke kvalificerer til denne betegnelse.

Når du bygger en app til for eksempel Android, pakker PhoneGap din HTML, JavaScript og CSS ind i en WebView-container.

Det betyder, at afviklingen af applikationen er afhængig af den underliggende rendering engine (grafikmotor, red.), WebKit, og at applikationen således arver browserens hastighedsbegrænsninger.

Derfor er PhoneGap ikke det bedste valg til beregningstunge applikationer.

Men hvis du er ude efter en måde at udvikle data-drevne webapplikationer til en bred vifte af mobile platforme, så rammer PhoneGap en fin balance mellem arbejdsindsats og funktionalitet.

PhoneGap gør det muligt at udvikle stærke apps, der kan udvides med plugins for at efterligne brugergrænsefladen i native apps eller tilføje funktionalitet såsom push-meddelelser eller integration med PayPal, men uden de samme høje krav til færdigheder og arbejdsindsats som ved native kodning.

Og så er PhoneGap gratis.

Du får brug for udviklingsværktøjer

Læs også:

HTML5 eller apps? Sådan vælger du din mobil-løsning

Fuld fart frem: Byg en app på seks uger

Vær opmærksom på, at PhoneGap SDK er et rent framework uden præfabrikerede kode-widgets eller andet, der kan hjælpe med udviklingen af brugergrænseflader.

PhoneGap inkluderer heller ikke middleware til at forbinde enheder med backend-servere.

Du får brug for udviklingsværktøjer til at kode din app.

Til Android kan du installere Eclipse, Android SDK og plugin'et Android Development Tools. Du kan derudover vælge at installere Git, hvis du ønsker at målrette din app til specifikke platforme og samtidig minimere dens størrelse.

Hvis din app desuden skal kunne køre på iOS, Windows Phone og BlackBerry, kan du bruge Adobes PhoneGap Build-cloud til at oprette pakker til disse og andre understøttede platforme.

PhoneGap Build er gratis at bruge til open source-projekter eller en enkelt privat app, men det koster fra omkring 70 kroner per måned til omkring 500 kroner per måned at bruge til større projekter.

Det kræver lidt tilpasning af koden at komme i gang med Android SDK: Et Android-projekt skal defineres, PhoneGap-biblioteker skal importeres, Java-startfilen skal pege over til PhoneGap, og grundklassen skal ændres til extendDroidGap.

Man er også nødt til at ændre setContentView til at indlæse URL'en til sin apps' HTML-baserede startskærm, der også skal oprettes manuelt.

Integrerede udviklingsmiljøer

Hvis alt det virker afskrækkende, så kan du overveje at bruge et af de PhoneGap-baserede integrerede udviklingsmiljøer (IDE'er), såsom AppMobi eller Tiggzi, der giver framework'et en grafisk frontend. Adobe Dreamweaver CS 5.5 fungerer også fint med PhoneGap.

Det er mere ukompliceret at bruge PhoneGap med Xcode på Mac, da Xcode genererer alle aktiver og leverer en grafisk frontend, der gør det lettere at konfigurere for eksempel splash screens og orientering af skærmen.

Det var dog i forbindelse med denne test let nok at konfigurere min Android-enhed (version, skærmopløsning, lagerenhed og så videre) i Eclipse, så det var relativt hurtigt at producere en simpel app. API-metoderne er veldokumenterede og overstrøet med kodeeksempler.

Eclipse opsætter en central mappe, der bliver det primære lager for dit projekts billeder, HTML og JavaScript. Udviklingen af din app - hvad enten du bruger teksteditoren i Eclipse eller Dreamweavers PhoneGap-plugin - er ligesom at opbygge en almindelig webside.

Og selvom der ikke er direkte adgang til native grænseflade-elementer, så kan du anvende brugergrænseflade-værktøjer fra tredjeparter såsom JQuery Mobile, Sencha Touch og XUI. Du kan også gøre brug af CSS3 til at skabe effekter.

Ud over at gøre udviklingen lettere giver PhoneGaps browser-baserede tilgang den fordel at levere mere forudsigelige resultater på tværs af forskellige formfaktorer og skærmes pixeltætheder.

På den anden side er der stadig en masse manuel kodning involveret, som ikke håndteres af Xcode eller Dreamweaver.

Her kommer cloud-baserede værktøjer som Tiggzi til deres ret. Tiggzi understøtter opbygning af drag-and-drop-grænseflader og leverer en grafisk grænseflade til opsætning af servicekald og mapping af disse kald til brugergrænsefladen, så det er muligt at teste resultaterne.

I PhoneGap gøres alt dette ved at indtaste kode.

Her er dommen over PhoneGab

Selvom PhoneGap allerede er nok så nyttig, så er der altid plads til forbedring.

For eksempel ville jeg foretrække bedre værktøjer til manipulation af data samt dybere understøttelse af Android-standarder som Intent, der giver mulighed for at håndtere hændelser som indkommende opkald, modtagelsen af en e-mail eller færdiggørelsen af en filoverførsel.

I visse tilfælde er der en plugin til rådighed (såsom WebIntent til brug med Intents), men de får problemer med pålidelighed og kompatibilitet, så snart PhoneGap bliver presset lidt.

Frem for anvendelsen af plugins til sådanne native funktioner, burde håndteres af PhoneGap.

Under udvikling

Der udkommer nye versioner af PhoneGap næsten hver måned.

Selvom det er godt nyt for udviklere, der er ude efter nye, hotte funktioner, så vil dette hæsblæsende udgivelsestempo uvægerligt resultere i fejl og kode-omorganisering, som man især som udvikler af plugins må være opmærksom på.

Fra et driftsmæssigt perspektiv ville jeg foretrække færre, men større udgivelser.

Den cloud-baserede service PhoneGap Build er først for nylig udkommet i en produktionsversion. Den tager dine projektfiler og spytter en binær fil ud, som er klar til udrulning.

Min oplevelse er, at Build er lidt langsom, men den kan spare dig for en hel del tid i forhold til nøgler og certifikater - selv hvis du kun udvikler til en enkelt platform.

Men den største fordel ved at anvende Build er dog, at man undgår behovet for at vedligeholde adskillige udviklingsplatforme til kompilering. Man uploader bare den kode, man har udviklet med sine Android-værktøjer, og får serveret binære filer til iOS, BlackBerry og Windows Phone.

Skal du prøve PhoneGab?

Ikke alle mobilprojekter kræver en native applikation eller en stor infrastruktur.

Hvis dit mål er at udvide en web-app til mobile enheder, så tilbyder PhoneGap dig en hurtig, velkendt og omkostningseffektiv metode ved at forbinde til indbyggede funktioner på alle de vigtigste mobilplatforme uden at stille krav til programmeringsfærdigheder inden for hver af disse platforme.

PhoneGap er sandsynligvis den aktuelt hurtigste og letteste måde at bygge datadrevne mobilapps på.

Oversat af Thomas Bøndergaard.

Læs også:

HTML5 eller apps? Sådan vælger du din mobil-løsning

Fuld fart frem: Byg en app på seks uger

Computerworld Events

Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

Infrastruktur | Frederiksberg

Roundtable: Hybrid og cloud – sikre og strategiske it-valg i en ustabil verden

Eksklusive danske digitale ledere mødes til rundbordssamtale om balancen mellem fart, sikkerhed og compliance. Hør hvordan CIO’er bygger robuste hybrid cloud-strategier, der skaber reel forretningsværdi og styrker modstandskraften.

Sikkerhed | København

Strategisk It-sikkerhedsdag 2026 - København

Få overblik over cybersikkerhedens vigtigste teknologier, trusler og strategiske valg. Hør skarpe oplæg om AI-risici, forsvar, compliance og governance. Vælg mellem to spor og styrk både indsigt og netværk. Deltag i København 20. januar.

Andre events | København

Executive Conversations: Fra hype til afkast – her er vinderne af AI-ræset

Få et klart overblik over AI’s reelle effekt i danske virksomheder. Arrangementet giver unge talenter og ambitiøse medarbejdere viden, der løfter karrieren, skærper beslutninger og gør dig klar til at præge den digitale udvikling. Læs mere og...

Se alle vores events inden for it

Navnenyt fra it-Danmark

Norriq Danmark A/S har pr. 1. september 2025 ansat Thea Scheuer Gregersen som Finace accountant. Hun skal især beskæftige sig med håndteringer af bl.a. bogføring og finansiel rapportering på tværs af selskaberne. Hun er uddannet Bachelor´s degree i Business Administration & Economics og en Master of Sustainable Business degree. Nyt job

Thea Scheuer Gregersen

Norriq Danmark A/S

Industriens Pension har pr. 3. november 2025 ansat Morten Plannthin Lund, 55 år,  som it-driftschef. Han skal især beskæftige sig med it-drift, it-support og samarbejde med outsourcingleverandører. Han kommer fra en stilling som Head of Nordic Operations Center hos Nexi Group. Han er uddannet HD, Business Management på Copenhagen Business School. Han har tidligere beskæftiget sig med kritisk it-infrastruktur og strategiske it-projekter. Nyt job

Morten Plannthin Lund

Industriens Pension

Norriq Danmark A/S har pr. 1. september 2025 ansat Alexander Bendix som Consultant. Han skal især beskæftige sig med tilføre nye, friske perspektiver og værdifuld viden til NORRIQS Data & AI-afdeling. Nyt job

Alexander Bendix

Norriq Danmark A/S

Tanja Schmidt Larsen, Director, Legal & Compliance hos Sentia A/S, er pr. 1. december 2025 forfremmet til Chief Operations Officer (COO). Hun skal fremover især beskæftige sig med synergi mellem kommercielle og tekniske processer samt sikre en sammenhængende kunderejse og fortsat driftsstabilitet. Forfremmelse