How Flutter started — and how one codebase runs on every device
From a Google experiment called "Sky" to a single codebase for iOS, Android, web and desktop — and the rendering trick that makes it work.
Orbyte · June 16, 2026 · 8 min read
From a Google experiment called "Sky" to a single codebase for iOS, Android, web and desktop — and the rendering trick that makes it work.
Orbyte · June 16, 2026 · 8 min read
Flutter began as an experiment inside Google. Around 2015 a prototype called "Sky" was shown running Dart on Android at high frame rates. The team's bet was unusual: instead of wrapping each platform's native UI components, Flutter would draw every pixel itself. That decision is the reason one codebase can look and behave the same everywhere.
Flutter 1.0 shipped in December 2018 for iOS and Android. Since then it has grown to target web and desktop (Windows, macOS, Linux) from the same project, and it powers apps used by millions, including parts of Google's own products.
Most cross-platform tools ask the OS to build the buttons and lists, then try to paper over the differences. Flutter takes a different route: it ships its own rendering engine (historically Skia, now increasingly Impeller) and paints the entire interface onto a canvas. The OS just provides a window, input events and services. Because Flutter controls the whole surface, a widget renders identically on an iPhone and a Pixel — no drift, no "works on one platform only" surprises.

Flutter's UI is built by composing small widgets into bigger ones. Written in Dart — which compiles ahead-of-time to native ARM/x64 for release — the same source produces real native binaries per platform. During development, Dart's just-in-time mode powers hot reload: change the code and see it on the device in under a second.
// The same widget tree runs on iOS, Android, web and desktop.
Widget build(BuildContext context) => Scaffold(
appBar: AppBar(title: const Text('Orbyte')),
body: Center(
child: FilledButton(
onPressed: _launch,
child: const Text('Reach orbit'),
),
),
);Sources & further reading
Stay in orbit
Occasional engineering notes on what we build and how. No spam — unsubscribe anytime.