Overview

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

Schedule

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

Calendar

Readings

View
CS47 Syllabus
View
Official React Native Documentation
View
React Native Express
View
Expo SDK API Reference
View
JavaScript Style Guide
View
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