1st one Answer:-
If you are reading these lines, chances are you will fall into one of two categories:
- You are a React Native developer, looking for a fast list of resources to send to that new colleague you have to introduce to the framework
- You are the guy who received the link, and you need to learn React Native to yourself asap
Learn React Native here: https://hackr.io/tutorials/learn…
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.42), 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?
STEP 0: Install it
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.
STEP 1: Get the right equipment
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 write correct code. I suggest you follow the guide franzejr wrote about it.
STEP 2: Read React Native Express
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.
STEP 3: Learn React Navigation
If you are reading these lines, it means that you are so lucky (seriously, I envy you) to be learning React Native at a time when there is the official React Navigator.
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, things are different: so go, read those amazing docs and follow the getting started guide to learn how to make multi-page applications.
STEP 4: Dive into the framework
Once you got a good grasp of React Native, 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.
Best Answer (2nd one)
I started developing with React Native in June 2015. I have now shipped 2 apps (iOS/Android) and I am about to submit two more. My answer assumes you have a CS background. If you don’t know how to code, learn how to, then come back here.
I think the best way to learn React Native is to understand what mobile development is. I was coming from Android, so I had an idea of what building an app was about. What I mean is that you need to know the basic concepts, such as Drawer, Toolbar, TabBar, ViewPager or Button. They are pretty obvious and I don’t think it should take you more than a day to get familiar with the components of an Android or iOS app.
You need to get these things straight because you will be using them in React Native. A few people would suggest to implement them in Java or Objective-C/Swift and then see how they work in React Native, but I don’t think that is strictly necessary (do it if you really want to see how cool RN is).
This also includes concepts such as a stack. You are going to push things on the stack and popping them from time to time. (If you come from Android, you might start noticing some similarities between startActivity or navigator.push()).
These are the next steps:
- Start by reading the getting started tutorial and try to run it on your machine. It’s the first thing I did. This will give you a sense of what we are talking about. Getting Started – React Native | A framework for building native apps using React
- Read about the Components specs and lifecycle in React. RN comes from ReactJS, they have a lot of things in common and understanding things like componentDidMount() or componentWillMount() will help you. Component Specs and Lifecycle | React
- Then read Pete Hunt’s tutorial about ReactJS. You need to understand what components are and how they are implemented. Thinking in React | React
- I would suggest going through the other sample apps, all of them. Read code and when you don’t understand something, just Google it. If you want to see how an app needs to be structured in the proper way, you may want to have a look at the Facebook8 App (fab samples/f8app). This is really good, but it’s not for beginners. Come back here when you want to see how to use Redux in a React Native app.
- There are plenty of tutorials that explain how to write a simple app in React Native. I personally used this one: Going native with React, an introduction. It’s probably outdated by now, but it gave me ideas on what I needed to complete my project.
- Yes, I said project. You need something to start with. You learn by coding (and reading), not just reading or (even worse) watching. Why don’t you try to implement Instagram? Tinder could be another idea.
- Don’t read the Docs. It’s not a book, but just a reference to the things you will need to use along with your journey, so while developing keep a tab open, if you are not familiar with it. Keep in mind that RN is moving fast, so you may want to check them from time to time.
- Have a look at Share and test your React Native code in the browser. This is a really interesting resource with a lot of examples. You will find it integrated into the docs as well.
- Download the Facebook 8 app, Facebook Groups (this is not 100% RN), Facebook Ads’ Manager and open the events view on your Facebook app. Welcome to React Native.
I started with some knowledge of Android and a CS background. I probably had never used Javascript or Objective-C. After learning, using, playing with React Native, I have learned both.
3rd Answer
As apart of my consultancy, I have three React Native apps live in the iOS App Store presently. Here’s what I did to get familiar with React Native:
- Read the official docs. This is a no-brainer – the documentation is fantastic, especially for each individual component. The examples provided in the official repo are clear and fully fleshed, usually with best practices, as opposed to the usual sample apps which demo a single topic with non-reproducible patterns.
- Took a Udemy course, The Complete React Native and Redux Course. I previously took another course with the same instructor focused on just React JS. Because the previous course was good, I took a shot with this one as well. This guy is pretty good and has some fairly practical example apps to work through, especially the one with authentication (user login). Probably the best part of this course is the section on styling with flexbox. Styling with flexbox on React Native is a bit trickier than in the browser due to the lack of a solid inspector, and this course had a few tricks for handling it cleanly.
- Took the dive and created my own app. While the docs are good and the course linked above is nice, nothing is a substitute for creating your own app. To make sure I understood the process of creating an app with React Native, I made a fairly straightforward GPS-bookmarking app complete with user authentication through Parse. Users could bookmark their current location and share it with others using the app as well. This covered the use of geolocation, in-app navigation, and user authentication + saving data with Parse. It was a good experience.
As with all things, it takes time and practice to get comfortable with the framework. Good luck!