blob: 55de23b6d99506a7be6d3efe962d0e7efac3cee9 [file] [log] [blame] [view]
Caden Kriese3c6719b2022-06-02 03:04:44 -06001<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 Chalinf8e5b9c2019-01-23 21:54:15 -05009
Patrice Chalinf8e5b9c2019-01-23 21:54:15 -050010[![Build Status - Cirrus][]][Build status]
Tim Sneathcd324652021-02-11 23:27:41 -080011[![Discord badge][]][Discord instructions]
James George384a44d2019-11-21 05:45:58 +053012[![Twitter handle][]][Twitter badge]
godofredocf0c3e572022-10-07 16:42:12 -070013[![codecov](https://codecov.io/gh/flutter/flutter/branch/master/graph/badge.svg?token=11yDrJU2M2)](https://codecov.io/gh/flutter/flutter)
godofredoc69a4b822022-03-21 19:38:39 -070014[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5631/badge)](https://bestpractices.coreinfrastructure.org/projects/5631)
Drew Roenedb571e2023-01-23 15:27:13 -060015[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/flutter/flutter/badge)](https://deps.dev/project/github/flutter%2Fflutter)
godofredoc78156992023-05-03 13:01:34 -070016[![SLSA 1](https://slsa.dev/images/gh-badge-level1.svg)](https://slsa.dev)
Michael Thomsen7f0f9382018-08-27 11:11:14 +020017
Tim Sneath05c3f7b2019-10-29 15:57:14 -070018Flutter is Google's SDK for crafting beautiful, fast user experiences for
Yazeed Al-Khalafd41b1fb2020-07-23 04:23:47 +030019mobile, web, and desktop from a single codebase. Flutter works with existing
Tim Sneath32122482022-01-26 13:45:12 -080020code, is used by developers and organizations around the world, and is free and
21open source.
Michael Thomsen7f0f9382018-08-27 11:11:14 +020022
Tim Sneathd62635a2019-04-08 18:02:09 -070023## Documentation
Adam Barth7b0bbdb2015-10-30 11:16:58 -070024
Tim Sneathd62635a2019-04-08 18:02:09 -070025* [Install Flutter](https://flutter.dev/get-started/)
creativecreatorormaybenotc81eb052022-07-21 21:22:07 +000026* [Flutter documentation](https://docs.flutter.dev/)
Tim Sneathd62635a2019-04-08 18:02:09 -070027* [Development wiki](https://github.com/flutter/flutter/wiki)
28* [Contributing to Flutter](https://github.com/flutter/flutter/blob/master/CONTRIBUTING.md)
Ian Hicksoncf2fba72018-11-06 13:41:09 -080029
Tim Sneath32122482022-01-26 13:45:12 -080030For announcements about new releases, follow the
Ian Hicksoncf2fba72018-11-06 13:41:09 -080031[flutter-announce@googlegroups.com](https://groups.google.com/forum/#!forum/flutter-announce)
Tim Sneath32122482022-01-26 13:45:12 -080032mailing list. Our documentation also tracks [breaking
creativecreatorormaybenotc81eb052022-07-21 21:22:07 +000033changes](https://docs.flutter.dev/release/breaking-changes) across releases.
Adam Barth576795d2015-11-08 21:33:00 -080034
Ian Hicksonff5dd542021-09-14 13:02:04 -070035## Terms of service
36
Tim Sneath32122482022-01-26 13:45:12 -080037The Flutter tool may occasionally download resources from Google servers. By
creativecreatorormaybenotc81eb052022-07-21 21:22:07 +000038downloading or using the Flutter SDK, you agree to the Google Terms of Service:
Tim Sneath32122482022-01-26 13:45:12 -080039https://policies.google.com/terms
Ian Hicksonff5dd542021-09-14 13:02:04 -070040
Tim Sneath32122482022-01-26 13:45:12 -080041For example, when installed from GitHub (as opposed to from a prepackaged
42archive), the Flutter tool will download the Dart SDK from Google servers
43immediately when first run, as it is used to execute the `flutter` tool itself.
44This will also occur when Flutter is upgraded (e.g. by running the `flutter
45upgrade` command).
Ian Hicksonff5dd542021-09-14 13:02:04 -070046
Tim Sneathd62635a2019-04-08 18:02:09 -070047## About Flutter
Adam Barth7b0bbdb2015-10-30 11:16:58 -070048
Tim Sneathd62635a2019-04-08 18:02:09 -070049We think Flutter will help you create beautiful, fast apps, with a productive,
Tim Sneath32122482022-01-26 13:45:12 -080050extensible and open development model, whether you're targeting iOS or Android,
51web, Windows, macOS, Linux or embedding it as the UI toolkit for a platform of
52your choice.
Filip Hracek53e23532017-07-12 10:12:25 -070053
Tim Sneath05c3f7b2019-10-29 15:57:14 -070054### Beautiful user experiences
Filip Hracek39d2deb2017-07-12 10:58:12 -070055
Tim Sneathd62635a2019-04-08 18:02:09 -070056We want to enable designers to deliver their full creative vision without being
57forced to water it down due to limitations of the underlying framework.
58Flutter's [layered architecture] gives you control over every pixel on the
Yazeed Al-Khalafd41b1fb2020-07-23 04:23:47 +030059screen and its powerful compositing capabilities let you overlay and animate
60graphics, video, text, and controls without limitation. Flutter includes a full
Tim Sneath32122482022-01-26 13:45:12 -080061[set of widgets][widget catalog] that deliver pixel-perfect experiences whether
Pierre-Louis81fd3862022-09-12 19:46:05 +020062you're building for iOS ([Cupertino]) or other platforms ([Material]), along with
Tim Sneath32122482022-01-26 13:45:12 -080063support for customizing or creating entirely new visual components.
Michael Thomsen7f0f9382018-08-27 11:11:14 +020064
Pradumna Saraff04b2662021-09-20 22:13:05 +053065<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 Hracek53e23532017-07-12 10:12:25 -070066
Tim Sneath05c3f7b2019-10-29 15:57:14 -070067### Fast results
Filip Hracek53e23532017-07-12 10:12:25 -070068
Yazeed Al-Khalafd41b1fb2020-07-23 04:23:47 +030069Flutter is fast. It's powered by the same hardware-accelerated 2D graphics
Alex791ef562020-07-29 00:16:08 +020070library that underpins Chrome and Android: [Skia]. We architected Flutter to
Tim Sneathd62635a2019-04-08 18:02:09 -070071support glitch-free, jank-free graphics at the native speed of your device.
72Flutter code is powered by the world-class [Dart platform], which enables
Tim Sneath05c3f7b2019-10-29 15:57:14 -070073compilation to 32-bit and 64-bit ARM machine code for iOS and Android, as well
74as JavaScript for the web and Intel x64 for desktop devices.
75
Pradumna Saraff04b2662021-09-20 22:13:05 +053076<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 Hracek53e23532017-07-12 10:12:25 -070077
Tim Sneathd62635a2019-04-08 18:02:09 -070078### Productive development
Filip Hracek53e23532017-07-12 10:12:25 -070079
Pierre-Louis81fd3862022-09-12 19:46:05 +020080Flutter offers [stateful hot reload][Hot reload], allowing you to make changes to your code
Tim Sneathd62635a2019-04-08 18:02:09 -070081and see the results instantly without restarting your app or losing its state.
Filip Hracek53e23532017-07-12 10:12:25 -070082
Tim Sneathd62635a2019-04-08 18:02:09 -070083[![Hot reload animation][]][Hot reload]
Filip Hracek53e23532017-07-12 10:12:25 -070084
Tim Sneathd62635a2019-04-08 18:02:09 -070085### Extensible and open model
Filip Hracek53e23532017-07-12 10:12:25 -070086
Tim Sneath32122482022-01-26 13:45:12 -080087Flutter works with any development tool (or none at all), and also includes
88editor plug-ins for both [Visual Studio Code] and [IntelliJ / Android Studio].
89Flutter provides [tens of thousands of packages][Flutter packages] to speed your
90development, regardless of your target platform. And accessing other native code
creativecreatorormaybenotc81eb052022-07-21 21:22:07 +000091is easy, with support for both FFI ([on Android][Android FFI], [on iOS][iOS FFI],
Pierre-Louis81fd3862022-09-12 19:46:05 +020092[on macOS][macOS FFI], and [on Windows][Windows FFI]) as well as
93[platform-specific APIs][platform channels].
Filip Hracek53e23532017-07-12 10:12:25 -070094
Yazeed Al-Khalafd41b1fb2020-07-23 04:23:47 +030095Flutter is a fully open-source project, and we welcome contributions.
Kalidas VijayBhakfcca6542021-08-04 00:25:03 +053096Information on how to get started can be found in our
Tim Sneathd62635a2019-04-08 18:02:09 -070097[contributor guide](CONTRIBUTING.md).
Filip Hracek53e23532017-07-12 10:12:25 -070098
Tim Sneathd62635a2019-04-08 18:02:09 -070099[flutter.dev]: https://flutter.dev
Patrice Chalinf8e5b9c2019-01-23 21:54:15 -0500100[Build Status - Cirrus]: https://api.cirrus-ci.com/github/flutter/flutter.svg
101[Build status]: https://cirrus-ci.com/github/flutter/flutter/master
Tim Sneathcd324652021-02-11 23:27:41 -0800102[Discord instructions]: https://github.com/flutter/flutter/wiki/Chat
103[Discord badge]: https://img.shields.io/discord/608014603317936148
James George384a44d2019-11-21 05:45:58 +0530104[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
creativecreatorormaybenotc81eb052022-07-21 21:22:07 +0000106[layered architecture]: https://docs.flutter.dev/resources/inside-flutter
Tim Sneath32122482022-01-26 13:45:12 -0800107[architectural overview]: https://docs.flutter.dev/resources/architectural-overview
Tim Sneathd62635a2019-04-08 18:02:09 -0700108[widget catalog]: https://flutter.dev/widgets/
Tim Sneath32122482022-01-26 13:45:12 -0800109[Cupertino]: https://docs.flutter.dev/development/ui/widgets/cupertino
110[Material]: https://docs.flutter.dev/development/ui/widgets/material
Tim Sneathd62635a2019-04-08 18:02:09 -0700111[Skia]: https://skia.org/
Kate Lovett054d9bb2019-05-14 10:35:00 -0700112[Dart platform]: https://dart.dev/
Pierre-Louis334c95d2021-09-02 08:46:27 +0200113[Hot reload animation]: https://github.com/flutter/website/blob/main/src/assets/images/docs/tools/android-studio/hot-reload.gif?raw=true
Tim Sneath32122482022-01-26 13:45:12 -0800114[Hot reload]: https://docs.flutter.dev/development/tools/hot-reload
Tim Sneathd62635a2019-04-08 18:02:09 -0700115[Visual Studio Code]: https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
116[IntelliJ / Android Studio]: https://plugins.jetbrains.com/plugin/9212-flutter
Kate Lovett054d9bb2019-05-14 10:35:00 -0700117[Flutter packages]: https://pub.dev/flutter
creativecreatorormaybenotc81eb052022-07-21 21:22:07 +0000118[Android FFI]: https://docs.flutter.dev/development/platform-integration/android/c-interop
Pierre-Louis81fd3862022-09-12 19:46:05 +0200119[iOS FFI]: https://docs.flutter.dev/development/platform-integration/ios/c-interop
creativecreatorormaybenotc81eb052022-07-21 21:22:07 +0000120[macOS FFI]: https://docs.flutter.dev/development/platform-integration/macos/c-interop
Pierre-Louis81fd3862022-09-12 19:46:05 +0200121[Windows FFI]: https://docs.flutter.dev/development/platform-integration/windows/building#integrating-with-windows
creativecreatorormaybenotc81eb052022-07-21 21:22:07 +0000122[platform channels]: https://docs.flutter.dev/development/platform-integration/platform-channels
James George384a44d2019-11-21 05:45:58 +0530123[interop example]: https://github.com/flutter/flutter/tree/master/examples/platform_channel