MA3: Native or cross-platform: Swift, Kotlin, Flutter and React Native

Lesson 3 of 5 · reading 15–25 minutes; practice and project time is on the module page

Cross-platform with React Native and Flutter

🎯You'll be able to

Explain how React Native and Flutter build apps for both platforms from one codebase, and how they differ.

🏠The everyday picture

A translator who works into two languages can write one speech and deliver it in both. Most of it translates cleanly; a few jokes need rewriting for each audience.

📘What it really is

📝A worked example

Input: compare the three ways of showing KhetNote's list.

Steps:

  1. React Native: FlatList of VisitRow components; native views underneath.
  2. Flutter: ListView.builder of VisitRow widgets; drawn by Flutter's engine.
  3. Native: LazyColumn on Android and List on iOS, written twice.

Expected output: a table of the three, with the language, how it draws, and how much code is shared.

🌍Where it's used

📝Case scenario

A food delivery start-up had four web developers who knew React. Choosing React Native let them ship both apps in three months. They wrote one small native module, for a payment SDK, with help from a contractor.

🖱️Try it

Open KhetNote's package.json and list the packages that are about the phone (storage, network status) rather than the screens. Success: you can say which ones contain native code.

⚠️Common mistakes

🛠️For your project

KhetNote uses React Native with Expo; its storage and network status packages include native code, replaced by test versions in tests/setup.js.

✅Quick check

How does Flutter draw its screens, compared with React Native?

Show the answer

Flutter draws every pixel with its own engine; React Native draws the platforms' own native views.

Which language does Flutter use?

Show the answer

Dart.

← PreviousNative iOS with Swift
ProLearners Assist