blob: 74ccbdbc38e265e3b440dad1f096dfd6225973ee [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
Casey Hillers49edbc72024-01-04 10:26:48 -080010[![Flutter CI Status](https://flutter-dashboard.appspot.com/api/public/build-status-badge?repo=flutter)](https://flutter-dashboard.appspot.com/#/build?repo=flutter)
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)
godofredoc78156992023-05-03 13:01:34 -070015[![SLSA 1](https://slsa.dev/images/gh-badge-level1.svg)](https://slsa.dev)
Michael Thomsen7f0f9382018-08-27 11:11:14 +020016
Tim Sneath05c3f7b2019-10-29 15:57:14 -070017Flutter is Google's SDK for crafting beautiful, fast user experiences for
Yazeed Al-Khalafd41b1fb2020-07-23 04:23:47 +030018mobile, web, and desktop from a single codebase. Flutter works with existing
Tim Sneath32122482022-01-26 13:45:12 -080019code, is used by developers and organizations around the world, and is free and
20open source.
Michael Thomsen7f0f9382018-08-27 11:11:14 +020021
Tim Sneathd62635a2019-04-08 18:02:09 -070022## Documentation
Adam Barth7b0bbdb2015-10-30 11:16:58 -070023
Tim Sneathd62635a2019-04-08 18:02:09 -070024* [Install Flutter](https://flutter.dev/get-started/)
creativecreatorormaybenotc81eb052022-07-21 21:22:07 +000025* [Flutter documentation](https://docs.flutter.dev/)
Kate Lovett62586dc2024-06-17 10:26:08 -070026* [Development wiki](./docs/README.md)
Pierre-Louis4a65a762024-04-17 15:16:33 +020027* [Contributing to Flutter](https://github.com/flutter/flutter/blob/main/CONTRIBUTING.md)
Ian Hicksoncf2fba72018-11-06 13:41:09 -080028
Tim Sneath32122482022-01-26 13:45:12 -080029For announcements about new releases, follow the
Ian Hicksoncf2fba72018-11-06 13:41:09 -080030[flutter-announce@googlegroups.com](https://groups.google.com/forum/#!forum/flutter-announce)
Tim Sneath32122482022-01-26 13:45:12 -080031mailing list. Our documentation also tracks [breaking
creativecreatorormaybenotc81eb052022-07-21 21:22:07 +000032changes](https://docs.flutter.dev/release/breaking-changes) across releases.
Adam Barth576795d2015-11-08 21:33:00 -080033
Ian Hicksonff5dd542021-09-14 13:02:04 -070034## Terms of service
35
Tim Sneath32122482022-01-26 13:45:12 -080036The Flutter tool may occasionally download resources from Google servers. By
creativecreatorormaybenotc81eb052022-07-21 21:22:07 +000037downloading or using the Flutter SDK, you agree to the Google Terms of Service:
Tim Sneath32122482022-01-26 13:45:12 -080038https://policies.google.com/terms
Ian Hicksonff5dd542021-09-14 13:02:04 -070039
Tim Sneath32122482022-01-26 13:45:12 -080040For example, when installed from GitHub (as opposed to from a prepackaged
41archive), the Flutter tool will download the Dart SDK from Google servers
42immediately when first run, as it is used to execute the `flutter` tool itself.
43This will also occur when Flutter is upgraded (e.g. by running the `flutter
44upgrade` command).
Ian Hicksonff5dd542021-09-14 13:02:04 -070045
Tim Sneathd62635a2019-04-08 18:02:09 -070046## About Flutter
Adam Barth7b0bbdb2015-10-30 11:16:58 -070047
Tim Sneathd62635a2019-04-08 18:02:09 -070048We think Flutter will help you create beautiful, fast apps, with a productive,
Tim Sneath32122482022-01-26 13:45:12 -080049extensible and open development model, whether you're targeting iOS or Android,
50web, Windows, macOS, Linux or embedding it as the UI toolkit for a platform of
51your choice.
Filip Hracek53e23532017-07-12 10:12:25 -070052
Tim Sneath05c3f7b2019-10-29 15:57:14 -070053### Beautiful user experiences
Filip Hracek39d2deb2017-07-12 10:58:12 -070054
Tim Sneathd62635a2019-04-08 18:02:09 -070055We want to enable designers to deliver their full creative vision without being
56forced to water it down due to limitations of the underlying framework.
57Flutter's [layered architecture] gives you control over every pixel on the
Yazeed Al-Khalafd41b1fb2020-07-23 04:23:47 +030058screen and its powerful compositing capabilities let you overlay and animate
59graphics, video, text, and controls without limitation. Flutter includes a full
Tim Sneath32122482022-01-26 13:45:12 -080060[set of widgets][widget catalog] that deliver pixel-perfect experiences whether
Pierre-Louis81fd3862022-09-12 19:46:05 +020061you're building for iOS ([Cupertino]) or other platforms ([Material]), along with
Tim Sneath32122482022-01-26 13:45:12 -080062support for customizing or creating entirely new visual components.
Michael Thomsen7f0f9382018-08-27 11:11:14 +020063
Taha Tesser4967a942024-04-09 11:30:04 +030064<p align="center"><img src="https://github.com/flutter/website/blob/main/src/content/assets/images/docs/homepage/reflectly-hero-600px.png?raw=true" alt="Reflectly hero image"></p>
Filip Hracek53e23532017-07-12 10:12:25 -070065
Tim Sneath05c3f7b2019-10-29 15:57:14 -070066### Fast results
Filip Hracek53e23532017-07-12 10:12:25 -070067
Michael Thomsen11def8e2023-12-21 13:03:09 +010068Flutter is fast. It's powered by hardware-accelerated 2D graphics
Dr. Artificial曾小健2f149da2024-09-21 05:40:20 +080069libraries like [Skia] (which underpins Chrome and Android) and
Michael Thomsen11def8e2023-12-21 13:03:09 +010070[Impeller]. We architected Flutter to
Tim Sneathd62635a2019-04-08 18:02:09 -070071support glitch-free, jank-free graphics at the native speed of your device.
Michael Thomsen11def8e2023-12-21 13:03:09 +010072
Tim Sneathd62635a2019-04-08 18:02:09 -070073Flutter code is powered by the world-class [Dart platform], which enables
Michael Thomsen11def8e2023-12-21 13:03:09 +010074compilation to 32-bit and 64-bit ARM machine code for iOS and Android,
75JavaScript and WebAssembly for the web, as well as Intel x64 and ARM
76for desktop devices.
Tim Sneath05c3f7b2019-10-29 15:57:14 -070077
Taha Tesser4967a942024-04-09 11:30:04 +030078<p align="center"><img src="https://github.com/flutter/website/blob/main/src/content/assets/images/docs/homepage/dart-diagram-small.png?raw=true" alt="Dart diagram"></p>
Filip Hracek53e23532017-07-12 10:12:25 -070079
Tim Sneathd62635a2019-04-08 18:02:09 -070080### Productive development
Filip Hracek53e23532017-07-12 10:12:25 -070081
Pierre-Louis81fd3862022-09-12 19:46:05 +020082Flutter offers [stateful hot reload][Hot reload], allowing you to make changes to your code
Tim Sneathd62635a2019-04-08 18:02:09 -070083and see the results instantly without restarting your app or losing its state.
Filip Hracek53e23532017-07-12 10:12:25 -070084
Tim Sneathd62635a2019-04-08 18:02:09 -070085[![Hot reload animation][]][Hot reload]
Filip Hracek53e23532017-07-12 10:12:25 -070086
Tim Sneathd62635a2019-04-08 18:02:09 -070087### Extensible and open model
Filip Hracek53e23532017-07-12 10:12:25 -070088
Tim Sneath32122482022-01-26 13:45:12 -080089Flutter works with any development tool (or none at all), and also includes
90editor plug-ins for both [Visual Studio Code] and [IntelliJ / Android Studio].
91Flutter provides [tens of thousands of packages][Flutter packages] to speed your
92development, regardless of your target platform. And accessing other native code
creativecreatorormaybenotc81eb052022-07-21 21:22:07 +000093is easy, with support for both FFI ([on Android][Android FFI], [on iOS][iOS FFI],
Pierre-Louis81fd3862022-09-12 19:46:05 +020094[on macOS][macOS FFI], and [on Windows][Windows FFI]) as well as
95[platform-specific APIs][platform channels].
Filip Hracek53e23532017-07-12 10:12:25 -070096
Yazeed Al-Khalafd41b1fb2020-07-23 04:23:47 +030097Flutter is a fully open-source project, and we welcome contributions.
Kalidas VijayBhakfcca6542021-08-04 00:25:03 +053098Information on how to get started can be found in our
Tim Sneathd62635a2019-04-08 18:02:09 -070099[contributor guide](CONTRIBUTING.md).
Filip Hracek53e23532017-07-12 10:12:25 -0700100
Tim Sneathd62635a2019-04-08 18:02:09 -0700101[flutter.dev]: https://flutter.dev
Kate Lovett62586dc2024-06-17 10:26:08 -0700102[Discord instructions]: ./docs/contributing/Chat.md
K9i - Kota Hayashi0b540a82023-09-15 13:39:30 +0900103[Discord badge]: https://img.shields.io/discord/608014603317936148?logo=discord
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
Pierre-Louis4a65a762024-04-17 15:16:33 +0200123[interop example]: https://github.com/flutter/flutter/tree/main/examples/platform_channel
Michael Thomsen11def8e2023-12-21 13:03:09 +0100124[Impeller]: https://docs.flutter.dev/perf/impeller