Un solo codice, tre app: web, iPhone e Android
Serviva un'area clienti sul web e negli store. Invece di scrivere due app native, ho pubblicato la stessa web app su iPhone e Android, con un passaggio che la protegge dalle risposte del sistema aziendale.
Di cosa aveva bisogno il cliente
Il mio cliente aveva bisogno di un'area clienti sul web e, insieme, di un'app negli store per iPhone e Android. La web app esisteva già: era nata su Lovable. Dietro c'era il sistema aziendale del cliente, con risposte e autenticazione tutte sue.
Perché la strada classica non conveniva
La strada classica porta a tre prodotti: il sito e due app native. Vuol dire tre basi di codice, tre giri di rilasci e funzioni che prima o poi smettono di coincidere.
In più, ogni versione avrebbe dovuto parlare da sola con il sistema aziendale e fare i conti con i suoi formati e i suoi momenti di lentezza.
Come la stessa web app è arrivata sugli store
Ho pubblicato la web app come app iOS e Android con Capacitor e ho messo un backend Laravel fra le app e il sistema aziendale.
- La stessa web app, anche negli store. Ho pubblicato la web app come app iOS e Android con Capacitor: un solo codice per tre canali.
- Un passaggio davanti al sistema aziendale. Un backend Laravel parla con il sistema del cliente al posto dell'app e restituisce risposte sempre nello stesso formato.
- Resistenza ai guasti. Se una chiamata fallisce, il passaggio riprova; se il sistema non risponde, si protegge invece di accumulare errori.
- Sincronizzazioni in coda. Le sincronizzazioni vanno in coda, così l'app non resta bloccata, e quelle fallite si recuperano.
- Notifiche e pagamenti nel backend. Le parti delicate stanno sul server, lontano dall'app installata sul telefono.
- Un controllo sulle build mobile. Una build per gli store che punta all'ambiente sbagliato viene bloccata prima di partire.
Che cosa è cambiato
- Web e app per iPhone e Android escono dallo stesso codice.
- Le app sono sugli store e in uso.
- Tutte le chiamate al sistema aziendale passano da un solo punto, che parla per tutte e tre le versioni.
Cosa puoi portarti a casa
- Prima di scrivere un'app nativa, chiediti se la tua web app basta già.
- Se l'app parla con un sistema che non controlli, mettigli davanti un passaggio che uniformi le risposte e regga i suoi momenti difficili.
- Pagamenti e notifiche stanno meglio sul server che nel telefono.
- Un errore di configurazione si previene meglio con un controllo automatico che affidandosi all'attenzione.
Dettagli modificati per tutelare la riservatezza del cliente.
Benefici
- Web e app escono dallo stesso codice: una modifica vale ovunque
- Nessuna app nativa da scrivere e mantenere a parte
- L'app regge anche quando il sistema aziendale è lento o non risponde
- Nessuna build per gli store collegata all'ambiente sbagliato
Funzionalità
- Web app pubblicata come app iOS e Android con Capacitor
- Passaggio Laravel che rende uniformi le risposte del sistema aziendale
- Nuovi tentativi automatici e protezione quando il sistema non risponde
- Sincronizzazioni in coda, con recupero di quelle fallite
- Notifiche e pagamenti gestiti dal backend
- Controllo che blocca le build mobile sull'ambiente sbagliato
Hai un problema simile?
Raccontami cosa ti serve: ti rispondo io, di solito entro un giorno lavorativo.