Inoltre, non voglio nascondere che React Native sia un obiettivo in rapido
movimento, abbiamo nuove versioni pubblicate quasi ogni mese.
Si verificano interruzioni di modifica e, naturalmente, farò del mio meglio per mantenere questo corso aggiornato
per farti conoscere le modifiche e come regolare il tuo codice ma a volte, devi solo tornare
a un'app che hai creato sei mesi fa e devi cambiare qualcosa lì perché qualcosa è
cambiato nell'ultima versione di React
Native e per continuare a lavorare sulla tua app, devi cambiare qualcosa nel codice che prima funzionava, è
normale,
che accadrà, non
tutto il tempo, non tutti i mesi ma accadrà. Anche in React Native, in genere si
ha un'elevata dipendenza da pacchetti di terze parti.
Ora il bello è quando si lavora con expo, questo è solo in parte vero perché expo stesso è
già un tale wrapper con molte funzioni interessanti
incorporate, quindi hai un'alta dipendenza da expo quando lavori con quello ma non devi trovare dozzine
di altri pacchetti di terze parti per accedere alla videocamera, per lavorare con Bluetooth o cose del genere.
Se stai creando un'app React Native senza barebon, sarebbe diversa,
solo un set di funzionalità di base è integrato direttamente in React Native e per la
maggior parte delle cose che desideri aggiungere alla tua app nativa, dovresti raggiungere altri pacchetti gestiti dalla community
per farli funzionare e anche con
expo, avremo bisogno di un paio di pacchetti di terze parti per avere tutto ciò che vogliamo.
E questo è qualcosa che hai, hai quella dipendenza e questo ovviamente significa che
se quei pacchetti cambiano o non vengono più mantenuti, devi trovare alternative o devi aggiornare il tuo codice,
quindi è qualcosa che devi anche essere consapevole di. E React Native ha anche alcuni bug, non cruciali,
puoi fondamentalmente
creare qualsiasi app tu voglia con React Native ma a volte le cose non funzionano come
ti aspetteresti che funzionino e devi essere creativo, trovare soluzioni alternative e così via
e in questo corso ti mostrerò anche alcune di queste strane cose che React Native ha, ma
in generale, quando crei app React Native, devi essere disposto a rimanere aggiornato, a utilizzare Google, a immergerti nelle
discussioni dei problemi e semplicemente prova le cose. Con Expo hai un'esperienza di sviluppo piuttosto fluida
ma, di tanto in tanto, la strada può essere accidentata. Ora, tutto ciò potrebbe sembrare piuttosto brutto, quindi non
dovresti aver imparato React Native? Bene diamo un'occhiata alle alternative.
Naturalmente un'alternativa è sempre quella di creare vere app native con il framework Android per
Java o Kotlin o con Swift, ObjectiveC per iOS.
Puoi farlo, ma ovviamente il rovescio della medaglia è che devi imparare queste lingue e l'enorme vantaggio di lavorare in
un progetto e condividere un sacco di codice andrà completamente perso. Nelle app React Native, sicuramente, probabilmente dovrai
adattare il tuo codice alla piattaforma su cui stai lavorando di tanto in tanto,
ma la maggior parte della tua base di codice può essere condivisa e può essere riutilizzata senza alcuna modifica.
Se stai usando le lingue della piattaforma nativa, devi sicuramente lavorare in due progetti totalmente diversi
e non sarai in grado di riutilizzare molto codice. Un'alternativa è anche quella di creare un'app Web
progressiva,
che è una normale app Web che utilizza alcune funzionalità che la fanno sembrare un'app mobile ma
non è distribuita attraverso gli app store e si basa sugli utenti che utilizzano un browser che supporta le funzionalità
stai utilizzando e, in caso contrario, la tua app non funziona così bene.
La terza alternativa è che usi Ionic o una soluzione simile, Ionic è uno strumento o un framework che ti consente di creare vere app native che
distribuisci attraverso gli store di app con tecnologie web. Alla fine, Ionic prende una normale app
Web e la avvolge in un'app nativa, quindi non compila nulla, la avvolge e questo è un
approccio gradevole, mi piace Ionic in realtà e può
essere perfetto per molte app ma, naturalmente, un possibile svantaggio è che le prestazioni possono peggiorare
perché hai solo un'app Web chiusa, non hai un'app nativa compilata
e questo è qualcosa che hai con React Native ovviamente e dal momento che nel complesso
abbiamo strumenti e possiamo acquisire conoscenze che ci aiuta a superare le sfide che React Native pone talvolta,
React Native è un modo fantastico di creare app native. Puoi condividere un codice, ottenere grandi prestazioni,
puoi distribuirlo attraverso gli app store, è molto carino.
Ora una nota a margine, hai anche alternative come Flutter o Native Script, quelle alternative seguono un
approccio simile a quello di React Native, ottieni un'app compilata lì, usano semplicemente diversi linguaggi di
programmazione, diversi framework e allegati, troverai un collegamento a un video di confronto in cui comparo
tutte queste alternative nel caso in cui tu sia interessato ad approfondire un po 'l'argomento.