A guide to getting started in React Native | 4i

A guide to getting started in React Native

21 February 2018 ‐ 6 min read

Our team wrote a pretty lengthy review on React Native a few months back, and now that we’re even further along the journey, we have a few more insights to share.

For those new to React Native, in a nutshell, it’s a framework that enables developers to write code for one platform and deploy to both Android and iOS, while delivering a native user experience.

If you’re a developer looking to get started, here’s three points to consider before you get going.

1. The first attempt can take longer than you think

Developers with a JavaScript or web background are likely to find it easier learning React Native than native iOS or Android developers. One of our most experienced Android developers found it really challenging setting up their first React Native project. Mainly because they were so used to the well-oiled working order of Android. But once they figured out some of the processes via stackoverflow, they were able to determine quite simply what worked and what didn’t.

Another developer on our team with a JavaScript background had a much better experience, although he did find that getting to grips with React, specifically, took some time before he was able to fit the business problem into the React ‘pattern’.

React Native works better with iOS than Android, understandably because Facebook initially built React Native to support iOS only. What’s really important to understand is that you need to learn JavaScript and React before attempting a React Native project, and get used to these languages first before starting a project. React Native is completely unlike Java or Objective-C in terms of Dev Tools.

2. There are a few tips and tricks that’ll save you some time

If you’ve hit a few snags getting to grips with React or React Native - you’re not alone. Like many others, we’ve paid a few school fees along the way, and based on our learnings, here’s what you need to know.

  • Respect it, or it could ruin you. You need to get to know how it works before attempting a project. If you don’t know what you’re doing, it can take much longer than estimated.

  • List the plugins that you foresee you’ll need. Choose a React Native version by checking the compatibility of each plugin and stick to it. With each extra plugin, study its compatibility with your current React Native version.

  • Don’t stop at simply planning your app routes and their containers. Define each view you’ll need and break down their individual requirements.

  • Start your projects afresh by using 'react-native init <projectName>', don’t use expo with your first project. It may seem viable in the beginning, but the moment you need to start configuring custom elements (which is inevitable), you’ll need to detach the project from expo - not a fun experience.

3. How to know when to choose React Native for a project

  • React Native is great for POCs, because there’s less risk if more time is required than originally anticipated.

  • React Native can be somewhat volatile, so use only your best, well-researched developers.

  • For time-sensitive projects, React Native is an option only if you have developers that are experienced in React Native. Due to the lack of reliable documentation available, for any developer, building up experience in using React Native to its full potential takes time.

A Final Word from the 4i team

We are big fans of React Native. It is an incredibly powerful tool, but you really need to know what you’re doing. We have worked on a few projects now and have gained a fair amount of experience, and we’re still learning! We believe that the future is bright and the possibilities endless.

As a leading software development house in South Africa we are very keen to continue using it, however it would make the world of difference if Google and Apple would just come on board and alleviate the version incompatibility issues. In the interim, we look forward to further developments and moving closer toward it being a reliable option for delivering digital products efficiently and effectively.

Are you looking for an experienced software development team to solve your business needs? Get in touch hello@4imobile.co.za

We hope you found this article helpful.
Why not share it on your networks?