Building commercial websites and applications no longer needs you to be an expert. With the advent of web development kits and ready-to-use frameworks, the once complicated task has become something even beginners can do. However, there’s an explosive amount of tools and frameworks available in the online market and picking the one that would fulfill one’s purpose in the most efficient way is generally an uphill task.
React Native is one app development platform that possesses such a rich feature set that you’ll feel compelled to choose it above the others.
Let us take a look at some of the most interesting aspects of React Native and discover why it is capturing the imagination of mobile app developers across the globe.
Where did React Native come from & why is it so attractive?
Prior to the conceptualization of React Native, most Facebook apps were built on the MVC framework; views listened to models and responded to changes in them. MVC-based apps with a limited feature set were simple to build, but as more features were added, apps started getting complicated. With the addition of more people to development teams, things began slowing down drastically. Even minute changes in one part of an application would end up affecting a relatively larger part of its overall working. Cascading updates were really slow and a lot of work ended up getting wasted. Over time, application code started becoming really unpredictable, eventually leading to UX glitches.
Although Facebook had the right models in place, UX was not too great, owing to the problems described above. To make the overall user experience better and reduce app building complexity, React Native came into conception.
To cut a long story short, React Native made it possible to build mobile apps using the native view library. The resulting apps run on both Android and iOS. It compiles to native code for the respective OS, which means there is no performance compromise and the apps run just as smoothly as apps built using the actual native tools like XCode. That's why it's called React NATIVE.
Evaluating React Native - Pros vs Cons
Some of the most lucrative aspects of React Native include:
- Since almost 80% of the code is shared by iOS and Android versions of the app you’re building, working with React Native is pretty quick and smart.
- React Native doesn’t recompile code, it just reloads it instead. While it may seem like a small thing, not having to recompile code makes coders happier. And happy coders are productive coders. Any doubts?
- Instant JS bundle updates mean you don’t need to resubmit your React Native app to AppStore for small updates.
- The immensely popular platform has amassed a huge fan following, contributing to its ever growing library. Also, such a large community of supporters means a good pool of React Native developers (is anyone looking to hire?).
- React Native modules interact with native iOS and Android modules, providing you with a very near native user experience.
Let's be realistic and take a look at the downsides of React Native as well:
- If you don’t need cross-platform apps, you might want to stick with ‘true native’ frameworks instead of React.
- If you’re building a resource-hungry app, like a game, or your app is supposed to have a lot of custom 3D animations, staying away from React Native and sticking to ‘true native’ would be a great idea.
- Of course, if you find learning new stuff a burden, avoid this.
Cool React-Native Starter Kits
You can easily find quite a few open-source React-Native UI starter kits available to kick-start mobile app creation with just a few lines of code. Some of my favorite ones include:
- Shoutem Extensions