Mobile App Developer · Focus area 1: Choose your ecosystem
MA3: Native or cross-platform: Swift, Kotlin, Flutter and React Native
Goal: explain how native Android (Kotlin), native iOS (Swift), Flutter and React Native build apps, compare them fairly for a given team and product, and reach native features from a cross-platform app when you need them.
You'll need: MA1, MA2, Module 29 (Modules, Classes, Generics and Utility Types), Module 97 (Product Development), and the KhetNote
practice kit (package.json, app.json).
Where this is used: every mobile team makes this choice, and revisits it as the product grows. Large companies use all four, sometimes in the same app.
How it differs: MA2 taught one toolkit. This module steps back to compare the main ways of building apps, so you can choose with evidence and work alongside developers who use the others.
Time: reading about 2½ hours · practice (the Try it tasks) about 2 hours · assignment about 3 hours.
Lessons
- 1Native Android with KotlinReading 15–25 minutes, plus practice✓
- 2Native iOS with SwiftReading 15–25 minutes, plus practice✓
- 3Cross-platform with React Native and FlutterReading 15–25 minutes, plus practice✓
- 4Choosing an approachReading 15–25 minutes, plus practice✓
- 5Reaching native features from a cross-platform appReading 15–25 minutes, plus practice✓
🛠️Assignment: Choosing KhetNote's approach
- Describe the three approaches (native, React Native, Flutter) in your own words, with how each draws screens.
- Write weighted criteria for KhetNote, with weights totalling 100, agreed before scoring.
- Score each approach with a sentence of evidence per score, and total them.
- Choose, and say what result from a prototype would make you change your mind.
- Plan one native feature (photo, location or notifications): the module, the permission and the build needed.
Self-check before you finish:
- [ ] The weights were set before the scores.
- [ ] Every score has evidence, not just a number.
- [ ] The decision names when you'd revisit it.
- [ ] The native feature plan names a development or preview build.
✅Module check
Explain in a few sentences, in your own words:
How would you choose between native and cross-platform for an app like KhetNote?
Show a good answer
A good answer mentions: native Android with Kotlin and Compose and native iOS with Swift and SwiftUI, which give full platform access but two codebases (and iOS needs a Mac or cloud builds); React Native, which draws native views from JavaScript, and Flutter, which draws with its own engine from Dart; criteria such as team skills, users' platforms, needed features, performance on low-cost phones, offline storage and cost, weighted before scoring; a prototype of the riskiest feature; a written decision with a revisit point; and Expo modules, config plugins and development builds for native features.
📚Official references
Official documentation and guidance for this module's topics, chosen on 2 November 2026. Tools, laws and standards change, so check the current version before you rely on a detail. If a link has moved, search the same site.
📝Module quiz
10 questions · 10 marks each · 100 marks in all · pass mark 70% · retry as often as you like ·
