MDB React Native Training Program
Build cross-platform apps
Welcome to React Native
The modern world has shifted towards mobile. The web has been replaced by the browser, and the desktop has been replaced by the phone. There is a growing need for cross-platform development not as a feature, but as a requirement to access the over three billion Androids and over one billion iPhones around the world in addition to over two billion computers running Windows, macOS, and Linux.
In the past, multiple codebases in multiple languages (Swift, Kotlin, Java, Objective-C, C#, etc.) were required to develop for multiple platforms. By using React Native, you can develop a single codebase in JavaScript and use it to develop for both Android and iOS. Additionally, you can use the same codebase to develop for the web using React, and even Desktop apps using Electron or newer projects like Tauri.
In this training program, you will learn how to use React Native and build purely in Typescript, a superset of Javascript, to create cross-platform mobile apps. Along the way, you will also learn backend architecture, database paradigms, systems design, wireframing, authentication paradigms, web development (extending React Native concepts), and much more.
Software/Hardware Requirements
No specific operating system is mandatory, but you will need a computer with a good internet connection. It is recommended that you use Visual Studio Code, a free and open-source IDE, to develop your apps. Additionally, you will need a phone with the Expo Go app installed or an emulator that can be accessed from the Expo Command Line Tool.
Calendar
Week | Lesson Topics | Assignments |
---|---|---|
Week 0 | Getting Started | |
Week 1 | React Fundamentals and Typescript | Project 1 |
Week 2 | Navigation, Lifecycle, and Advanced Components | Project 2 |
Week 3 | REST API’s, Databases, Systems Design, and the Cloud | Project 3A |
Week 4 | Authentication, Security, and State Management | Project 3B |
Week 5 | Design & Backend | Project 4A |
Week 6 | Web Development | Project 4B |
Lessons
This training program has seven lessons.
- Lesson 0: Getting Started
- Lesson 1: React Fundamentals and Typescript
- Lesson 2: Navigation, Lifecycle, and Advanced Components
- Lesson 3: REST API’s, Databases, Systems Design, and the Cloud
- Lesson 4: Authentication, Security, and State Management
- Lesson 5: Design & Backend
- Lesson 6: Web Development
Mini-Projects
This training program has four projects.
- Project 1: Match the Members
- Project 2: iMDB
- Project 3A/3B: MDB Socials
- Project 4A/4B: Capstone
Staff
Instructor: Anya Shah anyashah@berkeley.edu
Mentor: Rachel Lowe rachellowe@berkeley.edu, Sriya Tallapragada sriya.tallapragada@berkeley.edu
Contributors
Paul Shao, Will Oakley, Allison Husain, Anjali Thakrar, Shomil Jain, and Aniruth Narayanan
Previous Staff
Fall 2023
Instructor: Anya Shah
Mentor: Rachel Lowe, Sriya Tallapragada
Spring 2023
Instructor: Rohit Ravi
Mentor: Sameer Keswani, Anya Shah
Fall 2022
Instructor: Aniruth Narayanan
Mentor: Anya Shah
Spring 2022
Instructor: Aniruth Narayanan
Mentor: Nick Jiang
Fall 2021
Instructor: Maggie Yi
Mentor: Aniruth Narayanan
Spring 2021
Instructor: Shomil Jain
Mentor: Alvaro Morales, Afees Tiamiyu