Native app, Hybrid app, Progressive web app eller Responsive design webløsning
Hvordan vælger man én app-type fremfor den anden? Hvad kendetegner de enkelte app-typer og hvilken betydning har valget for kvalitetssikring af løsningen?
App-typer
Klik for at læse mere om de enkelte app-typer
Native apps er udviklet specifikt til en given platform, typisk Android eller iOS. Denne type app har meget få tekniske begrænsninger ift. udnyttelse af mobilens egenskaber og funktioner, men kræver dybdegående kendskab til kodesproget for platformen (iOS = X-code eller Swift, Android = Android Studio).
Ren webløsning, som via informationer om Viewport size tilpasser sig forskellige skærmstørrelser. Udnytter kun i meget begrænset omfang mobilens egenskaber og funktioner. Det kræver viden og erfaring at kunne optimere siderne til de enkelte enheder og browsere. Løsningen udvikles typisk med HTML 5, CSS og JavaScript.
Basalt set en webløsning, som er indkapslet i en Native App-skal. Kan udnytte en stor del af mobilens funktioner via App-skallen, men opleves generelt lidt langsommere. Kræver kendskab til gængse webteknologier som HTML5, CSS og JavaScript. Native kode bliver genereret automatisk til alle supporterede platforme, via udviklingsværktøjet. En hybrid app bliver ofte brugt som ‘wrapper’ for en webløsning, for på den måde at være tilgængelig som app i Google Play og App store.
Webløsning ligesom responsive design, med samme udfordringer m.h.t. optimering af sider. PWA er en videreudvikling af Responsive Design løsningen og den primære forskel er at den i stadig højere grad udnytter brug af mobile funktioner via HTML5 API-kald. Understøttelsen af tilgængelige API kald afhænger af de enkelte browsere.
Produktanalyse
Før udviklingen af en mobilløsning påbegyndes, udføres en produktanalyse for blandt andet at kunne tage stilling til hvilken teknologi (app-type), der bedst imødekommer de krav og behov som produktanalysen afdækker
Her følger eksempler på spørgsmål man kunne lade indgå i produktanalysen:
- Behov som løsningen skal imødekomme?
- Målgruppe(r)?
- Brug af enhedens teknologier / funktionaliteter. så som kamera, GPS, NFC, BLE, accelerometer, gyrometer, kompas, kontakter, etc.?
- Forbindelse og interaktion med andre devices via eksempelvis BT, NFC, BLE, Wi-fi?
- Brugergrænseflade?
- Sikkerhed og overholdelse af standarder?
- Betalingsmuligheder?
- Integrationer?
- Kompetencer og budgetresourcer?
- Offline funktioner?
- Løsningens performance?
- Installation og vedligeholdelse? Platform afhængigheder?
- Restriktioner på indhold, godkendelsesproces, og omkostninger?
Når svarene på ovenstående spørgsmål er tilvejebragt, har man forudsætning for at vælge mellem de 4 primære app-typer, hver med deres fordele og ulemper.
Tilgang til test
Produktanalysen er udgangspunkt for mange vigtige aktiviteter, her i blandt:
- Udarbejdelse af testgrundlag
- Valg af app-type
- Udvælgelse af repræsentative testkonfigurationer (se evt. vores blogindlæg om dette emne)
- Behov for testdata og -miljøer
- Behov for værktøjer og teknologier
- Behov for budget og ressourcer
- Behov for løsningens økosystem
Og herved er det essentielle grundlag for udarbejdelse af løsningens teststrategi og -plan, på plads.
Her skal man tage højde for, at valget af app-type har indflydelse på en række testrelaterede aktiviteter, da de spænder fra at være alt fra rene webløsninger, til platformspecifikke kodebaser, med næsten fuld adgang til alle mobilenhedens funktionaliteter.
Herunder nævnes nogle af de testaktiviteter og områder, som dette især kan have betydning for.
Testkonfigurationer
Valget af app-type afgør hvilke parametre man skal vægte når man indsamler relevant anvendelsesstatistik, og har derved afgørende indflydelse på hvilke anbefalede testkonfigurationer den efterfølgende analyse identificerer.
F.eks. vil indsamling af statistik om browserversioner ikke være relevant i en Native app løsning, men i høj grad være relevant for Responsive Design, PWA, og i mange tilfælde hybrid app -løsninger. Ligesom OS versioner og understøttelse af teknologier som NFC og BLE ikke vil være relevante for responsive design løsninger, men i høj grad for native apps, og måske også i nogen grad for PWA og hybrid app løsninger, der gør brug af teknologierne.
Hvis du vil vide mere om vigtigheden af, og processen for, udvælgelse af testkonfigurationer, kan du læse mere i vores blogindlæg om emnet.
App distribution og opdatering
Vælger man en Native eller Hybrid appløsning, skal man sætte sig ind i hvilke krav den skal opfylde for at gå igennem Google’s og Apple’s godkendelsesprocesser, og efterfølgende verificere dem.
I modsætning til Responsive design og PWA webløsningerne, hvor man blot tilgår en URL i testmiljøet, kræver Native og Hybrid løsningerne at man opsætter et app- distribueringssystem, der også håndterer opdateringer, i både udviklings- og testmiljø.
Test scope og -metodikker
Har man valgt en overvejende webbaseret mobilløsning, håndteres størstedelen af løsningens implementering og sameksistens med platformens øvrige funktioner, af enhedens browser.
Man kan fokusere på primært at bekymre sig om løsningens integration med resten af dens eget økosystem.
Vælges en Native eller Hybrid app løsning, skal man selv i langt større omfang sørge for at app’en og dens funktioner, bliver integreret gnidningsfrit på den givne platform og dens økosystem.
Man skal teste en række andre ting som er specifikke for disse app-typer, som f.eks. installering, opdatering og afinstallering, netværks- og forbindelsestestscenarier, memory leak, batteriforbrug, interruptions, notifikationer, gestures samt evt. offline funktionalitet.
Til disse formål findes nogle gode mobiltestmetodikker, som vi måske vil tage op i et kommende blogindlæg.