Caden Kriese | 3c6719b | 2022-06-02 03:04:44 -0600 | [diff] [blame] | 1 | <a href="https://flutter.dev/"> |
| 2 | <h1 align="center"> |
| 3 | <picture> |
| 4 | <source media="(prefers-color-scheme: dark)" srcset="https://storage.googleapis.com/cms-storage-bucket/6e19fee6b47b36ca613f.png"> |
| 5 | <img alt="Flutter" src="https://storage.googleapis.com/cms-storage-bucket/c823e53b3a1a7b0d36a9.png"> |
| 6 | </picture> |
| 7 | </h1> |
| 8 | </a> |
Patrice Chalin | f8e5b9c | 2019-01-23 21:54:15 -0500 | [diff] [blame] | 9 | |
Patrice Chalin | f8e5b9c | 2019-01-23 21:54:15 -0500 | [diff] [blame] | 10 | [![Build Status - Cirrus][]][Build status] |
Tim Sneath | cd32465 | 2021-02-11 23:27:41 -0800 | [diff] [blame] | 11 | [![Discord badge][]][Discord instructions] |
James George | 384a44d | 2019-11-21 05:45:58 +0530 | [diff] [blame] | 12 | [![Twitter handle][]][Twitter badge] |
godofredoc | f0c3e57 | 2022-10-07 16:42:12 -0700 | [diff] [blame] | 13 | [](https://codecov.io/gh/flutter/flutter) |
godofredoc | 69a4b82 | 2022-03-21 19:38:39 -0700 | [diff] [blame] | 14 | [](https://bestpractices.coreinfrastructure.org/projects/5631) |
Drew Roen | edb571e | 2023-01-23 15:27:13 -0600 | [diff] [blame] | 15 | [](https://deps.dev/project/github/flutter%2Fflutter) |
godofredoc | 7815699 | 2023-05-03 13:01:34 -0700 | [diff] [blame] | 16 | [](https://slsa.dev) |
Michael Thomsen | 7f0f938 | 2018-08-27 11:11:14 +0200 | [diff] [blame] | 17 | |
Tim Sneath | 05c3f7b | 2019-10-29 15:57:14 -0700 | [diff] [blame] | 18 | Flutter is Google's SDK for crafting beautiful, fast user experiences for |
Yazeed Al-Khalaf | d41b1fb | 2020-07-23 04:23:47 +0300 | [diff] [blame] | 19 | mobile, web, and desktop from a single codebase. Flutter works with existing |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 20 | code, is used by developers and organizations around the world, and is free and |
| 21 | open source. |
Michael Thomsen | 7f0f938 | 2018-08-27 11:11:14 +0200 | [diff] [blame] | 22 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 23 | ## Documentation |
Adam Barth | 7b0bbdb | 2015-10-30 11:16:58 -0700 | [diff] [blame] | 24 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 25 | * [Install Flutter](https://flutter.dev/get-started/) |
creativecreatorormaybenot | c81eb05 | 2022-07-21 21:22:07 +0000 | [diff] [blame] | 26 | * [Flutter documentation](https://docs.flutter.dev/) |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 27 | * [Development wiki](https://github.com/flutter/flutter/wiki) |
| 28 | * [Contributing to Flutter](https://github.com/flutter/flutter/blob/master/CONTRIBUTING.md) |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 29 | |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 30 | For announcements about new releases, follow the |
Ian Hickson | cf2fba7 | 2018-11-06 13:41:09 -0800 | [diff] [blame] | 31 | [flutter-announce@googlegroups.com](https://groups.google.com/forum/#!forum/flutter-announce) |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 32 | mailing list. Our documentation also tracks [breaking |
creativecreatorormaybenot | c81eb05 | 2022-07-21 21:22:07 +0000 | [diff] [blame] | 33 | changes](https://docs.flutter.dev/release/breaking-changes) across releases. |
Adam Barth | 576795d | 2015-11-08 21:33:00 -0800 | [diff] [blame] | 34 | |
Ian Hickson | ff5dd54 | 2021-09-14 13:02:04 -0700 | [diff] [blame] | 35 | ## Terms of service |
| 36 | |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 37 | The Flutter tool may occasionally download resources from Google servers. By |
creativecreatorormaybenot | c81eb05 | 2022-07-21 21:22:07 +0000 | [diff] [blame] | 38 | downloading or using the Flutter SDK, you agree to the Google Terms of Service: |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 39 | https://policies.google.com/terms |
Ian Hickson | ff5dd54 | 2021-09-14 13:02:04 -0700 | [diff] [blame] | 40 | |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 41 | For example, when installed from GitHub (as opposed to from a prepackaged |
| 42 | archive), the Flutter tool will download the Dart SDK from Google servers |
| 43 | immediately when first run, as it is used to execute the `flutter` tool itself. |
| 44 | This will also occur when Flutter is upgraded (e.g. by running the `flutter |
| 45 | upgrade` command). |
Ian Hickson | ff5dd54 | 2021-09-14 13:02:04 -0700 | [diff] [blame] | 46 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 47 | ## About Flutter |
Adam Barth | 7b0bbdb | 2015-10-30 11:16:58 -0700 | [diff] [blame] | 48 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 49 | We think Flutter will help you create beautiful, fast apps, with a productive, |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 50 | extensible and open development model, whether you're targeting iOS or Android, |
| 51 | web, Windows, macOS, Linux or embedding it as the UI toolkit for a platform of |
| 52 | your choice. |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 53 | |
Tim Sneath | 05c3f7b | 2019-10-29 15:57:14 -0700 | [diff] [blame] | 54 | ### Beautiful user experiences |
Filip Hracek | 39d2deb | 2017-07-12 10:58:12 -0700 | [diff] [blame] | 55 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 56 | We want to enable designers to deliver their full creative vision without being |
| 57 | forced to water it down due to limitations of the underlying framework. |
| 58 | Flutter's [layered architecture] gives you control over every pixel on the |
Yazeed Al-Khalaf | d41b1fb | 2020-07-23 04:23:47 +0300 | [diff] [blame] | 59 | screen and its powerful compositing capabilities let you overlay and animate |
| 60 | graphics, video, text, and controls without limitation. Flutter includes a full |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 61 | [set of widgets][widget catalog] that deliver pixel-perfect experiences whether |
Pierre-Louis | 81fd386 | 2022-09-12 19:46:05 +0200 | [diff] [blame] | 62 | you're building for iOS ([Cupertino]) or other platforms ([Material]), along with |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 63 | support for customizing or creating entirely new visual components. |
Michael Thomsen | 7f0f938 | 2018-08-27 11:11:14 +0200 | [diff] [blame] | 64 | |
Pradumna Saraf | f04b266 | 2021-09-20 22:13:05 +0530 | [diff] [blame] | 65 | <p align="center"><img src="https://github.com/flutter/website/blob/main/src/assets/images/docs/homepage/reflectly-hero-600px.png?raw=true" alt="Reflectly hero image"></p> |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 66 | |
Tim Sneath | 05c3f7b | 2019-10-29 15:57:14 -0700 | [diff] [blame] | 67 | ### Fast results |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 68 | |
Yazeed Al-Khalaf | d41b1fb | 2020-07-23 04:23:47 +0300 | [diff] [blame] | 69 | Flutter is fast. It's powered by the same hardware-accelerated 2D graphics |
Alex | 791ef56 | 2020-07-29 00:16:08 +0200 | [diff] [blame] | 70 | library that underpins Chrome and Android: [Skia]. We architected Flutter to |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 71 | support glitch-free, jank-free graphics at the native speed of your device. |
| 72 | Flutter code is powered by the world-class [Dart platform], which enables |
Tim Sneath | 05c3f7b | 2019-10-29 15:57:14 -0700 | [diff] [blame] | 73 | compilation to 32-bit and 64-bit ARM machine code for iOS and Android, as well |
| 74 | as JavaScript for the web and Intel x64 for desktop devices. |
| 75 | |
Pradumna Saraf | f04b266 | 2021-09-20 22:13:05 +0530 | [diff] [blame] | 76 | <p align="center"><img src="https://github.com/flutter/website/blob/main/src/assets/images/docs/homepage/dart-diagram-small.png?raw=true" alt="Dart diagram"></p> |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 77 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 78 | ### Productive development |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 79 | |
Pierre-Louis | 81fd386 | 2022-09-12 19:46:05 +0200 | [diff] [blame] | 80 | Flutter offers [stateful hot reload][Hot reload], allowing you to make changes to your code |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 81 | 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] | 82 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 83 | [![Hot reload animation][]][Hot reload] |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 84 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 85 | ### Extensible and open model |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 86 | |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 87 | Flutter works with any development tool (or none at all), and also includes |
| 88 | editor plug-ins for both [Visual Studio Code] and [IntelliJ / Android Studio]. |
| 89 | Flutter provides [tens of thousands of packages][Flutter packages] to speed your |
| 90 | development, regardless of your target platform. And accessing other native code |
creativecreatorormaybenot | c81eb05 | 2022-07-21 21:22:07 +0000 | [diff] [blame] | 91 | is easy, with support for both FFI ([on Android][Android FFI], [on iOS][iOS FFI], |
Pierre-Louis | 81fd386 | 2022-09-12 19:46:05 +0200 | [diff] [blame] | 92 | [on macOS][macOS FFI], and [on Windows][Windows FFI]) as well as |
| 93 | [platform-specific APIs][platform channels]. |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 94 | |
Yazeed Al-Khalaf | d41b1fb | 2020-07-23 04:23:47 +0300 | [diff] [blame] | 95 | Flutter is a fully open-source project, and we welcome contributions. |
Kalidas VijayBhak | fcca654 | 2021-08-04 00:25:03 +0530 | [diff] [blame] | 96 | Information on how to get started can be found in our |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 97 | [contributor guide](CONTRIBUTING.md). |
Filip Hracek | 53e2353 | 2017-07-12 10:12:25 -0700 | [diff] [blame] | 98 | |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 99 | [flutter.dev]: https://flutter.dev |
Patrice Chalin | f8e5b9c | 2019-01-23 21:54:15 -0500 | [diff] [blame] | 100 | [Build Status - Cirrus]: https://api.cirrus-ci.com/github/flutter/flutter.svg |
| 101 | [Build status]: https://cirrus-ci.com/github/flutter/flutter/master |
Tim Sneath | cd32465 | 2021-02-11 23:27:41 -0800 | [diff] [blame] | 102 | [Discord instructions]: https://github.com/flutter/flutter/wiki/Chat |
| 103 | [Discord badge]: https://img.shields.io/discord/608014603317936148 |
James George | 384a44d | 2019-11-21 05:45:58 +0530 | [diff] [blame] | 104 | [Twitter handle]: https://img.shields.io/twitter/follow/flutterdev.svg?style=social&label=Follow |
| 105 | [Twitter badge]: https://twitter.com/intent/follow?screen_name=flutterdev |
creativecreatorormaybenot | c81eb05 | 2022-07-21 21:22:07 +0000 | [diff] [blame] | 106 | [layered architecture]: https://docs.flutter.dev/resources/inside-flutter |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 107 | [architectural overview]: https://docs.flutter.dev/resources/architectural-overview |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 108 | [widget catalog]: https://flutter.dev/widgets/ |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 109 | [Cupertino]: https://docs.flutter.dev/development/ui/widgets/cupertino |
| 110 | [Material]: https://docs.flutter.dev/development/ui/widgets/material |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 111 | [Skia]: https://skia.org/ |
Kate Lovett | 054d9bb | 2019-05-14 10:35:00 -0700 | [diff] [blame] | 112 | [Dart platform]: https://dart.dev/ |
Pierre-Louis | 334c95d | 2021-09-02 08:46:27 +0200 | [diff] [blame] | 113 | [Hot reload animation]: https://github.com/flutter/website/blob/main/src/assets/images/docs/tools/android-studio/hot-reload.gif?raw=true |
Tim Sneath | 3212248 | 2022-01-26 13:45:12 -0800 | [diff] [blame] | 114 | [Hot reload]: https://docs.flutter.dev/development/tools/hot-reload |
Tim Sneath | d62635a | 2019-04-08 18:02:09 -0700 | [diff] [blame] | 115 | [Visual Studio Code]: https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter |
| 116 | [IntelliJ / Android Studio]: https://plugins.jetbrains.com/plugin/9212-flutter |
Kate Lovett | 054d9bb | 2019-05-14 10:35:00 -0700 | [diff] [blame] | 117 | [Flutter packages]: https://pub.dev/flutter |
creativecreatorormaybenot | c81eb05 | 2022-07-21 21:22:07 +0000 | [diff] [blame] | 118 | [Android FFI]: https://docs.flutter.dev/development/platform-integration/android/c-interop |
Pierre-Louis | 81fd386 | 2022-09-12 19:46:05 +0200 | [diff] [blame] | 119 | [iOS FFI]: https://docs.flutter.dev/development/platform-integration/ios/c-interop |
creativecreatorormaybenot | c81eb05 | 2022-07-21 21:22:07 +0000 | [diff] [blame] | 120 | [macOS FFI]: https://docs.flutter.dev/development/platform-integration/macos/c-interop |
Pierre-Louis | 81fd386 | 2022-09-12 19:46:05 +0200 | [diff] [blame] | 121 | [Windows FFI]: https://docs.flutter.dev/development/platform-integration/windows/building#integrating-with-windows |
creativecreatorormaybenot | c81eb05 | 2022-07-21 21:22:07 +0000 | [diff] [blame] | 122 | [platform channels]: https://docs.flutter.dev/development/platform-integration/platform-channels |
James George | 384a44d | 2019-11-21 05:45:58 +0530 | [diff] [blame] | 123 | [interop example]: https://github.com/flutter/flutter/tree/master/examples/platform_channel |