The 'React Native' Advantage

Why the Technology is Taking Over Mobile App Development

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.

React Native is an open source project by Facebook that facilitates efficient mobile application development for iOS and Android using JavaScript. The real power that the project gives developers is a strong hold over the iOS / Android device’s native capabilities. React Native provides access to both platforms’ native modules and components and also offers a huge list of plug-ins developed by the community, which makes mobile app development effective and customizable.

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.

React Native was built on the mantra — “learn once, write anywhere.” It works by embedding JavaScript files within apps and running them locally. In React Native, JavaScript code is written, but the framework generates native widgets. There is no visible web-view; the JS code runs in a thread that commands creation / destruction of native widgets in a regular activity.

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 don’t wish to use a technology like JavaScript, you’d be better off without React Native.
  • 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:

  • Pepperoni
  • Shoutem Extensions
  • Ignite
  • Snowflake
  • Este
  • NativeBase

Now Reading
The 'React Native' Advantage