This course teaches the fundamentals of cross-platform mobile application development with a focus on the React Native framework (RN). The goal is to help students develop best practices in creating apps for both iOS and Android by using Javascript and existing web + mobile development paradigms. Students will explore the unique aspects that made RN a primary tool for mobile development within Facebook, Instagram, Walmart, Tesla, and UberEats.

Course logistics

Date/Time T/Th 12:00PM - 1:20PM
Application Please apply here to enroll in the class.
Location Lathrop 299
Units 2 Pass/Fail
Instructors Abdallah Abuhashem (aabuhash@stanford.edu)
Joshua Ojo-Osagie (joshuaoj@stanford.edu)
Santiago Gutierrez (santig@stanford.edu)
Faculty Sponsor James Landay (landay@stanford.edu)
Staff email reactnative@cs.stanford.edu
Office hours See calendar below
Prerequisites CS 106A/B
Explore courses CS47


Week 1 (09/25 - 09/27)

1.1 Introduction to React and React Native

Course logistics and basic overview of React Native.

1.2 Introduction to JavaScript

Introduction to the basics of JS(ES6)

Warmup Assignment: Setup

Week 2 (10/02 - 10/04)

2.1 JSX, Basic React Native Components + Stylesheets Finished Files

Creating and styling interfaces using basic components. StyleSheet + Flexbox.

2.2 Life-cycle, State + Prop

Creating and controlling components using State and Props.

Assignment 2: A Tender Attempt with RN

Week 3 (10/09 - 10/11)

3.1 Lists and TextInputs

Let's take a look at user-interactive components.

Assignment 3: New York Times

Week 4 (10/16 - 10/18)

4.1 Animations and Debugging

Simple animations with user gestures and debugging tools.

Local storage solutions.

Assignment 4: Tinder 2.0

Week 5 (10/23 - 10/25)

Introduction to navigation solutions in RN

5.2 More on Navigation

More on Navigation in React Native

Week 6 (10/30 - 11/01)

6.1 Passing Data

How to pass data between screens in React Navigation

6.2 Guest Lecture - Redux

Guest lecture about Redux in addition to Q&A about RN

Assignment 5: NYT 2.0

Week 7 (11/06 - 11/08)

7.1 Navigation Wrap-up

An exercise for react navigation

Fundamentals of Firebase

Week 9 (11/27 - 11/29)

9.1 Detaching and deploying

An exercise for react navigation



CS47 Syllabus
Official React Native Documentation
React Native Express
Expo SDK API Reference
JavaScript Style Guide
RN Styling Cheat Sheet

NOTE: you might need to be logged in to your Stanford account to access some content.

Website template powered by Stanford's CS 42