React Native renders native platform widgets from React and JavaScript (or TypeScript). Flutter draws its own widgets with Dart and the Impeller/Skia pipeline. RN wins when you already have a React web team and want shared logic. Flutter wins when you want one UI toolkit with pixel control and a strong batteries-included SDK.
This React Native cheat sheet is written for people searching for a fast, accurate reference: students, junior developers, and teams shipping production software. Pin it, copy the snippets, and come back when syntax slips.
Quick reference
- Language: RN: JS/TS. Flutter: Dart. Hiring pools differ by city and team.
- UI: RN: native controls. Flutter: its own Material/Cupertino widgets painted to a canvas.
- Feel: RN looks native by default. Flutter looks consistent across OS, sometimes “Flutter-like.”
- Web: RN shares JS with React web (logic more than UI). Flutter web exists but is a different bet.
- Perf: Both ship production apps. Jank is usually lists, images, and unnecessary rebuilds — not the brand name.
- Native APIs: Both use platform channels/modules. Expo and Flutter plugins cover most app needs.
- Hot reload: Both have fast reload. Muscle memory is similar for UI iteration.
- Pick: Team skills first, then UI fidelity, then existing packages for your domain (maps, payments, BLE).
Copy-paste examples
The same idea: a counter screen
RN is React. Flutter would use a StatefulWidget and setState or a state library — different language, same counter problem.
import { useState } from 'react';
import { Button, Text, View } from 'react-native';
export function Counter() {
const [n, setN] = useState(0);
return (
<View>
<Text>{n}</Text>
<Button title="Add" onPress={() => setN((x) => x + 1)} />
</View>
);
}Common mistakes
- Choosing a stack from Twitter threads instead of the team’s language and the app’s native plugins.
- Assuming RN cannot be fast, or Flutter cannot look native, without profiling a real list screen.
- Sharing 100% UI between web and RN — you will fight the abstraction.
- Ignoring store review, push, and background limits that exist on both stacks.
FAQ
- Which is better for a startup MVP? The one your developers already write well. Expo + RN is very fast if you know React. Flutter is fast if you know Dart or like the widget catalog.
- Can I mix them? Not in one UI tree. You pick one app runtime. Native modules can still be written in Kotlin/Swift for either.
- Does Flutter use JavaScript? No. Dart compiles to native ARM/machine code (and JS for web). RN’s app logic is JS unless you add native code.
Related React Native cheat sheets
Build with this stack
When a cheat sheet is not enough — you need a production app, a student FYP, or a custom dashboard — ArpaNeuro builds mobile app development and also sells ready-made source code. Request a quote and tell us the stack.
Browse software development services or the source code marketplace if you want a working codebase instead of starting from a blank file.