Google released Flutter 1.0 at Flutter Live in December 2018, ending two years of beta. Unlike React Native — which bridges JavaScript to native components — Flutter takes a fundamentally different approach: it ships its own rendering engine (Skia) and draws every pixel itself. This means consistent, high-performance UI across iOS and Android with no platform-specific rendering quirks.
Dart: The Language Behind Flutter
Flutter apps are written in Dart, Google’s object-oriented, AOT-compiled language. If you know Java, Kotlin, or JavaScript, Dart’s syntax is familiar within hours. The key advantage: Dart compiles to native ARM code for production and uses a VM with hot-reload for development.
Everything Is a Widget
Flutter’s UI model is built entirely of composable widgets — similar to React’s component model but with a different rendering strategy:
import 'package:flutter/material.dart';
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Hello Flutter')),
body: Center(
child: Text('Welcome to Flutter!', style: TextStyle(fontSize: 24)),
),
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: Icon(Icons.add),
),
),
);
}
}
Hot Reload: The Fastest Development Loop in Mobile
Flutter’s hot reload injects code changes into the running Dart VM in under a second, preserving app state. This is the single biggest productivity boost over native Android/iOS development, where a full build can take minutes.
Stateful vs Stateless Widgets
StatelessWidget is for UI that depends only on its configuration. StatefulWidget pairs with a State object that can change over time, triggering a rebuild when you call setState().
Performance Characteristics
Because Flutter draws its own pixels, it targets 60fps (and 120fps on ProMotion displays) consistently. There is no JavaScript bridge to saturate — logic and UI rendering happen on the same Dart thread with optional isolates for heavy computation.
State Management at 1.0
Flutter 1.0 ships with InheritedWidget for sharing state down the widget tree. The community is converging on BLoC pattern (Business Logic Components using Streams) and the Provider package as idiomatic state management solutions.
Flutter is production-ready as of 1.0. Alibaba’s Xianyu app — used by hundreds of millions — was built with Flutter. Google itself uses it for Google Ads. 2019 will be Flutter’s breakout year.