Yoni Gozman
React Native Academy
4 min readJul 5, 2016

--

5 Reasons To Go React Native

As this is my first article on medium I will introduce myself, my name is Yoni, I’m 27 years old and currently residing in Israel. Been into software since around 12, and up until recently worked as a team leader in Como, a leading app builder platform with over 1.8 Million apps in production. Iv’e experienced the mobile development world and its pains quite extensively.

React Native is a technology announced at F8 2015 by Facebook that takes everything that is great in React.Js and web development, and brings it to native mobile development. Apps built with react native render truly native OS views,using native components, no web views involved.

I am currently using react to build the next generation mobile app for a startup in the Security Industry I am a part of, its called Xanview and it provides a state of the art cloud solution to CCTV and beyond, the mobile clients will eventually offer nearly the full functionality of the current web interface,in a pleasant native mobile experience.

  1. Short Learning Curve
    The language and syntax will be familiar for most if not all developers, it’s simply Javascript and even a prettier Javascript since you can use ES6, if you have ever done React you are going to feel right at home, react native takes the same approach, while the only difference being different components and a slightly different styling system, that is still very similar to CSS and uses flexbox for layouts, and even if you have never done react, I found it very easy to understand and master.
    In short — you get to do layouts using HTML like hierarchical tags,style using something very similar to CSS, and write all of your logic in Javascript.
  2. No Recompiling!
    If you have ever done pure native development, you know the pain. For every tiny change,either in a text or a style, you have to recompile your app,re-run it, and get it to the same state to check and verify that what you have changed is looking good. No more — react native gives you the power web developers had for ages, change your stylesheet or view or logic, hit CMD+R to reload the simulator and it’s all there, that’s a huge productivity increase! And as an even bigger bonus, you have Hot Reloading, which in essence injects the changes you make to files during the app runtime, without changing its state,allowing your to get to the place you want to tweak,and just start playing around
  3. Learn Once, Write Anywhere ++
    React Native was released only for iOS at first, but as of September 2015 facebook released it for Android as well, You can see an already pretty impressive app showcase page here. Which gives you the ability to use the exact same skill set for building both iOS and android apps, and because of Reacts component based approach, you can easily share most of your code between the two platforms. Why the ++ you ask? Because in some cases you can even use the exact same codebase, with tiny if statements here and there to handle OS specific cases. See the: HackerNews React Native App for example.
  4. Its Open Source
    If you ever encounter a bug or an issue, you can either fix it by yourself and submit a pull request, or open an issue in github and quickly get a response/fix from the community. The repo and its community are very active, and the community has a huge affect on how the project is progressing, it’s not only Facebook making the decisions, but engineers from all over the world, just look at how many pull requests are there and how many of them are being accepted — this makes sure that the project stays on the right path,and keeps progressing well. In contrast, here are Xamarin’s forums and you can judge for yourself if you like that approach better.
  5. npm richness
    Since it’s all javascript, you can use nearly any module from npm, At this time, there are 303,185 npm modules, so when using react, you get all of these for free, right out of the box. For example you can use moment.js, socket.io or any module you are used to using doing web inside react native,and most of them just work. So although it’s a new technology, it already has a very wide array of tools and libraries from the web world to help you progress quickly.

Summary

With all that taken in mind, and with the pains I have experience in trying to manage a team that has both Android and iOS devs and needs to deliver high quality software, at fast rates — react native will surely be the path ill choose when developing most simple data driven mobile apps,and beyond, I simply find it a lot more practical and efficient to write apps in react, and the sacrifice is not big at all.

In this article I tried to summarize the top 5 reasons that attracted me to react native, and which i think make it the best tool out there to do native without actually dwelling into objc/swift/java. I hope it helps you choose your next stack!

--

--

Yoni Gozman
React Native Academy

Software Engineer, CrossFit Freak, Ducati Rider, Photographer — Always happy for a good and interesting challenge!