Framework

React Native

The framework we build every app with. One JavaScript/TypeScript codebase renders real native UI on Android and iOS.

Official docs WindowsmacOSLinux

Why we use it

You write one codebase and get two real native apps. It uses React, the most widely used UI library, so what you learn also applies to web development and to jobs.

Why not the alternatives?

Native (Kotlin / Swift)
Best performance and full platform access, but you would build two separate apps in two languages with two IDEs. That is too much for a one-semester team project.
Flutter (Dart)
Excellent framework, but it uses Dart, which few students already know, and draws its own widgets instead of using native ones. React Native reuses JavaScript/TypeScript and React skills you already have or will use on the web.
Web / PWA
Easy to start, but has limited access to device hardware (camera, sensors, background work), and the coursework needs a device-specific feature.

What it is

LanguageJavaScript / TypeScript
UI modelReact components: <View>, <Text>, <Image>…
OutputReal native Android + iOS views, not a web page
Made byMeta, with a large open-source community

How it works

Your code (TSX)  →  React Native  →  native Android / iOS views

Tip

Already know HTML? <View> works like <div>, and <Text> is where all text must go.