Last Updated: June 8, 2016
I’ve been using React Native for just shy of a year, every day, and whenever someone asks me how to get started this is the exact sequence I prescribe.
Also, though I’ve never personally used them, I’ve heard incredible things about Free Code Camp.
For an introduction to ES6 checkout out this overview.
2. Learn React
This is something I did not do when first starting with React Native — I had never used React before I decided to skip over React with the thought that I would learn it as I went. Sure it worked but I think I could have saved a lot of time by investing a little time up front to learn React itself. I highly recommend this.
I’m always a fan of tutorials, especially the “official” ones. Again, they may not be the most polished thing but they always provide value. With that I would highly suggest going over the tutorial in the React docs.
As I mentioned before Free Code Camp seems to be a great option and they do cover React.
Another option would be the React.js Fundamentals course from React.js Program.
3. Learn React Native
As I said before React Native is React — it just targets native platforms. A lot of the high level stuff you’ll already know from learning React. There are some syntax differences (using View instead of div, etc) but the way you reason about code is exactly the same. What you’re really learning is how to work with the native platforms. It’s not difficult but, as with anything, there is a learning curve.
Again I want to point you to the official Tutorial because I feel it’s the fastest, albeit maybe not the most in depth, way to get started with React Native. Prior to going through the tutorial though make sure to do the Getting Started guide to make sure your development environment is ready to go.
Beyond that you can get a long way with reading through the rest of the docs and spending some time experimenting.
I would suggest checking out React Native Basics: Build a Currency Converter. This is an in-depth video series I put together (for free) to teach you the information you’ll need to know when building a React Native app. if you’re just getting started Modules 1–4 will save you an insane amount of time. There’s also a great community you can join to ask questions.
4. Learn a Backend
So at this point, and if you’ve never built an app before, you should be able to build a basic app… but it’s all client side. What if you want to store some data on your server or connect multiple users together? You’ll need to setup a backend for that. There are a plethora of choices… so I’m just going to cover 3. All I can say, especially as you’re getting started, is to choose one and stick with it. You could constantly chase the holy grail of technologies but then you’ll never have time to actually build something :)
Here’s a few suggestions
Parse Server is replacing Parse.com since it has been announced that it will shut down. It’s a self hosted version of the platform. Facebook’s F8 app was powered by this service. You can view a guide on how to use it here.
I’m personally biased towards Meteor. It’s what I use at work every day and I am an advocate for. You can get started with Meteor by following the tutorial. Once you’ve got a grasp on Meteor check out this boilerplate to quickly get started with Meteor and React Native.
I’ve got an entire course dedicated to teaching people how to use React Native and Meteor together — it’s a paid course but it’s the best option if you’re serious about this stack and want to start building apps with it fast. Learn More.
Why not framework X?!?!?!?!
There are so many frameworks out there that I can’t mention them all. Beyond that I want to keep things simple and not overload you with choice — there’s a lot of choice out there. I want to prescribe a plan that will allow you to actually build apps with React Native.
5. Learn Redux
A transformative moment for me was when I learned Redux — even if I wasn’t using it I was able to reason about how to better build apps. Especially when using React. It’s definitely more advanced and I found it a little tricky to pick up at first but once I figured it out I was very happy by what I was seeing.
Redux allows you to build apps that are very predictable and let’s you keep all of your data in once place. If you start to build apps of a decent size with React/React Native and start getting confused about where everything is this will likely help you out quite a lot.
Again with the official docs! I think the Redux docs have a great tutorial and would definitely suggest checking it out.
Beyond that, the course that I’ve recommended numerous times is “Full Stack Redux Tutorial”. It goes well beyond Redux alone (covering testing and React as well) but since you’ve got that knowledge already you’re ready. This was the tutorial that made Redux “click” for me.
The creator of Redux has a free course on egghead.io for learning Redux. At times it went through things a bit fast (for me at least) but is still a great resource. You can access that here.
My free video course, React Native Basics: Build a Currency Converter, covers adding Redux to your app in Module 5.
I hope you found this outline helpful! There are a million and one ways to learn a new technology and this is simply one way. Let me know what you end up building!