WebView
Manutenção de Software
Desenvolvimento Mobile
Operação de Produto
DevOps

WebView nella vita di tutti i giorni: cosa cambia nel funzionamento e nella manutenzione dell'app

Il costo reale di WebView non emerge al momento del lancio, ma si manifesta nel funzionamento, nella manutenzione e nel supporto nel corso degli anni.

WebView nella vita di tutti i giorni: cosa cambia nel funzionamento e nella manutenzione dell'app

La decisione di utilizzare WebView viene solitamente presa all'inizio del progetto, in un incontro in cui si discutono scadenza e budget. Quello che quasi nessuno discute in questo incontro è quello che verrà dopo: come si comporterà questa app nel secondo anno, chi la manterrà, come si aggiorna, cosa si rompe quando cambia il sistema operativo.

È qui che la teoria incontra la realtà. Un'app WebView che sembrava un grande risparmio al momento del lancio potrebbe diventare un grattacapo operativo o continuare a essere la scelta migliore, a seconda di come il team gestisce le operazioni quotidiane.

Questo testo è per coloro che hanno già o avranno un'app basata su WebView effettivamente in esecuzione. Non si tratta del concetto, ma dell'operazione. Su cosa cambia nella routine di chi mantiene, supporta ed evolve un prodotto come questo. Perché è nella vita di tutti i giorni, e non sul piano decisionale, che la scelta si dimostra.

Il vantaggio operativo citato da tutti

Cominciamo dal lato positivo, che è reale. Il più grande vantaggio pratico di WebView emerge proprio nel funzionamento: la possibilità di aggiornare contenuti e correzioni senza passare dallo store.

In un'app nativa pura, qualsiasi modifica, anche la correzione di un testo sbagliato, richiede la generazione di una nuova versione, l'invio allo store per la revisione, l'attesa dell'approvazione e la speranza dell'aggiornamento da parte degli utenti. Questo ciclo dura giorni e non raggiunge mai tutti immediatamente; Ci sarà sempre chi si atterrà alla vecchia versione.

In WebView, lo schermo è una pagina web. Lo correggi sul server e la correzione raggiunge tutti gli utenti la prossima volta che aprono quella schermata. Per i team che hanno bisogno di reagire rapidamente, correggere un errore, adattare una campagna, modificare una regola aziendale, questo è oro operativo. È la differenza tra spegnere un incendio in poche ore o in una settimana.

La tesi: WebView scambia i costi di lancio con i costi operativi

La mia posizione, dopo aver visto maturare diversi prodotti, è che WebView non elimina i costi, ma li sposta nel tempo. Paghi meno per il lancio e in cambio presti continua attenzione per operare.

Questo non è un difetto. E' la natura della scelta. Il problema è quando il team tratta WebView come "l'abbiamo fatto e basta", come se fosse un'app nativa che pubblichi e di cui ti dimentichi. Non lo è. Un'app WebView dipende da un'infrastruttura web vivente dietro di essa, server, pagine, prestazioni, sicurezza, che necessitano di cure permanenti.

Coloro che comprendono questo pianificano l’operazione dall’inizio. Chi non capisce scopre, nel momento peggiore, che l'app che costava “economica” aveva in realtà un costo ricorrente che nessuno aveva preventivato.

Cosa cambia nella routine di manutenzione

Inizi a mantenere due mondi

Un'app nativa ha un ciclo di manutenzione. Un'app in WebView ne ha due: il contenitore nativo (la shell che va allo store) e il contenuto web (le pagine che visualizza). Si evolvono a velocità diverse e si rompono per ragioni diverse.

Ciò significa che il tuo team ha bisogno di competenza su entrambi i fronti o di una chiara divisione di chi si prende cura di cosa. Quando la conoscenza è concentrata in una persona che comprende "la magia di come l'app comunica con il web", si ha un unico punto di fallimento in attesa di verificarsi.

Anche il browser integrato invecchia

Un dettaglio che coglie di sorpresa molti team: il componente WebView fa parte del sistema operativo e cambia con esso. Un aggiornamento Android o iOS può modificare leggermente il modo in cui vengono visualizzate le tue pagine. Qualcosa che prima funzionava perfettamente inizia a comportarsi diversamente senza che nessuno tocchi il codice.

Pertanto, il mantenimento di un'app in WebView richiede test regolari sulle versioni attuali dei sistemi, non solo una volta al momento del lancio. Un funzionamento sano include il monitoraggio di ciò che le piattaforme annunciano e la convalida prima che la modifica raggiunga l'utente.

Le prestazioni sono manutenzione, non configurazione

La fluidità di un'app WebView dipende direttamente dal peso delle pagine che carica. Nel corso del tempo, è naturale che le pagine accumulino codice, librerie e funzionalità e diventino più lente. Ciò che era accettabile al momento del lancio può peggiorare mese dopo mese senza che nessuno se ne accorga, fino a quando l'utente non si lamenta.

Mantenere le prestazioni diventa quindi routine: monitorare i tempi di caricamento, monitorare la crescita della pagina, ottimizzare regolarmente. In Brasile, dove molte persone utilizzano dispositivi intermedi e reti instabili, questa attenzione è ciò che distingue un’app utilizzabile da un’app che si blocca dove conta di più.

Il supporto utente sembra diverso

Quando qualcosa va storto in un'app nativa, il problema solitamente risiede nella versione installata. In WebView, il problema potrebbe risiedere nella shell, nella pagina, nel server, nella connessione dell'utente o nella versione del sistema dell'utente. La diagnosi ha più livelli.

Questo cambia il lavoro di chi fornisce supporto. Avere un buon record di errori che distingua dove si è verificato l'errore è ciò che rende valida la diagnosi, perché "l'app non si carica" ​​può significare cose molto diverse. Senza questa visibilità, il team è lasciato a indovinare e l'utente è lasciato in attesa.

D'altro canto c'è un sollievo operativo: quando il problema è nei contenuti web, lo risolvi una volta e lo risolvi per tutti, senza dipendere dall'aggiornamento dell'utente. La possibilità di correggere centralmente, sul server, è uno dei maggiori vantaggi del modello nel supporto quotidiano.

Sicurezza nella vita di tutti i giorni, non solo nel progetto

Poiché WebView carica contenuti Web, eredita i problemi di sicurezza del Web e questi problemi sono continui, non una tantum. Librerie che invecchiano e acquisiscono difetti noti, certificati che scadono, configurazioni che devono seguire le migliori pratiche: tutto questo è manutenzione ricorrente.

Per le app che gestiscono dati di utenti o cittadini, ciò si collega direttamente alla LGPD e alla continuità del servizio. Una pagina compromessa o una dipendenza obsoleta non è un problema del "sito", è un problema dell'app, con le stesse conseguenze legali e di fiducia. Trattare la sicurezza del livello web come una routine operativa fa parte del prezzo di mantenimento di una WebView.

Le insidie dell'operazione

La trappola più comune è quella dell’abbandono dell’app all’interno. Dall'esterno è ancora nel negozio, sembra vivo. All'interno, le pagine che carica non ricevono attenzione da mesi, le prestazioni sono peggiorate, le dipendenze sono invecchiate. L'app "esiste", ma il funzionamento si è interrotto, e questo diventa un rischio silenzioso.

Un'altra trappola è il mancato budget per l'operazione. Il progetto aveva soldi per essere realizzato, ma nessuno lo riservava alla manutenzione. Poiché WebView sposta i costi sul funzionamento, un prodotto senza un budget per la manutenzione è destinato a marcire più velocemente di un'app nativa equivalente.

Il terzo è la mancanza di proprietario. Quando non c’è chiarezza su chi sia responsabile del livello web dell’app, ciascuna parte presuppone che se ne occupi l’altra. La shell è "il team mobile", la pagina è "il team web", e il confine tra i due è orfano, esattamente dove compaiono la maggior parte dei problemi.

WebView è un impegno a lungo termine, non una scorciatoia

La frase che vale la pena ricordare: WebView non è una decisione che prendi una volta. È un impegno operativo che rinnovi ogni mese. I risparmi derivanti dal lancio si realizzano solo se l’operazione viene presa sul serio in seguito.

Ben gestita, un'app WebView offre un'agilità che un'app nativa pura non ha, correzioni immediate, contenuti sempre aggiornati, un ciclo di evoluzione veloce. Se gestito male, diventa un prodotto tiepido e fragile che costa in reputazione ciò che ha risparmiato nello sviluppo. La tecnologia è la stessa; Ciò che cambia è la disciplina di chi la mantiene.

Se gestisci un'app in WebView e ritieni che la manutenzione sia diventata reattiva, cambiando solo in caso di interruzione, vale la pena strutturare questa routine prima che i costi si manifestino all'improvviso. Ho altri testi sul blog riguardanti la manutenzione del software, il funzionamento mobile e del prodotto, e sono disponibile a scambiare idee con chi si occupa quotidianamente della manutenzione di prodotti come questo.

Leggi anche