Artikel top billede

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.

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




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
EG A/S
Udvikling, salg, implementering og support af software og it-løsninger til ERP, CRM, BA, BI, e-handel og portaler. Infrastrukturløsninger og hardware. Fokus på brancheløsninger.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Computerworld Summit 2021

En moderne digital vindervirksomhed bringer nye teknologier i spil, skaber digital innovation, udnytter data som styringsværktøj og ser verden som én stor markedsplads. Men succes kræver, at du ved, hvor den dyre teknologi kan gøre den største forskel i forretningen. Den kræver, at du ved i hvilken retning den øgede politiske regulering af teknologi og data bevæger sig hen. Og den succes kræver, at du kan udnytte teknologien til at automatisere og skalere til gavn for bundlinjen og budgettet.

26. oktober 2021 | Læs mere


CIO Trends 2021: Sådan ser teknologiradaren ud hos Danmarks bedste CIOs

Teknologien i virksomheder spiller i den grad en større og større rolle, hvor vi er nødt til at stille endnu større krav til, hvordan vi udnytter den, og hvilke muligheder den giver. Spørgsmålet er dog, hvordan man formår at lede en virksomhed, der konstant skal forholde sig til teknologiens forandringer.

16. november 2021 | Læs mere


How to Sikkerhed: Awareness, email fraud og phishing

Man kan aldrig vide sig sikker, for uanset hvor godt man sikrer sig mod hackerangreb og anden svindel, vil hacker næsten altid være et skridt foran. De går efter organisationernes svageste led i håbet om at kunne snyde sig til data, penge eller andet værdifuldt. Få derfor konkrete bud på, hvordan du kan gribe opgaven an og understøtte et effektivt awareness-niveau i din organisation med enkel, men velfungerende, teknologi.

17. november 2021 | Læs mere