Bonus: Flask til App
Dette er en kort innføring i hvordan du kan gjøre ditt nettsted om til en installerbar applikasjon. Dette er ikke eksklusivt for Flask, og kan brukes til å forvandle alle web applikasjoner til installerbare apper.
Denne siden går ikke inn på hvordan service workers fungerer i sin helhet. Funksjonalitet som varslinger og ‘bakgrunnskommunikasjon’ dekkes ikke.
Hva trenger du?
Som mye i kode-verden, så spørs det egentlig hva du har behov for. Nedenfor er en liste over enkle ting du kommer til å trenge, men det er fullt mulig du vil trenge mer.
- Et ikon i ulike formater:
512x512
,192x192
+ favicon.ico
fil (32x32
er standard), det er dog mulig å bruke vanligpng
. - En
manifest.json
fil - navn er forsåvidt valgfritt - En
service_worker.js
fil - navn er forsåvidt valgfritt.
Ikon
Et ikon er viktig når man lager en app - det er tross alt det brukeren forbinder med applikasjonen. Det finnes en rekke standarder som er utviklet for at flest mulig skal kunne bruke appen, med tanke på bakoverkompatabilitet for eldre enheter, eller enheter med andre typer skjermer. Apple App store krever for eksempel ikon i 1024x1024
oppløsning.
Ett ikon - flere format
Når vi tilpasser oss flere plattformer må man ofte opprette flere varianter av et ikon (ja - dette kan gjøres via kode). I dette eksempelet forholder vi oss til litt færre alternativer som bør være nok for de fleste moderne enheter.
Ikonene bør være tilgjengelig i static
mappen, med for eksempel følgende navngivning:
/static/favicon.ico
(32x32
størrelse, kan være.png
)/static/icons/icon-512x512.png
/static/icons/icon-192x192.png
- Eventuelt ekstra ikoner i flere størrelser.
Android App Sizes Guidelines
(Kilde: https://logosbynick.com/sizes-guidelines-for-designing-app-icons-ios-android/)
manifest.json fil
Manifest filen er metadata som er knyttet til appen i JSON format, og må også ligge tilgjengelig i static
mappen. Filen bør se noenlunde slik ut:
service_worker.js fil
Under er et enkelt eksempel av en service_worker.js
fil - denne kan utvides til å gjøre mye forskjellig - i dette eksempelet brukes den kun til installasjon.
/static/service_worker.js | |
---|---|
Sett det i hop!
Resten gjøres i enkel HTML. Vi må legge til manifest.json
i <head>
seksjonen, samt en liten JavaScript snippet på siden for å aktivere service_worker.js
:
Nyt resultatet 😎
Dett var dett! Neste gang noen besøker siden din vil de få valget om å installere nettsiden som en applikasjon (Progressive Web App / PWA) - på desktop, iPhone, Android og flere plattformer. Kult, ikke sant?
Installasjonsknapp Android
Note
Obs: Det kan hende nettleseren spør bruker om å installere appen automatisk når brukeren besøker nettsiden, slik at de ikke må grave frem i menyen. Eventuelt kan en “Installer app” knapp opprettes.
Egen “Installer app” knapp
Det er fullt mulig å legge til en knapp på siden med for eksempel teksten Installer app
, for å gjøre installasjonen litt enklere for endebruker.
Se også - Bubblewrap / PWABuilder - App store publisering
- Link Google: https://developers.google.com/codelabs/pwa-in-play#0
- Link PWABuilder: https://www.pwabuilder.com/
Bubblewrap lar deg konvertere PWA (Progressiv Web App) til en fullverdig Android Applikasjon som kan publiseres til Google Play store.
PWABuilder fikser dette eventuelt for deg, og lar deg publisere til flere app-stores, inkluder Microsoft, Apple, Google & Meta.
Referanser
- https://developer.android.com/distribute/google-play/resources/icon-design-specifications
- https://support.google.com/chrome/answer/9658361
- https://web.dev/learn/pwa/