React Native consente di sviluppare APP (Android e IOS) sfruttando codice scritto tramite React. React Native è una tecnologia messa a disposizione da Facebook che permette di scrivere una sola volta il codice dell’App e di metterla a disposizione per Android e per IOS.
Questo tipo di approccio consente di ottimizzare i tempi ed i costi dello sviluppo rendendo di fatto non piu necessario scrivere due app distinti (doppio tempo di sviluppo e doppio tempo per i test).
Per il setup dell’ambiente di sviluppo possiamo scegliere due approcci:
- React Native Cli: è un tool che è stato creato da Meta. E’ un tool a linea di comando che si compone di tre parti: native IOS, Android e app React Native. Per poterlo utilizzare è necessario avere installato Xcode (IOS) oppure Android Studio. Lo svantaggio principale è quello che si tratta di un framework non particolarmente flessibile. E’ possibile integrare il codice con codice nativo, ma è necessario avere conoscenza dello sviluppo mobile
- ExpoCli: è un framework ed una piattaforma per lo sviluppo di applicazioni React Universali. Sviluppato attorno al mondo React Native, consente di sviluppare, pubblicare e testare applicazioni per IOS, Android e web app. Il tutto a partire dal codice scritto in Javascript (Typescript).
Expo Cli
Expo viene distribuito con una serie di features già integrate, ma che possono anche rappresentare delle limitazioni per quanto riguarda lo sviluppo. Ad esempio, non è possibile connettere librerie personalizzate con i moduli nativi perchè non abbiamo accesso diretto alle parti native delle applicazioni.
Il framework Expo è composta da:
Expo Cli: il core del framework che consente di creare progetti vuoti, eseguirli, compilarli ed effettuare aggiornamenti
Expo Go: un’app Android e IOS dove vengono eseguiti i progetti. Con questa app è possibile distribuire all’interno del team di sviluppo, le app create (senza la necessità di compilarle e di firma digitale)
Expo Snack: un tool che consente di scrivere le app direttamente all’interno del browser
Expo Application Services (EAS): un servizio cloud per Expo e le applicazioni React Native. Con questo servizio le app possono essere compilate, firmate digitalmente e pubblicate sugli store ufficiali
Expo include al suo interno una particolare versione di React Native, che viene aggiornata quando Expo Cli è compatibile al 100% con la nuova versione.