Det skal du lige være opmærksom på, inden du begynder på en moderne Android-app

Måske går du med en lille Android-app i maven, der skriver på at komme ud? Inden du sætter dig til tasterne i håbet om at blive den næste Flappy Bird til Googles platform, så er der en række ting, det er værd at overveje.

»Først og fremmest skal man tage stilling til, om der overhovedet er behov for en app. Man skal jo ikke udvikle den, bare for at udvikle den,« siger ekstern lektor på ITU Jacob Avlund, der underviser i Android-udvikling, og derudover er partner i firmaet Siblingsoft, som laver apps.

Som eksempel nævner Jacob Avlund en webbutik. Her er der ikke nødvendigvis behov for en app, der ligger permanent på folks mobiltelefoner, og som de først skal ind og hente via Google Play, hvilket er besværligt, og der er derfor større sandsynlighed for at de slet ikke orker. I stedet for at bruge tiden på app-udvikling, vil den være bedre brugt på at lave en hjemmeside i responsivt design, der også fungere på en mindre mobil-skærm, påpeger han.

Til udvikling af app’en er der forskellige værktøjer, man kan anvende. Hvilket der er mest egnet, afhænger af app-typen. Hvis det eksempelvis er et grafisk krævende spil eller en app der benytter ny funktionalitet, så kan det være en god idé at kode den direkte til Android-platformen i Java – eksempelvis med Eclipse og Android Development Tools (ADT), selvom det kan være en omstændelig proces, fortæller Jacob Avlund.

I den forbindelse understreger han, at det er vigtigt ikke at undervurdere, at langt de fleste Android- og iOS-udviklere koder native Java/Objective C som udgangspunkt. Og det vil sige, at det som virksomhed er nemmere at finde ressourcer, der kan det, og tilsvarende er nemmere for udviklere at få job med det.

HTML5

Men ofte kan lettere tilgængelige alternativer, være en mulighed. Eksempelvis kan app’en laves i HTML5 via udviklerværktøjet phonegap. Fordelen er, at det let kan testes i en browser, og at det kører nogenlunde uden videre, ikke bare på Android, men også på andre enheder, hvor HTML5 er understøttet, forklarer Jacob Avlund.

Dog kan en app, der bliver afviklet som HTML5 på telefonen, have nogle performence-udfordringer, og så bliver resultatet næppe heller en fuldstændig gnidningsfri integration med telefonens øvrige brugergrænseflade.

»Mit indtryk er, at man som regel godt kan se, når en app er lavet med Phonegap. Det er meget svært at lave noget, der ligner og specielt opfører sig som telefonens øvrige grænseflade. Man skal virkeligt have styr på sit CSS, hvis det skal se ordentligt ud,« siger Jacob Avlund.

Han tilføjer, at selvom HTML5 som sådan ikke understøtter eksempelvis adgang til info fra telefonens accelerometer, så har phonegap implementeret egen api til HTML5, der alligevel gør det muligt at få fat i eksempelvis data fra accelerometeret.

Hybrid-frameworks

En anden tilgang kan være de såkaldte hybrid-frameworks som Titanium. Her kan man skrive sin kode i javascript. Og den bliver også afviklet i telefonens javascript-fortolker, kombineret med native-kald til det underliggende styresystem, hvad enten det er Android, IOS eller i visse tilfælde Windows Phone, forklarer Jacob Avlund.

Lige netop Titanium understøtter dog ikke Windows Phone endnu, selv om det er på vej, fortæller Jacob Avlund.

Fordelen ved native-kaldene er, at telefonens egen brugergrænseflade bliver anvendt, og derfor kommer app’en også til at have samme udtryk, som den øvrige brugergrænseflade. Og så yder app’s lavet på denne måde relativt bedre sammenlignet med app’s lavet via Phonegap og i HTML5, vurderer Jacob Avlund.

»Et hybrid-framework som Titanium vil tit og ofte være godt nok, men det egner sig ikke til at lave store, grafisk tunge spil, der skal man stadig udvikle en native-app,« siger han.

Og så kan der være en anden udfordring med udvikling i et hybrid-framework. Jacob Avlund forklarer, at de af og til kan vise sig at anvende mindre officielle api’er fra Google og Apple, som egentlig ikke er ment til at skulle anvendes af andre end leverandørens egne udviklere. Formålet er tit at opnå en højere ydeevne på det færdige produkt, men problemet kan være, at disse api’er ikke fungerer i nye versioner af eksempelvis Android. Eller at de bliver udskiftet med andre.

»Og hvis du skal bruge noget af det allernyeste funktionalitet, så skal du vente på, dem der laver hybrid-løsningerne, får fulgt op på, hvad man kan på forskellige platforme,« siger Jacob Avlund.

En anden udfordring

En anden udfordring, primært på Android, som Jacob Avlund kalder klassisk, er de mange forskellige skærmstørrelser, der skal tages højde for, og de forskellige Android-versioner, der er på markedet. Hvis app’en ellers skal virke ordentlig på tværs af forskellige enheder, så er det en rigtig godt idé at teste den godt, fortæller Jacob Avlund.

Hvis det bare er til intern brug i en virksomhed, så er det dog ikke nødvendigt at bruge tid på at teste og understøtte eksempelvis ældre versioner af Android, påpeger han.

Sidst men ikke mindst, så er det ikke kun formålet med app’en, man bør have for øje, når udviklingsmetoden skal vælges.

»Man skal ikke undervurdere den fordel det er ikke at skulle til at lære et nyt programmeringssprog. Hvis ellers kravene til app’en er til forhandling, så er det en rigtig god idé at vælge et programmerings framework, der understøtter et sprog, man kender godt, eksempelvis javascript. Det kan tit og ofte lette hele udviklingsprocessen enormt og gøre en stor forskel,« siger Jacob Avlund.

Posted in computer.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>