Blog

App cross-platform vs nativa: il confronto dei costi reale su 3 anni

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.

6 minTeam Sydus14 febbraio 2026

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.

Il punto di partenza: cosa stiamo confrontando

Definiamo le opzioni chiaramente:

  • App nativa doppia: iOS in Swift/SwiftUI + Android in Kotlin/Jetpack Compose, due codebase separate, due team (o un team che lavora in sequenza)
  • App cross-platform: React Native (con Expo) o Flutter, unica codebase che produce entrambe le app native

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.

Costo sviluppo iniziale

App nativa doppia:

  • iOS (Swift): 35.000-45.000€
  • Android (Kotlin): 28.000-38.000€
  • Backend e API: già esistente (0€ in questo scenario)
  • Design: 12.000-18.000€ (un unico sistema ma adattato per entrambe le piattaforme)
  • QA e testing: 8.000-12.000€
  • Totale: 83.000-113.000€

App React Native (Expo):

  • Sviluppo cross-platform: 42.000-55.000€
  • Design: 10.000-15.000€ (un unico design system)
  • QA e testing: 6.000-10.000€
  • Totale: 58.000-80.000€

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.

Costo manutenzione su 3 anni

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:

  • App nativa doppia: 18.000-28.000€/anno
  • App cross-platform: 10.000-16.000€/anno

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.

TCO a 3 anni (Total Cost of Ownership)

VoceNativa doppiaCross-platform
Sviluppo iniziale95.000€69.000€
Manutenzione anno 122.000€13.000€
Manutenzione anno 224.000€14.000€
Manutenzione anno 326.000€15.000€
Totale 3 anni167.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.

Il performance gap: reale o percepito?

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:

  • Lista con 1.000 elementi scrolling: React Native Fabric regge 60fps stabile su iPhone 12+. Su dispositivi Android mid-range più vecchi emerge qualche frame drop.
  • Animazioni di transizione: identiche nella maggior parte dei casi; il vantaggio nativo emerge su animazioni che devono sincronizzarsi con il thread UI a 120fps (ProMotion su iPhone Pro).
  • Accesso fotocamera e firma digitale: React Native gestisce bene entrambi tramite moduli nativi. Le performance sono quelle dell'hardware, non del framework.
  • Offline sync: implementato con MMKV (storage ultra-veloce per React Native) o Realm, le performance sono eccellenti.

Quando vale il costo extra della nativa

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

cross-platformnativacostiReact-NativeFlutterSwiftKotlin

Domande frequenti

Hai ancora dubbi?

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.