App mobile o web app: come scegliere la soluzione giusta per la tua azienda
Tre opzioni tecniche, una sola scelta da fare. Ecco come valutare app nativa, web app e PWA senza perdere tempo e denaro.
Analisi TCO su 3 anni tra app cross-platform (React Native, Flutter) e app nativa (Swift, Kotlin): sviluppo, manutenzione, performance e quando vale il costo extra.
Quando si confronta cross-platform vs nativo la conversazione scivola quasi sempre su performance e qualità del codice. La domanda più concreta, quanto costa la differenza su 3 anni?, riceve risposte vaghe. Questa analisi usa numeri reali per rispondere.
Definiamo le opzioni chiaramente:
Le specifiche del progetto di riferimento: app B2B per gestione interventi tecnici sul campo. Autenticazione, lista lavori, geolocalizzazione, firma digitale, foto, sincronizzazione offline, notifiche push. Backend Node.js già esistente.
App nativa doppia:
App React Native (Expo):
Il risparmio iniziale è reale: 30-40% in meno. Non è il 60-70% che a volte viene promesso, perché la logica di business, il design, i test e l'integrazione col backend sono costi che esistono indipendentemente dalla piattaforma.
Questo è dove il confronto diventa più interessante.
Aggiornamenti OS annuali: ogni anno Apple e Google rilasciano nuove versioni del loro sistema operativo che introducono cambiamenti alle API, nuovi requisiti di sicurezza e deprecazioni. Per l'app nativa doppia, ogni cambiamento richiede intervento su due codebase da parte di due specialisti diversi. Per il cross-platform, un singolo aggiornamento copre entrambe le piattaforme.
Costo annuale stimato per manutenzione ordinaria e aggiornamenti OS:
Aggiunta di nuove funzionalità: anche qui il cross-platform mantiene il vantaggio del codice condiviso. Una nuova schermata richiede circa il 60% del tempo rispetto a implementarla su due piattaforme.
Eccezioni: le funzionalità che richiedono codice nativo specifico per piattaforma (ARKit vs ARCore, specifiche API iOS vs Android) azzerano il vantaggio del cross-platform per quella funzione specifica.
| Voce | Nativa doppia | Cross-platform |
|---|---|---|
| Sviluppo iniziale | 95.000€ | 69.000€ |
| Manutenzione anno 1 | 22.000€ | 13.000€ |
| Manutenzione anno 2 | 24.000€ | 14.000€ |
| Manutenzione anno 3 | 26.000€ | 15.000€ |
| Totale 3 anni | 167.000€ | 111.000€ |
Risparmio totale a 3 anni: ~56.000€, pari al 33% del TCO. Un numero significativo ma lontano dal "costa la metà" che circola spesso.
Su applicazioni B2B standard, lista di elementi, form, navigazione tra schermate, chiamate API, la differenza di performance tra React Native (New Architecture) e nativo è misurabile in benchmark artificiali ma non percepibile dall'utente medio.
I benchmark su casi d'uso reali mostrano:
Ci sono casi in cui il gap di performance è reale e misurabile, e in cui investire nel nativo è giustificato:
Gaming e grafica 3D: Unity rimane il gold standard, ma anche per giochi più semplici il nativo con Metal (iOS) o Vulkan (Android) supera qualsiasi framework cross-platform.
Realtà aumentata: ARKit e ARCore, usati direttamente in Swift e Kotlin, offrono performance e funzionalità che React Native non può eguagliare tramite librerie wrapper (che spesso sono non mantenute o incomplete).
Processing video/audio intensivo: editing video in tempo reale, effetti audio, trascrizione offline, tutto ciò che richiede accesso diretto alla GPU e ai codec hardware del dispositivo.
App che devono integrarsi profondamente con l'OS: widget per la home screen, estensioni Safari, ShareSheet custom, Siri Shortcuts, queste integrazioni richiedono codice nativo e rendono conveniente avere tutta l'app nativa.
Per la grande maggioranza dei progetti B2B, gestionali mobile, portali field service, app di reporting, workflow di approvazione, questi requisiti non esistono. Il cross-platform è la scelta economicamente ottimale.
Tag
Domande frequenti
Un'app React Native è visivamente diversa da una nativa?
Nella maggior parte dei casi no, almeno per l'utente finale. React Native usa i widget nativi del sistema operativo (UIKit su iOS, Android Views su Android), al contrario di Flutter che disegna tutto con il proprio engine. Il risultato è che bottoni, campi di testo, scrolling e gesture si comportano esattamente come ci si aspetta su ogni piattaforma. Le differenze visibili emergono solo su UI molto custom o su animazioni complesse che richiedono sincronizzazione con thread nativi.
Le banche possono usare app cross-platform?
Sì. Alcune delle più grandi istituzioni finanziarie al mondo usano React Native in produzione: Coinbase, il wallet di PayPal e diverse banche challenger europee. Le preoccupazioni storiche su sicurezza e performance sono in gran parte superate con la New Architecture di React Native. I requisiti di sicurezza avanzata (certificate pinning, jailbreak detection, biometria) sono implementabili tramite moduli nativi che coesistono con il codice cross-platform.
Posso passare da cross-platform a nativa in futuro?
Tecnicamente sì, ma in pratica è una riscrittura completa. Non esiste una migrazione automatica: il codice React Native o Flutter non si converte in Swift/Kotlin. La strategia più usata è il 'brown-field': mantenere l'app cross-platform e sostituire gradualmente schermate specifiche con moduli nativi dove le performance lo richiedono. Questo approccio, supportato nativamente da React Native, consente di ottimizzare solo le parti critiche senza riscrivere tutto.
Continua a leggere
Tre opzioni tecniche, una sola scelta da fare. Ecco come valutare app nativa, web app e PWA senza perdere tempo e denaro.
React Native o Flutter? Un confronto onesto su performance, developer experience, ecosystem e disponibilità di talenti in Italia per aiutarti a scegliere.
Nessuna risposta vaga: ecco le fasce di prezzo reali, i fattori che fanno lievitare i costi e le voci che quasi nessuno considera nel budget iniziale.