Stiamo progettando di costruire una nuova app mobile React Native per Android e iOS. Quali sono le cose che dovremmo tenere a mente?
React Native è una piattaforma fantastica per costruire app mobili. Qui ci sono alcune cose che penso siano davvero importanti da sapere quando ci si avvicina.
Team & Learning Curve
Chi sono gli sviluppatori? Quali sono le loro competenze attuali? C'è da imparare?
Se sono sviluppatori front-end che conoscono React ma non hanno mai fatto il nativo, dovranno familiarizzare sia con React Native (la stessa API di base, con una nuova serie di componenti UI e funzionalità native), sia con le capacità dei dispositivi nativi, sia con le differenze specifiche della piattaforma.
Ho scritto un'altra risposta su Quora con una lunga lista di cose che uno sviluppatore deve imparare quando passa da React a React Native, che può essere d'aiuto.
Ecco qui:
Mike Cavaliere's answer to Quanto tempo ci vorrebbe per imparare React Native se si conosce già React?
Ambiente di sviluppo
Iniziare con create-react-native-app ed Expo. Questo è un ottimo ambiente ma ha una sostanziale limitazione. Devi espellere l'app dall'ambiente Expo ogni volta che vuoi collegare qualcosa, compresi i font personalizzati, le librerie che usano funzionalità native (notifiche push, acquisti in-app, ecc.). Quindi Expo è limitato nella sua utilità se state facendo qualcosa di significativamente simile a un'app nativa.
Consiglio di iniziare con create-react-native-app ed Expo per quanto possibile, poi espellere e aggiungere tutto il resto.
Ambiente di test
Se avete sviluppato applicazioni mobili in precedenza lo saprete già, ma avete bisogno di dispositivi reali. I simulatori vi porteranno solo fino a un certo punto, ma (almeno su iOS) ci sono un certo numero di cose che non funzionano su un simulatore, come le notifiche push e gli acquisti in-app. E spesso non riceverete messaggi di errore sul simulatore che indicano la mancanza di supporto, quindi tenetelo a mente.
Differenze di SO
Il riutilizzo sarà limitato in qualsiasi area in cui le piattaforme differiscono. Per esempio, gli acquisti in-app funzionano diversamente tra iOS e Android. Quindi dovrete separare il codice per situazioni come questa.
Code Sharing
Non tutto il codice funzionerà su entrambe le piattaforme. Alcuni hanno riportato l'80% di condivisione del codice, altri hanno detto circa il 60%. In alcune app più semplici è possibile avere il 100%, ma naturalmente, più l'app è complessa, più in basso potrebbe andare.
React Native ha strumenti per il controllo della piattaforma (per il controllo condizionale - dichiarazioni if() e così via), e la denominazione di file specifici della piattaforma (myfile.ios.js, myfile.android.js).
Si raccomanda di mettere il codice specifico della piattaforma nei file con nome (in classi modulari) il più possibile. Mantenere le interfacce per loro stesse per ridurre la logica condizionale.
Nuovi plugin
Avrete bisogno di librerie specifiche di React Native per tutto (o scriverne di vostre dove applicabile). UI che non è impacchettata con RN per esempio (componenti a fisarmonica). Anche funzionalità come le notifiche push possono essere semplificate attraverso le piattaforme utilizzando un plugin come react-native-push-notification.
In breve - React Native è grande, usalo! Ma aiuta sapere queste cose in anticipo.
Articoli simili
- Posso costruire app native per Android e iOS usando React Native?
- Quali sono le cose più importanti da tenere a mente quando si scattano foto di una famiglia?
- Quali sono le cose da tenere a mente durante l'acquisto di auricolari wireless?
- Come collegare un database MySQL con un React Native Android app