Skip to main content

Course intro

You've learned the fundamentals of React Native and you're interested in knowing more - that's awesome! Welcome back to this Intermediate React Native course where we delve beyond the basic building blocks and beyond Expo Go.

By the end of this course, I hope you feel you have all the tools, resources and knowledge at your disposal for building production-ready apps with React Native!

About this course

Material-wise, this course will follow on from the intro course, but we will be building a new app from scratch so the courses are standalone. Taking the intro course is not a prerequisite if you're already tinkered around with the fundamentals.

In this course, we cover some additional topics and techniques that didn't make it into the intro course, and then leave behind the Expo Go sandbox and work with Development Builds to add a couple of features that aren't otherwise supported.

It is possible to by-pass setting up your local dev environment entirely and build your dev client in the cloud with Expo Application Services, but for this course, we're building locally: it is incredibly useful to know how to build your native app locally for development if you need to debug more complex functionality down the line or just don't have access to the internet.

If you're interested in learning more about EAS, refer to text-based tutorial or video course.

So, for this workshop you should set up your native dev environment for at least one platform.

About the instructor

Hi, I'm Kadi 👋

I was fortunate enough to stumble across React Native in the early days and have remained a huge fan ever since. I've worked on many interesting projects, including being the Tech Lead for building the PUMA app from scratch.

Aside from consultancy work, I've also been an active member of the React Native community, contributing to open source and speaking at conferences. Latest talks include Getting the most out of Expo Development Builds (at App.js 2024) and React Native Keynote (at React Conf 2024).

I also spearheaded building the React Conf app (find it on Google Play and the App Store) as an end-to-end example of building production apps with Expo. The code for it is available on GitHub.

I currently work a Expo, hoping to bring more people into the amazing world of building mobile apps with React Native!

Find me on Bluesky, LinkedIn or GitHub.

What you'll need

To follow along with this course you will need:

  • a Mac, Windows or Linux machine with Node.js installed
  • an iOS or Android phone (we start building with Expo Go)
  • set up your development environment for either iOS or Android

Course format

In this course we will "learn by doing". We will build a little plant watering app completely from scratch and I will introduce various concepts and point out common patterns as we go.

The app will have an onboarding step where after which you can add plants to look after, and we'll explore some new concepts long the way: dynamic routes, quick actions, gradients and build signing to name a few.

Bash commands will be displayed in code blocks:

npx expo install expo-router

Code and diffs will be in collapsible elements:

Changes in app/index.tsx
import { View, Text } from "react-native";

export default function HomeScreen = () => {
return (
<View>
<Text>Hello, world!</Text>
</View>
)
}

You will periodically see checkpoints with a link to a git commit at the right point in time so you can check your work after each section:

Checkpoint

The tip annotation will be used to highlight useful tidbits about the topic:

Tip

A useful tip.

And warning annotations offer debugging tips or caution against common mistakes:

Debug

This is a debug tip.

I hope you'll enjoy the course!