Software / Nota di lavoro
Ti serve davvero un'app o potrebbe bastare una web app?
App mobile o web app? La scelta dipende da chi la userà, dal dispositivo, dalla frequenza di utilizzo e dalle funzioni necessarie offline.
Se una persona lavora tutto il giorno dal telefono, un'app da installare può essere comoda. Se invece deve entrare due volte l'anno per leggere un documento, probabilmente le basta un link. La scelta tra app mobile e web app dipende da quattro cose: chi userà il prodotto, da quali dispositivi, per fare cosa e quali operazioni devono funzionare anche senza connessione.
Parti da quanto spesso verrà usata
Per installare un'app bisogna trovarla nello store, scaricarla, accettare eventuali permessi e capire da dove si comincia. Se la usi ogni giorno lo fai una volta e non ci pensi più. Se ti serve per una sola operazione veloce, è una seccatura che potevi evitare.
Pensa a un ospite che vuole controllare le date nel booking engine di un agriturismo: non ha nessun motivo di installare l'app della struttura prima ancora di aver scelto la camera. Lo stesso vale per chi apre il sito di un ristorante da Google o da un QR, e in questi casi un link è più pratico.
Un tecnico che registra interventi per tutta la giornata ha esigenze diverse. Usa il telefono di continuo, magari mentre si sposta, e può trovare più comoda un'app sempre a portata di mano.
Essere su App Store e Google Play, da solo, non è un buon motivo per sviluppare un'app. Prima bisogna capire perché una persona dovrebbe scaricarla e poi continuare a usarla.
Dipendenti e clienti possono entrare in modi diversi
Non serve scegliere una sola strada per tutti. Una web app e un'app mobile possono usare gli stessi account, gli stessi dati e le stesse regole.
Il team può lavorare dal computer con una web app, chi è fuori sede usa alcune funzioni da un'app mobile e il cliente riceve un semplice link. Il sistema è uno solo, ma ognuno lo apre nel modo più comodo per quello che deve fare.
Proposa funziona così: chi prepara i preventivi, me compreso, lavora da un pannello, mentre il cliente riceve un link e legge la proposta senza installare nulla. In Aportata il ristoratore gestisce il menù da un pannello e l'ospite lo apre dal QR.
Quando può bastare una web app
Una web app si apre nel browser, ma non per questo è un sito con due pulsanti: può avere account, ruoli, documenti, pagamenti e tutte le funzioni di un gestionale, un portale clienti o un sistema di prenotazione.
Di solito è una buona scelta quando le persone devono entrare velocemente da un link, il prodotto deve funzionare sia da computer sia da telefono e non servono funzioni che il browser gestisce male.
Poi ci sono le Progressive Web App, o PWA, che si possono installare e usano alcune funzioni tipiche delle app. È la strada che ho scelto per l'app dei tecnici di IdroCore: si apre dal browser del telefono e si aggiunge alla schermata home, senza passare dallo store. Il supporto però cambia in base al browser e al dispositivo, e infatti la guida di web.dev sulle capacità delle PWA suggerisce di controllare una per una le funzioni che ti servono.
Anche gli aggiornamenti sono più semplici: pubblichi una nuova versione e tutti la trovano allo stesso indirizzo. Test e manutenzione restano, ma non devi mandare ogni aggiornamento ai vari store.
Quando conviene un'app mobile
Un'app mobile ha più senso quando il telefono è lo strumento principale con cui una persona lavora o usa il servizio. Può servire se l'uso è frequente, se alcune funzioni del dispositivo sono indispensabili o se il prodotto deve funzionare in condizioni che il browser non gestisce bene.
Fotocamera, posizione, file e notifiche ci sono anche in molte applicazioni web, ma non sempre funzionano allo stesso modo su tutti i telefoni. Quindi «ci serve la fotocamera», da solo, non basta: bisogna descrivere cosa farà la persona e verificare se il browser riesce a farlo in modo affidabile.
Poi c'è la gestione degli store. Apple controlla app e aggiornamenti con la sua App Review, mentre Google chiede le informazioni necessarie per la revisione su Google Play, e questo lavoro continua anche dopo il primo rilascio, perché regole e sistemi operativi cambiano nel tempo.
Chiarisci cosa deve funzionare offline
«Deve funzionare offline» può voler dire tante cose. Alcune schermate magari vanno solo consultate, altre devono permettere di modificare i dati e salvarli quando torna la connessione.
Immagina un tecnico che cambia l'indirizzo di un intervento mentre è senza rete, e nel frattempo qualcuno in ufficio modifica lo stesso indirizzo. Quando il telefono torna online, il sistema si trova con due versioni dello stesso dato e deve sapere quale tenere, oppure chiedere a qualcuno di controllare.
Questo problema c'è anche con un'app nativa. Salvare un dato sul telefono è abbastanza semplice, sincronizzarlo senza cancellare il lavoro di qualcun altro richiede regole precise. Prima di scegliere la tecnologia, quindi, scrivi quali azioni devono funzionare offline e cosa deve succedere quando due modifiche vanno in conflitto.
Metti in conto tutte le versioni da mantenere
Una web app non costa sempre meno di un'app mobile. Il prezzo dipende dalle funzioni e da quante versioni bisogna sviluppare, provare e aggiornare.
Oltre alle schermate ci sono il database, gli accessi, i ruoli, le notifiche e i collegamenti con altri strumenti. E potresti ritrovarti con una web app, una versione per iPhone e una per Android: anche quando una parte del codice è condivisa, ognuna va provata sui dispositivi che verranno usati davvero.
Per decidere, prendi le tre azioni più importanti del prodotto e segnati chi le fa, da quale dispositivo, quanto spesso e cosa deve succedere senza connessione. Se il browser le gestisce bene e un link rende facile entrare, io partirei da una web app. Se il lavoro si fa soprattutto dal telefono e il browser non offre alcune funzioni in modo affidabile, valuterei un'app mobile.
E non devi farle tutte insieme. Puoi partire da una web app e aggiungere l'app mobile quando nasce un bisogno reale, oppure fare un'app per chi lavora sul campo e un pannello web per chi amministra. È proprio il ragionamento da cui parto quando progetto un software su misura.