
* Roll engine to 21c7d6a5da47165d076928fbe460badbbead24cd flutter/engine@21c7d6a Revert "Add antiAlias and saveCount to clipPath and restore (#5638)" flutter/engine@70dcbb5 Roll src/third_party/skia d818ebf4a317..9aa30c6ee0e5 (11 commits) flutter/engine@ad42324 Roll src/third_party/skia a219419c9d76..d818ebf4a317 (2 commits) flutter/engine@f2eb83a Roll src/third_party/skia 00d2e8ebcb13..a219419c9d76 (1 commits) flutter/engine@0ec7669 Roll src/third_party/skia 8451daabb23d..00d2e8ebcb13 (1 commits) flutter/engine@061e899 Support all keyboard actions. (#11344) flutter/engine@bc6b250 Roll src/third_party/skia 34024a7c478c..8451daabb23d (1 commits) flutter/engine@df4dffb Roll src/third_party/skia 75e69028956d..34024a7c478c (1 commits) flutter/engine@d8770d4 Roll src/third_party/skia cf863fb9b446..75e69028956d (1 commits) flutter/engine@b88a8b3 Roll src/third_party/skia b7b9d02ac020..cf863fb9b446 (1 commits) flutter/engine@2261ccf [fuchsia] Update scenic lib path. flutter/engine@4c4ef98 [fuchsia] Rename scenic_lib => scenic flutter/engine@f0c21f3 Roll src/third_party/skia 184d408b646b..b7b9d02ac020 (7 commits) flutter/engine@a2bf805 Add antiAlias and saveCount to clipPath and restore flutter/engine@9e450d1 Roll src/third_party/skia c91fe3ab1c5d..184d408b646b (10 commits) flutter/engine@e663996 Roll src/third_party/skia eb8f8106f38c..c91fe3ab1c5d (5 commits) flutter/engine@fecd66f Roll src/third_party/skia 723b1f6ef941..eb8f8106f38c (1 commits) flutter/engine@4466d61 Remove vmservice_io.main from entry points. flutter/engine@f279dfe Roll src/third_party/skia 7e2327b133db..723b1f6ef941 (1 commits) flutter/engine@a885bd4 Roll src/third_party/skia 24d18ced1ad7..7e2327b133db (6 commits) flutter/engine@ad1bd47 Roll src/third_party/skia a1e5630183c1..24d18ced1ad7 (7 commits) flutter/engine@ce06bba ensure a11y state is communicated back to flutter flutter/engine@c54a57e Roll src/third_party/skia b1b87d9df81e..a1e5630183c1 (10 commits) flutter/engine@a9e5354 Roll src/third_party/skia 385804514edf..b1b87d9df81e (6 commits) flutter/engine@2006e7d Roll src/third_party/skia e97bb26893a1..385804514edf (1 commits) flutter/engine@2942061 Roll src/third_party/skia e2e52e46ca63..e97bb26893a1 (1 commits) flutter/engine@e378811 Roll src/third_party/skia 14de25dfc7c4..e2e52e46ca63 (2 commits) flutter/engine@48cc8f2 Roll src/third_party/skia 551dc3e91143..14de25dfc7c4 (2 commits) flutter/engine@00ddf13 libtxt: apply an offset to drawing operations instead of translating the canvas flutter/engine@2c5647c Roll src/third_party/skia 059a9ab4bcd0..551dc3e91143 (5 commits) flutter/engine@9e44004 Roll src/third_party/skia 45c9dab4c3ec..059a9ab4bcd0 (8 commits) flutter/engine@fbb3436 Remove some unused code from the Android host flutter/engine@36f3f95 Roll src/third_party/skia 37b7e4714558..45c9dab4c3ec (1 commits) flutter/engine@57e2e0c Roll src/third_party/skia c421ca1d6e41..37b7e4714558 (2 commits) flutter/engine@ce417e2 Roll src/third_party/skia 5b201e3b0ba8..c421ca1d6e41 (3 commits) flutter/engine@05f5a18 Roll src/third_party/skia d47fe095cf88..5b201e3b0ba8 (6 commits) flutter/engine@33b70e0 Roll src/third_party/skia 9c0ce41cf711..d47fe095cf88 (12 commits) flutter/engine@7dab419 Roll src/third_party/skia d4b2adeaa929..9c0ce41cf711 (7 commits) flutter/engine@d3fa01a Roll src/third_party/skia f46710802ad5..d4b2adeaa929 (1 commits)
Flutter

A new mobile app SDK to help developers and designers build modern mobile apps for iOS and Android. Flutter is an open-source project currently in beta.
Documentation
- Main site: flutter.io
- Install
- Get started
- Contribute
Fast development
Flutter's hot reload helps you quickly and easily experiment, build UIs, add features, and fix bugs. Experience sub-second reload times, without losing state, on emulators, simulators, and hardware for iOS and Android.

Expressive, beautiful UIs
Delight your users with Flutter's built-in beautiful Material Design and Cupertino (iOS-flavor) widgets, rich motion APIs, smooth natural scrolling, and platform awareness.
Browse the widget catalog.
Modern, reactive framework
Easily compose your UI with Flutter's modern functional-reactive framework and rich set of platform, layout, and foundation widgets. Solve your tough UI challenges with powerful and flexible APIs for 2D, animation, gestures, effects, and more.
class CounterState extends State<Counter> {
int counter = 0;
void increment() {
// Tells the Flutter framework that state has changed,
// so the framework can run build() and update the display.
setState(() {
counter++;
});
}
Widget build(BuildContext context) {
// This method is rerun every time setState is called.
// The Flutter framework has been optimized to make rerunning
// build methods fast, so that you can just rebuild anything that
// needs updating rather than having to individually change
// instances of widgets.
return new Row(
children: <Widget>[
new RaisedButton(
onPressed: increment,
child: new Text('Increment'),
),
new Text('Count: $counter'),
],
);
}
}
Browse the widget catalog and learn more about the functional-reactive framework.
Access native features and SDKs
Make your app come to life with platform APIs, 3rd party SDKs, and native code. Flutter lets you reuse your existing Java/Kotlin and ObjC/Swift code, and access native features and SDKs on Android and iOS.
Accessing platform features is easy. Here is a snippet from our interop example:
Future<Null> getBatteryLevel() async {
var batteryLevel = 'unknown';
try {
int result = await methodChannel.invokeMethod('getBatteryLevel');
batteryLevel = 'Battery level: $result%';
} on PlatformException {
batteryLevel = 'Failed to get battery level.';
}
setState(() {
_batteryLevel = batteryLevel;
});
}
Learn how to use packages, or write platform channels, to access native code, APIs, and SDKs.
Unified app development
Flutter has the tools and libraries to help you easily bring your ideas to life on iOS and Android. If you don't have any mobile development experience, Flutter is an easy and fast way to build beautiful mobile apps. If you are an experienced iOS or Android developer, you can use Flutter for your views and leverage much of your existing Java/Kotlin/ObjC/Swift investment.
Build
- Beautiful app UIs
- Rich 2D GPU-accelerated APIs
- Reactive framework
- Animation/motion APIs
- Material Design and iOS widgets
- Fluid coding experience
- Sub-second, stateful hot reload
- IntelliJ: refactor, code completion, etc
- Dart language and core libs
- Package manager
- Full-featured apps
- Interop with mobile OS APIs & SDKs
- Gradle/Java/Kotlin
- Cocoapods/ObjC/Swift
Optimize
- Test
- Unit testing
- Integration testing
- On-device testing
- Debug
- IDE debugger
- Web-based debugger
- async/await aware
- Expression evaluator
- Profile
- Timeline
- CPU and memory
- In-app perf charts
Deploy
- Compile
- Native ARM code
- Dead code elimination
- Distribution
- App Store
- Play Store
Learn more about what makes Flutter special in the technical overview.
Join us in our Gitter chat room or join our public mailing list, flutter-dev@googlegroups.com.