Progressive Web Apps for iPhone
Vi har tidligere skrevet om Progressive Web Applikasjoner (PWA). For en full introduksjon av disse, i tillegg til flere begreper vi vil bruke her, anbefaler vi å lese vårt eldre innlegg som du finner her.
Progressive Web Applikasjoner for iOS
Kort fortalt vil en PWA utnytte et sett med web-teknologier for å framstå som en native applikasjon. Dette betyr at de kan benytte native-funksjonalitet som kamera og enhetens sensorer. Frem til nå har dette kun vært tilgjengelig på Android, før oppdatering 11.3 kom til iOS. Med denne oppdateringen har Apple endelig åpnet opp for støtte mot teknologi som gjør en PWA mulig. Her snakker vi hovedsakelig om bruken av service workers.
Applikasjoner uten App Store
Tidligere har den eneste måten å installere applikasjoner på en Apple-enhet, vært gjennom deres App Store. Med en PWA kan du laste ned applikasjonsinnholdet direkte fra Safari, hvor den deretter vil vises ved siden av de andre appene på hjemskjermen din.
Ser du forskjell på native- og PWA-versjonen av Google Maps?
Til tross for dette får du ingen indikasjon fra Safari om at du besøker en PWA. Du vil derfor ikke få spørsmål om å legge den til på hjemskjermen, som du eksempelvis gjør på Android. Brukerne dine må med andre ord vite at dette er mulig, og det anbefales derfor å gi instrukser på hvordan de kan lastes ned til hjemskjerm.
På en PWA vil du unngå applikasjonsbanneret øverst på nettsiden. For å legge til en PWA til hjem-skjermen klikker du på "del", og deretter "legg til på Hjem-skjerm".
En betydelig forskjell mellom en applikasjon lastet ned fra Safari, og en fra App Store, er at en PWA ikke må gjennom kvalitetstesten til App Store. Selvom en PWA unngår kvalitetstesten, må den fremdeles hostes via HTTPS og følge sikkerhetsmodellene til web-plattformen. Dette gjør dem til et trygt alternativ til native apper.
Tilgang til native-funksjonalitet
Til tross for at en PWA tilbyr tilgang til native-funksjonaliteten til en Apple-enhet, kommer dette med begrensninger. Ikke all funksjonaliteten er åpen, og det er store forskjeller på hva en PWA kan gjøre, i forhold til hva en native applikasjon kan.
Hva kan en progressiv web applikasjon gjøre på iOS?
- Kamera
- Enhetssensorer
- Lydutganger
- Apple Pay
Det er flere funksjonaliteter som fremdeles er savnet på denne listen. Tilgang til Bluetooth, Touch- og Face-ID er blant annet sperret. Det er heller ikke mulig å kjøre kode når applikasjonen ikke er aktiv, noe som også sperrer for bruken av push-notifikasjoner.
En annen ulempe er at iOS kun tillater opptil 50 mb lagringsplass per PWA. I tillegg vil dette innholdet slettes dersom appen ikke brukes over en lengre periode.
Tilpasning til iOS
Et naturlig spørsmål å stille er om din eksisterende PWA vil fungere på iOS. Så fort brukerne dine har oppdatert til versjon 11.3 vil de ha muligheten til å laste den ned. Men dette er ikke synonymt med at den vil fungere som tiltenkt.
Akkurat som en nettside vil oppføre seg annerledes i forskjellige nettlesere, vil PWA oppføre seg forskjellig på iOS og Android. Dersom din PWA ligger ute for nedlastning er det derfor viktig å teste på tvers av plattformene – så lenge du har et ønske om en spredt brukerbase.
Hva er viktig å se etter?
- På Apple-enheter er det ingen måte å låse orienteringen på skjermen.
- Fargeregler i manifest-filen vil bli ignorert. Statusbaren kan derfor få en svart bakgrunn, noe som gjør det umulig for brukeren å se informasjon om klokke, batteri og notifikasjoner. Det er derfor viktig å legge inn reserveregler for dette i HTML/CSS.
- Om du ikke har implementert gester eller knapper for å gå tilbake, vil det være umulig for brukeren å navigere seg i applikasjonen – her er det viktig å huske at Apple-enheter ikke har en tilbakeknapp, slik som Android-enheter har.
- iOS vil ikke lagre applikasjonens økt, dersom brukeren navigerer seg ut av den.
Til tross for litt større restriksjoner for PWA-er på iOS, er det veldig kult at de har lagt inn støtte for det. Dette åpner opp nye muligheter for flere utviklere, og betyr at vi snart kan se et bredere utvalg av applikasjoner for Apple-enheter.