Flutter
Flutter / Dart: una codebase per iOS e Android, più web e desktop
Il toolkit UI di Google in Dart. Disegna ogni pixel da sé, quindi un design di brand su misura e le animazioni appaiono identici su iOS e Android. Un team, una codebase e build web e desktop dallo stesso codice. I compromessi: un bacino di talenti più piccolo rispetto a JavaScript, e le nuove funzioni di piattaforma arrivano tramite plugin, a volte in ritardo.
React Native
React Native (incl. Expo): JavaScript / TypeScript, componenti UI nativi
Il framework di Meta in JavaScript o TypeScript, con Expo come toolchain predefinita e la nuova architettura attiva di default. Renderizza veri componenti di piattaforma, quindi le schermate standard sembrano di casa su ogni OS. Dà il meglio quando il tuo team scrive già in React o quando l’app condivide logica con un prodotto web. La grafica personalizzata pesante è il suo punto debole.
iOS + Android nativo
Swift / SwiftUI per iOS e Kotlin / Compose per Android: due codebase
Due app, ciascuna nel linguaggio e nel toolkit UI della propria piattaforma. Ottieni ogni nuova funzione dell’OS dal primo giorno, il miglior accesso all’hardware come Bluetooth, dati sanitari, widget e fotocamera, e la sensazione più familiare. Il prezzo sono due codebase: circa 1,4–1,8 volte il costo di sviluppo di un’app cross-platform e due team da tenere allineati.
Kotlin Multiplatform
Kotlin Multiplatform: logica di business condivisa, UI nativa o Compose Multiplatform
Condivide in Kotlin logica di business, networking e dati, mentre ogni piattaforma mantiene una UI nativa, oppure usa Compose Multiplatform per le schermate condivise. È adatto ai team che hanno già app native o sviluppatori Android e vogliono meno duplicazione senza riscrivere tutto. L’ecosistema è più giovane: prevedi tempo extra per tooling e integrazione iOS.
PWA
Progressive Web App, con eventuale pacchetto Capacitor o TWA per gli store
Una web app che si installa sulla schermata Home e funziona offline entro i limiti del browser. È la strada più economica e veloce quando basta un link o un codice QR e l’app è fatta soprattutto di contenuti e moduli. Su iOS notifiche push, attività in background, storage e accesso al dispositivo sono più limitati che in un’app nativa, e per gli store serve un wrapper.