Vai al contenuto

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.

Un solo codice, tre app: web, iPhone e Android

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.