Flutter is Google’s cross-platform development tool for mobile apps that help developers develop high-quality native application interfaces on both iOS and Android platforms.
What are some advantages of Flutter? It helps you:
- Be highly productive
- Develop for iOS and Android from a single codebase
- Do more with less code, even on a single OS, with a modern, expressive language and a declarative approach
- Prototype and iterate easily
- Experiment by changing code and reloading as your app runs (with hot reload)
- Fix crashes and continue debugging from where the app left off
- Create beautiful, highly-customized user experiences
- Benefit from a rich set of Material Design and Cupertino (iOS-flavor) widgets built using Flutter’s own framework
- Realize custom, beautiful, brand-driven designs, without the limitations of OEM widget sets
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 and flexible UI
Quickly ship features with a focus on native end-user experiences. The layered architecture allows full customization, which results in incredibly fast rendering and expressive and flexible designs.
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.
The 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.
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.
Roll engine af04338413c3..2f69e38160a3 (2 commits) (#44493) firstname.lastname@example.org:flutter/engine.git/compare/af04338413c3…2f69e38160a3
git log af04338413c3..2f69e38160a3 –no-merges –oneline
2019-11-08 email@example.com Implement Path.computeMetrics in the CanvasKit backend (flutter/engine#13760) 2019-11-08 firstname.lastname@example.org libtxt: pass an RTL bool flag instead of a bidiFlags enum to measureText (flutter/engine#13736)
If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC email@example.com on the revert to ensure that a human is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md