Flutter: Cross-platform UI framework from a single codebase
Google's SDK compiling Dart to native multi-platform applications.
Learn more about flutter
Flutter is a UI framework and SDK that uses the Dart programming language to build applications for iOS, Android, web, Windows, macOS, and Linux from a single codebase. The framework is built on a layered architecture with hardware-accelerated graphics rendering through Skia and Impeller, providing pixel-level control over the display. Flutter includes a widget library with Material Design and Cupertino (iOS-style) components, along with support for custom widgets and animations. Applications are compiled to native ARM code for mobile platforms, JavaScript/WebAssembly for web, and native binaries for desktop environments.
Native Code Compilation
Compiles Dart directly to ARM machine code for mobile, x64 for desktop, and WebAssembly for web. Eliminates runtime interpreters and web view wrappers for full native performance across all platforms.
Stateful Hot Reload
Inject code changes into running applications while preserving state and UI position. See updates in under one second without restarting the app or losing debugging context.
Hardware-Accelerated Graphics
Renders UI directly through Skia and Impeller graphics engines with pixel-level control. Bypasses platform UI frameworks to deliver consistent 60/120fps animations across devices.
import 'package:flutter/material.dart';
class CounterWidget extends StatefulWidget {
@override
_CounterWidgetState createState() => _CounterWidgetState();
}
class _CounterWidgetState extends State<CounterWidget> {
int _count = 0;
@override
Widget build(BuildContext context) {
return Column(
children: [
Text('Count: $_count'),
ElevatedButton(
onPressed: () => setState(() => _count++),
child: Text('Increment'),
),
],
);
}
}Beta release removes deprecated NavigatorState.focusScopeNode and bumps Android Gradle to 7.6.4; includes leak tracking integration and new accessibility features.
- –Remove any usage of NavigatorState.focusScopeNode, which was deleted in this release.
- –Update Android projects to Gradle 7.6.4 if using the updated template or integration tests.
Beta release adds adaptive Switch without Cupertino dependency, Apple system fonts on iOS, and multi-touch drag strategies for scrolling.
- –Configure ScrollBehavior with MultiTouchDragStrategy.latestPointer to prevent multi-finger scroll speed doubling.
- –Use MaterialStatesController in TextField/TextFormField to listen for state changes and customize adaptive Switch appearance.
Beta release focused on Material 3 test updates, memory leak fixes, and framework refinements; no breaking changes or new requirements specified.
- –Switch to beta channel with `flutter channel beta && flutter upgrade` to access Material 3 test coverage and leak-tracking improvements.
- –Review memory leak fixes in DateRangePickerDialog, RenderEditable, and TimePickerDialog if you subclass or extend these components.
See how people are using flutter
Top in Mobile & Desktop
Related Repositories
Discover similar tools and frameworks used by developers
SnapKit
Swift DSL for type-safe programmatic Auto Layout constraints.
react-native-vector-icons
Vector icon fonts rendered as native React Native components.
react-native-image-picker
Cross-platform native media picker bridge for React Native.
react-native-svg
Native SVG rendering for React Native applications.
react-native-video
Native iOS/Android video playback with streaming and DRM.