React Native: Build Your Own Mobile Apps
4.3 (192 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
986 students enrolled
Wishlisted Wishlist

Please confirm that you want to add React Native: Build Your Own Mobile Apps to your Wishlist.

Add to Wishlist

React Native: Build Your Own Mobile Apps

Use the Native framework of React JS - React Native - to create the iOS and Android applications of your dreams.
4.3 (192 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
986 students enrolled
Created by David Katz
Last updated 8/2016
Current price: $12 Original price: $20 Discount: 40% off
4 days left at this price!
30-Day Money-Back Guarantee
  • 4.5 hours on-demand video
  • 5 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Develop complete React Native applications.
  • Use the terminal, a code editor, XCode and other programs to build your own React Native applications.
  • Publish a React Native application to the App Store.
View Curriculum
  • You should ideally know some javascript and how to open a code editor on their system. Hopefully, you have a Mac to run XCode, but if not, you can still follow the coding examples.

In this course you will learn how to build mobile applications on the iOS and Android platforms. You will use React Native, a popular framework produced by Facebook. Do you want to build mobile apps? If so, this course is just right for you!

If you're looking for a thorough exploration of es6 or javascript syntax, this course may be too advanced for you though. Please keep in mind that this course is meant to show you as much React Native code as possible. Stay in tune for an upcoming course on es6 and React js though, where I will help you learn all of the basics of new javascript syntax and the awesome web development React framework!

I built this course with the mindset that learning something new with programming happens best when you actually start coding. Therefore, the discussions about the concepts of React Native will be supplemented by you building three great example applications. Through each one, you will learn the fundamentals of creating components, how to interact with online systems, as well as creating a platform with authentication.

This course also comes with tutorials on the installation of the React Native environment and deployment of a React Native application to the App Store. Overall, it should take around 4 hours to complete.

Ultimately, React Native proves so popular because of its efficiency and elegance. So you should take this course if you would love to learn how to make mobile applications quickly and effectively. Let’s get started!

Who is the target audience?
  • This React Native course suits students with some javascript and programming experience best. A beginner should be comfortable following along just fine, but the more familiarity with javascript, the better.
Compare to Other React Native Courses
Curriculum For This Course
51 Lectures
Introducing the Course and Installing React Native
6 Lectures 15:43

We will install the React Native environment together and refer to the official documentation. Check resources.

Installing the React Native Environment

We will start simulating the Android version of a React Native application. We will refer to the official page on Android Setup; check resources.

Setting up Android Simulations

Getting Help
Building Your First Application: "To-Do Master"
14 Lectures 01:11:45

Let's create our first component and discover the secret to updating both our iOS and Android applications at the same time.

Preview 05:43

Let's personalize our React Native application.

Basic Styling in React Native

We'll explore in great detail two essential components of Flexbox: Flex and FlexDirection.

Preview 07:09

Let's de-mystify the JustifyContent and AlignItems style properties of Flexbox.

Preview 04:08

We'll start creating our second customized component: a list of tasks.

Making a Custom List

Let's jump into some javascript and create our first helper method!

Adding Tasks

Let's take a brief interlude to really understand the proper way to update state in React Native.

Preview 03:18

We'll start to make our application more complex and add a second method to complete our tasks.

Writing a Method to Complete Tasks

We'll learn about efficiently using our previous components and re-applying them to add more functionality with a complete list of tasks.

Organizing a List of Completed Tasks

Let's add one more method to completely delete tasks from our application.

Deleting Tasks

Finally, we'll start exploring one of the most exciting features of React Native: Async Storage! Let's use this component to use the local storage of our users' devices.

Using Async Storage

This video makes addresses that crucial run-time error where the most recent update to state does save in our AsyncStorage. Watch this video to fix ToDoMaster and learn about the componentDidUpdate life-cycle method.

Grasping Asynchronous JS and ComponentDidUpdate

To-Do Master Summary
Stepping Up a Notch: "Event Expert"
14 Lectures 01:19:02
Wireframing "Event Expert"

We will start exploring how we can use a public API to add data and extend the utility of our applications. Check resources for the Eventbrite page.

Accessing Your First API with Eventbrite

Let's use the fetch method and some ES6 to get our application interacting with the API.

Grabbing Online Data with Fetch

Thinking about how to handle API updates

In this video we will begin adding another package to our EventExpert project to handle Eventbrite's API update. The method is now deprecated, so as a solution, we'll combine our eventbrite API with googleMaps to have everything working as originally planned!

Handling API updates part 1

In this video we implement and code the actual method that combines the googleMaps and eventbrite API's to return a list of events.

Handling API updates part 2

Let's take advantage of React Native's built-in ListView component to render out dynamic list of events from our API.

Creating a ListView Component

Let's make our ListView component look good and explore some more React Native styling.

Polishing the ListView

We will craft our own form to allow users to search events according to their own inputs.

Designing a Form Component

We will dive into one of the most fundamental aspects of React Native applications: the Navigator component. Let's explore this very useful feature to start transitioning between pages!

Transitioning between Pages with the Navigator

Let's solidify the difference between Props and State when thinking about the data available to specific components.

Grasping Props vs State

Let's create a component that acts as a template for unique data depending on what the user selects!

Building the Event Detail Page

Let's explore another great React Native component: Linking.

Linking to a Web Page

Event Expert Summary
Getting Advanced: "Topic Whiz"
15 Lectures 01:38:12
Wireframing "Topic Whiz"

We will re-create one of the most convenient and versatile React Native components: the Navigator.

Continuing with the Navigator

Let's explore Firebase - Google's cloud based service for authentication and backend hosting. Check resources.

Introducing Firebase

Let's create a form that handles relevant user inputs: email and password.

Designing Authentication Forms

We will implement the actual methods for signing in to and signing up for our React Native - Firebase application!

Signing In and Up with Firebase

Let's use a ListView component to display our customized array of topics.

Creating the Topics List

Let's add a signing out method to our application by using another Firebase method.

Signing Out

Let's add some personalization to our application by allowing users to pick their own username!

Changing the Username

Let's connect our list to Firebase so that we only display user-generated data!

Updating Topics from Firebase

We will implement a helper method to allow our users to add topics to our FIrebase database.

Adding Topics

Let's create a new template that allows the user to see more details of the topic that they select!

Opening Topic Details

How about we extend the usefulness of our growing user network and add a commenting feature for each topic!

Commenting on Topics

Let's add one of the most fundamental features of an authentication-based application: a password reset function.

Implementing Password Reset

Reviewing "Topic Whiz"

Topic Whiz Summary
Releasing Your Application
2 Lectures 08:16

This lesson will help anyone trying to release their React Native application to the App Store.

Deploying to the iOS App Store

This lesson will walk anyone through generating an .apk file for releasing their React Native application to the Google Play store.

Generating an APK for Android Deployment
About the Instructor
David Katz
4.4 Average rating
4,708 Reviews
82,019 Students
9 Courses
Coding Instructor & Software Engineer

Hi! I’m David. I spend most of my time building applications and coding tutorials. Currently, I study computer science at the University of San Francisco. I have also had software engineering internships at Zendesk and at a tech education startup called MVCodeClub.

I love sharing the knowledge that I have gained from my experience with other people. I have spent a fair bit of time working as a coding instructor. Because of this, I’ve learned how to explain advanced programming concepts in a clear and understandable way. There's no better feeling than when a students gets that "aha" moment.

Please don’t hesitate to reach out to me! Whether you want to chat, or work on something meaningful, please let me know!