Expo è un framework open source per creare app iOS, Android e web con React Native. Raccoglie ciò di cui un'app React Native ha bisogno e che React Native da solo non fornisce: una libreria di moduli nativi testati, un router basato sui file, uno strumento a riga di comando e un insieme di servizi cloud (EAS) che compilano la vostra app e la inviano agli store. Dal 2024 la documentazione di React Native raccomanda di avviare ogni nuova app con un framework, e indica Expo come quel framework.
Se avete mai configurato un progetto React Native da zero, sapete perché: Xcode, Android Studio, dipendenze native, certificati di firma. Expo nasconde questa macchineria finché non vi serve, e ve la restituisce quando arriva il momento. Questa guida spiega di cosa è fatto Expo, cosa è cambiato nel 2025 e nel 2026, quanto costa e in quali casi non è lo strumento giusto.
Expo e React Native: un framework, non un fork
React Native è il motore. Prende componenti React scritti in JavaScript o TypeScript e li rende come vere viste native: un pulsante UIKit su iOS, una View Android su Android. Quel motore è mantenuto da Meta e usato in app come Facebook, Instagram, Microsoft Office e Shopify.
Expo è il framework intorno a quel motore, come Next.js è un framework intorno a React. Non sostituisce React Native e non lo forka: un'app Expo è un'app React Native, con gli stessi componenti, le stesse librerie e, alla fine, gli stessi binari nativi. Ciò che Expo aggiunge è lo strato che altrimenti tutti ricostruiscono a mano: la navigazione, una libreria standard di API del dispositivo, una pipeline di build e un modo per distribuire gli aggiornamenti.
La distinzione conta a causa di una vecchia reputazione. Le prime versioni di Expo (prima del 2021) vi chiudevano dentro un insieme fisso di moduli nativi; aggiungere una libreria nativa personalizzata significava abbandonare Expo del tutto. Quel limite è sparito. Oggi potete aggiungere qualsiasi modulo nativo, scrivere Swift o Kotlin accanto al vostro TypeScript, ed Expo genera i progetti nativi per voi quando è il momento di compilare.
Da ricordare
Ogni app Expo è un'app React Native. Il contrario non è vero: un'app React Native senza Expo deve assemblare da sola navigazione, moduli nativi, build e aggiornamenti. La documentazione di React Native lo dice chiaramente: se state creando una nuova app, usate un framework, e quello raccomandato è Expo.
I mattoni
Il modo migliore per capire Expo è vederlo a strati. Voi scrivete contro i due più in alto, React Native fa il rendering sotto, e un servizio cloud separato trasforma il tutto in qualcosa che si installa da uno store.
L'Expo SDK: una libreria standard per il telefono
L'SDK è una raccolta di pacchetti, uno per funzionalità: expo-camera, expo-location, expo-notifications, expo-file-system, expo-sensors e qualche decina d'altri. Vengono testati insieme e pubblicati insieme, tre volte l'anno, e ogni versione dell'SDK è agganciata a una versione precisa di React Native. Questo aggancio è il motivo principale per cui le app Expo si aggiornano più facilmente delle app React Native senza framework: qualcun altro ha già verificato che i pezzi combacino.
Expo CLI ed Expo Router
La CLI crea un progetto, avvia il server di sviluppo (Metro) ed esegue i comandi di build. Expo Router aggiunge la navigazione basata sui file: ogni file della cartella app/ è una schermata, e il suo percorso è la sua route. Le stesse route funzionano come deep link sul telefono e come URL sul web, senza configurazione aggiuntiva. Dall'SDK 56, Expo Router non dipende più da React Navigation: ha forkato le parti che gli servivano per evolvere in autonomia.
Expo Go, development build e build di produzione
È qui che i principianti si perdono, quindi ecco il quadro completo in una tabella. Sono tre modi di eseguire lo stesso codice, in fasi diverse.
| Expo Go | Development build | Build di produzione | |
|---|---|---|---|
| Cos'è | Un'app pronta all'uso che incorpora l'Expo SDK | La vostra app, con gli strumenti di sviluppo all'interno | Il binario firmato che inviate agli store |
| Codice nativo personalizzato | No, solo i moduli dell'SDK | Sì | Sì |
| Come si ottiene | Si installa, si accede, si scansiona un codice QR | Si compila una volta (EAS o in locale), poi si ricarica in diretta | EAS Build o un build locale |
| Ideale per | Prototipi, apprendimento, mostrare una prima versione su un telefono vero | Il lavoro quotidiano su un progetto vero | Il rilascio |
Un cambiamento da conoscere per il 2026: Expo Go ha passato parte dell'anno fuori dall'App Store. Da maggio le nuove versioni sono rimaste in attesa nella coda di revisione di Apple, quindi Expo Go per l'SDK 56 e l'SDK 57 andava installato con la CLI di Expo (Android, simulatori) o come build TestFlight personale creato con il comando eas go (iPhone). A settembre 2026 Expo Go per l'SDK 57 è tornato sull'App Store con una nuova regola: bisogna aver effettuato l'accesso con lo stesso account Expo nella CLI di Expo e nell'app Expo Go. Su Android la regola arriverà più tardi. Expo Go resta il modo più rapido per vedere un'app su un telefono, ma Expo continua a indirizzare i progetti seri verso i development build. La nostra guida su come testare un'app con Expo Go copre la regola dell'accesso, il flusso con il codice QR e gli errori più comuni.
EAS: il lato cloud
Expo Application Services è la parte di Expo che non è open source e non è gratuita oltre una certa quota. Ha tre compiti. EAS Build compila la vostra app su macchine cloud, comprese le macchine macOS indispensabili per iOS, così potete produrre un build per iPhone da Windows o Linux. EAS Submit carica il binario finito su App Store Connect o Google Play. EAS Update invia modifiche JavaScript alle app installate senza una nuova pubblicazione sullo store, entro i limiti che gli store consentono. La documentazione di EAS Build descrive la configurazione esatta.
Cosa è cambiato nel 2025 e nel 2026
Due anni di release hanno trasformato Expo da comodo involucro a modo predefinito di usare React Native. I cambiamenti da conoscere:
- Solo New Architecture. Dall'SDK 55 le app Expo girano esclusivamente sulla New Architecture di React Native: il renderer Fabric, i TurboModules e JSI sostituiscono il vecchio bridge asincrono. React Native 0.85 (aprile 2026) ne ha fatto il presupposto di tutto l'ecosistema, e l'SDK 56 include di default il motore JavaScript Hermes v1.
- L'SDK 56 (maggio 2026) punta sulla velocità di build. I moduli iOS più pesanti arrivano ora precompilati, il che secondo le misure di Expo rende i build iOS più veloci di circa il 16%, e la CLI impacchetta i progetti a freddo dal 20 al 50% più in fretta.
- L'SDK 57 (giugno 2026) passa a React Native 0.86. React resta alla 19.2 e React Native 0.86 non annuncia breaking change, quindi l'aggiornamento dall'SDK 56 è leggero: migliore supporto edge-to-edge su Android, emulazione delle modalità chiara e scura nei React Native DevTools, e correzioni di rendering, layout e animazioni.
- Expo UI è stabile. I componenti SwiftUI e Jetpack Compose si possono usare da React, così un'app può adottare gli ultimi widget di piattaforma senza uscire da TypeScript.
- Moduli nativi inline. Un file Swift o Kotlin può stare accanto al TypeScript che lo chiama, con tipi generati. Il vecchio muro tra «mondo JavaScript» e «mondo nativo» è quasi sparito.
Ritmo degli aggiornamenti
Tre release dell'SDK all'anno significano un aggiornamento all'incirca ogni quattro mesi. Ognuno è piccolo se restate al passo, e doloroso se ne saltate tre. Mettete in conto un pomeriggio a trimestre: è il vero costo di manutenzione di un'app Expo, ed è inferiore all'equivalente su un progetto React Native senza Expo.
Prezzi, limiti e quando Expo è la scelta sbagliata
Il framework, l'SDK, la CLI ed Expo Router sono gratuiti e open source. Ciò che costa è il cloud, e gli account Apple e Google che vi servono a prescindere dal framework.
| Elemento | Prezzo | Cosa ottenete |
|---|---|---|
| Framework Expo, SDK, CLI, Router | Gratuito, open source | Tutto ciò che gira sul dispositivo |
| EAS piano Free | 0 USD | 15 build iOS e 15 build Android al mese, coda a bassa priorità (nei momenti di punta capitano attese oltre i 90 minuti), timeout di build di 45 minuti |
| EAS Starter | 19 USD al mese più consumo | Coda prioritaria, timeout di build di 2 ore |
| EAS Production | 199 USD al mese più consumo | Quote più alte per i team che rilasciano spesso |
| Apple Developer Program | 99 USD / anno | Obbligatorio per pubblicare sull'App Store, qualunque sia il framework |
| Google Play Console | 25 USD (una tantum) | Obbligatorio per pubblicare su Google Play |
Quando Expo è la scelta giusta
- Il vostro team scrive JavaScript o TypeScript, o viene dallo sviluppo web.
- Volete un solo codice per iOS, Android e, spesso, il web.
- Nessuno nel team ha un Mac, o nessuno vuole mantenere installazioni di Xcode e Android Studio.
- La vostra app è un prodotto, non un gioco: moduli, elenchi, mappe, fotocamera, notifiche, pagamenti.
Quando non lo è
- L'app è soprattutto codice nativo su misura: un motore 3D, pipeline audio o video in tempo reale, realtà aumentata pesante.
- Il team ha già investito in Swift o Kotlin, nel qual caso Kotlin Multiplatform può condividere di più con meno attrito.
- Vi serve solo un sito adatto al mobile con un'icona installabile: una progressive web app costa meno e non ha bisogno di alcuno store.
Per una visione più ampia delle alternative, la nostra guida allo sviluppo mobile cross-platform confronta React Native con Flutter, Kotlin Multiplatform e le app web incapsulate.
Come Cadrant usa Expo
I progetti mobile nativi su Cadrant sono applicazioni Expo e React Native. Descrivete l'app in linguaggio naturale, il progetto generato usa l'Expo SDK per le funzioni del dispositivo, e l'anteprima si apre in una cornice di telefono dentro l'editor. Per testare su un dispositivo reale, scansionate un codice QR con Expo Go; la maggior parte delle API expo-* gira lì direttamente.
La pubblicazione segue lo stesso percorso che uno sviluppatore farebbe a mano, guidato per voi: il build iOS gira su EAS con il vostro account Expo (il piano gratuito copre 15 build iOS al mese), e il binario finito viene inviato al vostro account App Store Connect dopo un passaggio guidato di accesso Apple, creazione dell'app e certificato. La proprietà resta a voi, sui vostri account Expo e Apple. La pagina del creatore di app mobile descrive il flusso completo.
Consiglio pratico
Create il vostro account Expo gratuito e la vostra iscrizione all'Apple Developer Program dal primo giorno, non il giorno del lancio. L'attivazione di un account Apple può richiedere giorni per una società, e il primo build EAS su un piano gratuito può restare in coda. In entrambi i casi è tempo di calendario che non si recupera.
In breve: Expo è React Native con le batterie incluse, e dal 2024 è il modo di iniziare che lo stesso team di React Native vi consiglia. Imparate la differenza tra Expo Go e un development build, mettete in conto la quota cloud e gli account degli store, e il resto è React.