Long story short. We have a large enterprise project coming up (think multiple external teams, many devices, APIs, etc) in which we're thinking of using React Native.
It'd be our first React Native project and even though we're prepared to tackle all those things that come up when building a project with a new technology. (Been there, done that)
I'm wondering, when it comes to React Native, are there are any tips, tricks, gotchas and/or advice that we might not be aware of?
Really keen to hear from battlehardened React Native developers with scars and all. haha
Choosing Reactnative in development of your application is the right direction to move forward but there are some things to be taken into consideration when deploying it for enterprise level app. Here are some of the pointers which I would like to share from my prior experience in developing enterprise level apps in Reactnative.
Building production/enterprise level reactnative project is a complex task which needs to be tackled in a planned and proper manner.
First plan about navigation module that you are going to use since entire navigation between multiple screens will depend over it.Mainly handling backpresses in android takes extra efforts since hardware back button press and ui level back button presses need to be handled.
Secondly understand basic differences between android and ios components and decide over which components/code will be reused in both and in which cases the components will differ for both platforms.
Thirdly split the project/src folder into a proper directory structure for components,redux components,utils,constants and so on in a manner that is suitable and understandable by the entire team.If your app supports multiple languages or themes then you will have to plan accordingly in the beginning itself. And most frustating thing is handling react native upgrades in between development cycles which might have breaking changes to code some times. I can share links about articles written about all this topics on medium if you need them.
Best of luck for your journey ahead in Reactnative development.
littlepsylo
Software engineering
Use it on a small budget project first and then learn about that experience before starting any large scale project. As usual, take a real look and have an idea about.