React Native - The future is here

I have been developing web applications for almost 10 years and have had the privilege of seeing the web become what it is today. If you are writing web applications in 2015 you should appreciate all of the wonderful tools and technologies that we have at our disposal to build these applications.

Once the iPhone came out, it was all about apps that is. Those of us who loved the web (and had most of our experience with html/js) tried our hardest to build performant web applications that could deceive users into thinking they were native, and ultimately failed. The web isn't there just yet. I have no doubt that it will get there at some point in the next 5-10 years but a lot of things have to change to make Javascript/DOM/Animations perform as smooth and as fast as they do natively.

Facebook released React in 2013 with the goal of sharing a wonderful piece of technology and fundamentals with the rest of community. We have all experienced the adoption this wonder library has had and have learned all of the wonderful lessons it taught us on immutability and writing maintainable code.

Little did we know that Facebook had another surprise for us, one that would change the landscape for web engineers as well as native. At the first ReactJS conference ever held they announced React Native, an extension to the React library that would allow you to use the same methodology that we had all already learned but with the ability to write native components that would render down at the native layer.

If you have read my blog in the past, you might have noticed that I am building an application called RaveDish, I built a prototype back in November of last year which proved to be challenging and difficult (with Obj-C), however it did provide us with plenty of feedback of where we wanted to go.

Since then we have patiently waited for React Native to be released, and as soon as it came out we embarked on building the first official release of RaveDish with RN. We are not done with the app just yet, but I wanted to share some screenshots of how it is coming along and emphasize how easy it has all become now that we have RN.



These are some early screenshots of how the app looked within the first week of development, there is no way we would have been able to achieve this level of productivity and progress if we had decided to write the app in Obj-C/Java.

I strongly recommend everyone to check out React and React Native. This is the future of application development and if you haven't realized it yet, you are falling behind....this is coming from a passionate AngularJS/KnockoutJS/Backbone developer who looked at React with skepticism and doubt. To this day, I have not missed a single feature from any of those frameworks, React has proved itself to be anything and everything in my development life cycle.

With all of that said, React Native is young.... very young (v0.4 as of Apr 28, 2015) so it still has bugs, and many features waiting for implementation but guys the future is bright.

If you are getting started with your React Native development, we have found that the following packages help a ton when you are first getting started:

I will try to post more in the near future as we continue with RaveDish development and have more information to share with all of you. Feel free to comment below with anything you want to know about RN or any How-To articles you are may want to see from us.

One thing is certain, the future for web/mobile application development is bright in the hands of the JS community and React.