This post was originally published on Medium. Please look there for any updates.
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.
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.
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.
If courses are more your style I would have to suggest checking out the “Build Apps with React Native” on Udemy.
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.
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.
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.
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!
If you’re interested in learning more about React Native and Meteor sign up for my email list! I’ll send you the latest post each week and will soon be sending exclusive content to the members on that list.