If you are reading these lines, chances are you will fall into one of two categories:
In both cases, welcome! I’m writing this post for this exact reason — and mainly because I needed it myself this morning and I wasn’t able to find one that satisfied me.
React Native is an awesome open source framework, that uses Javascript to let you create — without too much effort — Android and iOS applications at once. It is reaching right now (v0.51), in my opinion, a level of maturity high enough to be considered production ready (some examples? Tesla, Airbnb and Skype).
So, what should you do to learn it properly?
Pretty straightforward, the first task you have to face is to install it correctly: it may sound simple, but trust me it is a long process: head over to the official docs to learn how.
BTW, if you are on Windows and you can’t find a way to make it work, check this blog post from the guys at Infinite Red — which have created one of the best React Native starter kit out there, Ignite.
Naturally, next step is to install an IDE (Integrated development environment) that will allow you to write React Native code flawlessly, providing a set of additional tools to help you out.
If you are planning to write code only for React Native, you should consider DECO, which is scoped for RN devs.
For the other 99% of us, the choice will be between (to list the most famous) Sublime Text 3, Atom and Visual Studio Code. I probably would suggest going for VSCode, which (among other cool features) has this dedicated plugin — moreover it is my current IDE, and I wrote about how I set it up for React Native here.
Independently from the IDE, one thing you should do right away is to install a fantastic plugin called ESLint — which will help you writing correct code. I suggest you follow the guide franzejr wrote about it.
Plain and simple, React Native Express is the best (IMHO) guide to learn Javascript to write React Native right now.
It is quite complete, starting from plain Javascript to get to complex topics like state management via Redux and Animations. And it’s completely Open Source.
In the first version of this article, I was living in a happy world when moving between screen seemed to have finally reached a solid solution (react-navigation).
You see, for a long time navigation in React Native was hard to handle: there were many different navigators (the first one, Experimental, ExNav) and it was quite difficult to learn properly how to use them, let alone integrate them with Redux or MobX.
But now... well, it’s still a bit of a mess. I highly suggest you head to the React Native docs to keep up with which library you should get started with.
Once you got a good grasp of React Native (and its architecture), it’s time to get you up to speed: as you may have heard, we are not yet to a 1.x version.
This means that the framework gets regularly updated, once a month to be precise: to keep up the pace, the best way is to keep an eye out for the release page over the GitHub project, and the breaking changes document to know how to keep your code updated.
So, what now?
You learned the basics; it’s time to jump off that cliff and dive: as I mentioned, React Native is an Open Source Project, which means that it will get better the more everyone will participate and help and code and fix and test and comment stuff around. No matter how little you know, remember that even fixing typos in a README file is a way to get started and help everyone else.
So, before you leave, take this with you: it’s not a wooden sword, but it will surely help you out.
Do you like this article? Do you think I missed something huge? Let me know in the comments, or reach out on Twitter.