What is a mobile app?
A mobile app runs on a phone, installed from a store, with access to the device's camera, sensors, and notifications. You can build one natively per platform, or cross-platform with a single codebase. This track takes the cross-platform path with React Native.
Why it matters
Mobile is where most people spend their screen time, and the constraints are real: small screens, touch input, flaky networks, battery, and two strict app stores. Understanding the landscape — native versus cross-platform, the lifecycle, the store gatekeepers — frames every decision you will make later.
What to learn
- Native (Swift, Kotlin) versus cross-platform (React Native, Flutter)
- Why React Native: one codebase, native UI, React skills transfer
- The app lifecycle: foreground, background, terminated
- The two stores and their review processes
- How a mobile app differs from a web app
- Device constraints: network, battery, memory
- The shape of the React Native ecosystem
Common pitfall
Treating a phone like a desktop with a small screen. Mobile has touch targets, gestures, interruptions (calls, notifications), offline periods, and battery limits that the web never forced you to consider. Designing as if it were a shrunk website produces apps that feel wrong on a device.
Resources
Primary (free):
- React Native — Introduction · docs
- Expo — Introduction · docs
- Apple — App lifecycle · docs
Practice
Write a one-page comparison: for a simple app idea, list what you would gain and lose building it natively versus in React Native. Note one device constraint (network, battery, or interruptions) that a web version would not have to handle. Done when you can justify choosing React Native for a real project.
Outcomes
- Compare native and cross-platform approaches.
- Explain why React Native fits a React developer.
- Describe the mobile app lifecycle states.
- Name the device constraints that shape mobile design.