Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 1 | # [![Flutter logo][]][flutter.dev] |
Patrice Chalin | f8e5b9c | 2019-01-23 21:54:15 -0500 | [diff] [blame] | 2 | |
Patrice Chalin | f8e5b9c | 2019-01-23 21:54:15 -0500 | [diff] [blame] | 3 | [![Build Status - Cirrus][]][Build status] |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 4 | [![Gitter Channel][]][Gitter badge] |
Michael Thomsen | 7f0f938 | 2018-08-27 11:11:14 +0200 | [diff] [blame] | 5 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 6 | Flutter is Google's mobile app SDK for crafting high-quality native interfaces |
| 7 | on iOS and Android in record time. Flutter works with existing code, is used by |
| 8 | developers and organizations around the world, and is free and open source. |
Michael Thomsen | 7f0f938 | 2018-08-27 11:11:14 +0200 | [diff] [blame] | 9 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 10 | ## Documentation |
Adam Barth | 7b0bbdb | 2015-10-30 11:16:58 -0700 | [diff] [blame] | 11 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 12 | * [Install Flutter](https://flutter.dev/get-started/) |
| 13 | * [Flutter documentation](https://flutter.dev/docs) |
| 14 | * [Development wiki](https://github.com/flutter/flutter/wiki) |
| 15 | * [Contributing to Flutter](https://github.com/flutter/flutter/blob/master/CONTRIBUTING.md) |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 16 | |
| 17 | For announcements about new releases and breaking changes, follow the |
| 18 | [flutter-announce@googlegroups.com](https://groups.google.com/forum/#!forum/flutter-announce) |
| 19 | mailing list. |
Adam Barth | 576795d | 2015-11-08 21:33:00 -0800 | [diff] [blame] | 20 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 21 | ## About Flutter |
Adam Barth | 7b0bbdb | 2015-10-30 11:16:58 -0700 | [diff] [blame] | 22 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 23 | We think Flutter will help you create beautiful, fast apps, with a productive, |
| 24 | extensible and open development model. |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 25 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 26 | ### Beautiful apps |
Filip Hracek | 39d2deb | 2017-07-12 10:58:12 -0700 | [diff] [blame] | 27 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 28 | We want to enable designers to deliver their full creative vision without being |
| 29 | forced to water it down due to limitations of the underlying framework. |
| 30 | Flutter's [layered architecture] gives you control over every pixel on the |
| 31 | screen, and its powerful compositing capabilities let you overlay and animate |
| 32 | graphics, video, text and controls without limitation. Flutter includes a full |
| 33 | [set of widgets][widget catalog] that deliver pixel-perfect experiences on both |
| 34 | iOS and Android. |
Michael Thomsen | 7f0f938 | 2018-08-27 11:11:14 +0200 | [diff] [blame] | 35 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 36 | ![Reflectly hero image][Reflectly hero image] |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 37 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 38 | ### Fast apps |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 39 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 40 | Flutter is fast. It's powered by the same hardware-accelerated [Skia] 2D |
| 41 | graphics library that underpins Chrome and Android. We architected Flutter to |
| 42 | support glitch-free, jank-free graphics at the native speed of your device. |
| 43 | Flutter code is powered by the world-class [Dart platform], which enables |
| 44 | compilation to native 32-bit and 64-bit ARM code for iOS and Android. |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 45 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 46 | ### Productive development |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 47 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 48 | Flutter offers stateful hot reload, allowing you to make changes to your code |
| 49 | and see the results instantly without restarting your app or losing its state. |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 50 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 51 | [![Hot reload animation][]][Hot reload] |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 52 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 53 | ### Extensible and open model |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 54 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 55 | Flutter works with any development tool, but includes editor plug-ins for both |
| 56 | [Visual Studio Code] and [IntelliJ / Android Studio]. Flutter provides |
| 57 | [thousands of packages][Flutter packages] to speed your development, regardless |
| 58 | of your target platform. And accessing platform features is easy. Here is a |
| 59 | snippet from our [interop example]: |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 60 | |
| 61 | ```dart |
Alexandre Ardhuin | 936dea2 | 2018-10-17 08:09:29 +0200 | [diff] [blame] | 62 | Future<void> getBatteryLevel() async { |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 63 | var batteryLevel = 'unknown'; |
| 64 | try { |
| 65 | int result = await methodChannel.invokeMethod('getBatteryLevel'); |
| 66 | batteryLevel = 'Battery level: $result%'; |
| 67 | } on PlatformException { |
| 68 | batteryLevel = 'Failed to get battery level.'; |
| 69 | } |
| 70 | setState(() { |
| 71 | _batteryLevel = batteryLevel; |
| 72 | }); |
| 73 | } |
| 74 | ``` |
| 75 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 76 | Flutter is a fully open source project, and we welcome contributions. |
| 77 | Information on how to get started can be found at our |
| 78 | [contributor guide](CONTRIBUTING.md). |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 79 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 80 | [Flutter logo]: https://flutter.dev/assets/flutter-lockup-4cb0ee072ab312e59784d9fbf4fb7ad42688a7fdaea1270ccf6bbf4f34b7e03f.svg |
| 81 | [flutter.dev]: https://flutter.dev |
Patrice Chalin | f8e5b9c | 2019-01-23 21:54:15 -0500 | [diff] [blame] | 82 | [Build Status - Cirrus]: https://api.cirrus-ci.com/github/flutter/flutter.svg |
| 83 | [Build status]: https://cirrus-ci.com/github/flutter/flutter/master |
Patrice Chalin | f8e5b9c | 2019-01-23 21:54:15 -0500 | [diff] [blame] | 84 | [Gitter Channel]: https://badges.gitter.im/flutter/flutter.svg |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 85 | [Gitter badge]: https://gitter.im/flutter/flutter?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge |
| 86 | [layered architecture]: https://flutter.dev/docs/resources/inside-flutter |
| 87 | [widget catalog]: https://flutter.dev/widgets/ |
| 88 | [Reflectly hero image]: https://github.com/flutter/website/blob/master/src/images/homepage/reflectly-hero-600px.png |
| 89 | [Skia]: https://skia.org/ |
Kate Lovett | 054d9bb | 2019-05-14 10:35:00 -0700 | [diff] [blame] | 90 | [Dart platform]: https://dart.dev/ |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 91 | [Hot reload animation]: https://raw.githubusercontent.com/flutter/website/master/src/_assets/image/tools/android-studio/hot-reload.gif |
| 92 | [Hot reload]: https://flutter.dev/docs/development/tools/hot-reload |
| 93 | [Visual Studio Code]: https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter |
| 94 | [IntelliJ / Android Studio]: https://plugins.jetbrains.com/plugin/9212-flutter |
Kate Lovett | 054d9bb | 2019-05-14 10:35:00 -0700 | [diff] [blame] | 95 | [Flutter packages]: https://pub.dev/flutter |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 96 | [interop example]: https://github.com/flutter/flutter/tree/master/examples/platform_channel |