Varför gör jag Web appar istället för IOS och Android-appar?

Det är populärt att Ladda ned appar från App store till iPhone och Android. Varför envisas jag med att istället fokusera på webbappar?

En Webapp kan du surfa till och installera på din telefon för att få en ikon.
En app som skrivits specifikt för IOS/Android kallas ibland för maskinnära app eller i dagligt tal bara App och installeras från App-store.

Skillnaderna suddats ut alltmer mellan de två typerna. Båda typer kan nå hårdvaran med pekskärm, accelerometer, gps, kamera, spela upp och spela in ljud, skicka notiser, drag och släpp, gester, spara data. Även spel fungerar bra att skriva i webbappar.

Vem bestämmer över App store?

Apple bestämmer reglerna för sin butik. Google bestämmer över sin butik.
Med Google kan du få tag i appar utanför butiken, men med Apple är det inte möjligt.

Här kan du läsa Apples regler på engelska.
Här kan du läsa Google Play regler på engelska.

Det är ofta mycket bra regler som man bör följa även på webbappar.
Appar granskas. De som inte följer reglerna kommer aldrig ut på App store och Google Play.

Vem bestämmer över webappar?

Du som utvecklare bestämmer över din webbapp.
Det tråkiga med det är att en person eller en liten grupp kanske inte alltid har den kompetens som krävs för kodkvalité, datasäkerhet, integritet, GDPR och mycket annat som behöver vara av bra kvalité.

Fördelen med webbappar är att de körs i webbläsaren och att webbläsaren inte tillåter vad som helst. Vill du ha tillgång till GPS eller skicka notiser då kommer webbläsaren att fråga användaren.
Du kan aldrig bli utkickad av någon.

Vilka kunskaper behövs?

För att göra appar till Android behöver du kunskaper i Java, eller i ett språk som kan köras i Java-motorn.
Sedan behöver du bekanta dig med de APIer som finns för Android.
Det finns kompletta utvecklingspaket och guider för att komma igång.
Du behöver också testa din webbapp på olika skärmstorlekar och olika versioner av Android.

För att göra appar till iPhone behöver du kunskaper i Swift.
Sedan behöver du bekanta dig med de APIer som finns för IOS.
Det finns kompletta utvecklingspaket och guider för att komma igång.
Du behöver också testa din webbapp på olika skärmstorlekar och olika versioner av Android.

För att göra Webbappar behöver du kunna Javascript och bekanta dig med de APIer som finns för webbappar.
Du utvecklar i en editor som till exempel Microsoft Visual Studio Code och testar koden i din webbläsare.
Du behöver testa din webbapp i de vanligaste webbläsarna: Chrome, Firefox, Safari. Övriga varianter bygger ofta på Chromium så om det fungerar i Chrome ska det även fungera i Brave och så vidare.
Du behöver också testa din webbapp på olika skärmstorlekar och olika operativsystem. macOS, IOS, Android, Linux, Windows.

Var kan jag köra min app

Din IOS app kan anpassas till att köras på iPhone, iPad, Apple Watch och Apple TV. Det sägs komma stöd för att köra IOS appar i macOS.

Din app för Android kan anpassas till att köra på Androidtelefon, Android surfplatta, Android klocka, Vissa Google Chromebook kan köra Android-appar.

Din webbapp kan installeras och köras på alla de ovannämnda enheterna och dessutom på macOS (Intel/M1) , Windows, Alla typer av Linux, Alla Google Chromebook.
Även äldre datorer med nyare webbläsare kan användas.
Även äldre iPhone och äldre Androidtelefoner som numera inte stödjs för nya appar kan fortfarande köra webbappar om webbläsaren är någorlunda fräsch.
Raspberry Pi 4 desktop kan köra din webbapp.

Som du ser kan du skriva en webbapp och köra den på alla system som har en hyfsat modern webbläsare.

Prestanda

Maskinnära appar måste väl ha bättre prestanda? Absolut. Skriver du beräkningstunga funktioner så är det bättre med Swift än med Javascript.
Skriver du spel så fungerar det utmärkt i webbappar också.

För att få prestanda i webbappar finns en mängd tekniker som lagrar kod och data i webbläsaren. Du kan ibland köra en webbapp utan internetuppkoppling. Den öppnas och kör det den har.
Sedan får man vara smart och inte uppdatera saker förrän man vet vad användaren vill se. Och använda smart cache som uppdateras i bakgrunden när det finns internet.

Sammantaget kan man göra webbappar lika snabba som appar på telefonen.