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.
- Short Learning Curve
- 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
- 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.
- 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.
- npm richness
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!