Every frontend lesson this curriculum has covered so far — React's component model, CSS's cascade, the browser's own rendering pipeline — assumes one thing underneath all of it: a DOM, rendered by a browser engine. Mobile development's first real surprise is that React Native gives up that assumption entirely, while keeping almost everything else about React recognizable.
2 min read
React Native uses the exact same component model this curriculum's own React domain already taught — JSX, props, useState, useEffect, the render cycle, reconciliation via keys, custom hooks, all of it, unchanged. What's genuinely different is what that virtual tree ultimately renders to: not HTML elements a browser engine paints, but real, native platform widgets — an actual iOS UIView or Android View, the same building blocks a native Swift or Kotlin app would use directly.
No DOM means:
- No HTML elements (<div>, <span>) — different core components (lesson 3)
- No CSS cascade, no stylesheets, no Grid (lesson 5)
- No URL bar to route against (lesson 6)
- No browser sandbox — real access to device hardware, with a real
permission model (lesson 10)
- No "just works everywhere" — two actual operating systems with
real, sometimes different behavior (lesson 7)
Every lesson in this domain traces back to this one structural fact: React Native isn't "React, but smaller" — it's React's component model, retargeted at a completely different rendering substrate, and every consequence of that retargeting (styling, navigation, platform differences, native capability, distribution) is genuinely new territory this curriculum's web-focused frontend domains never had reason to cover.
A genuinely different path — native iOS development in Swift, native Android in Kotlin — exists and is a real, legitimate choice (this domain's own closing capstone covers exactly when it's the right one). But for a curriculum already deeply invested in React's own model, React Native is the highest-leverage entry point into mobile: every hour already spent learning props, state, hooks, and the render cycle transfers directly, and the genuinely new material is scoped to what's actually different about the target platform — not a second component model learned from scratch.
"Learn React once, ship to iOS, Android, and web" is real, and also incomplete — performance-critical paths, deep platform-specific integrations, and pixel-perfect platform-native feel sometimes still need native code underneath (lesson 8's own territory). This domain teaches React Native as it's actually used in practice: the default, highest-leverage choice for most real apps, with a clear, honest account of where its abstraction genuinely runs out.
Check your understanding
A quick comprehension check — not tracked, not graded, just for you.
1. What stays identical between web React and React Native?
2. Why does React Native render to native views instead of a DOM?
3. What is the honest trade-off this lesson states upfront about React Native?
Mobile Development