mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
![]() This updates the Flutter minimum macOS version from 10.14 to 10.15 adds a migrator for existing apps, and updates our own examples, tests, and benchmark apps to 10.15. A follow-up patch will drop macOS 10.15 `@available` checks in the embedder. This is required in order to use Swift in the embedder and not need to bundle the Swift runtime libs in every app that uses Flutter. Swift stable ABI was introduced in macOS 10.14.4. As of March 2025, usage of macOS 10.14 is approximately 1.2~1.8% depending on source of statistics, see example public usage data here: https://gs.statcounter.com/macos-version-market-share/desktop/worldwide This patch makes the following changes: 1. Updates mac_deployment_target from 12.0 to 13.0. 2. Changes templates to `MACOSX_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :osx` to 10.15. 3. Adds migrator for Podfile part to migrate `platform :osx, '10.14'` -> `platform :osx, '10.15'` 4. Compiles with `-mmacosx-version-min=10.15` 5. Runs the migrator on all example apps and integration tests. 6. Updates examples, tests to macOS 10.15 deployment target Issue: https://github.com/flutter/flutter/issues/167745 ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md |
||
---|---|---|
.. | ||
android | ||
ios | ||
lib | ||
linux | ||
macos | ||
raw | ||
rendering | ||
services | ||
test | ||
widgets | ||
windows | ||
.metadata | ||
analysis_options.yaml | ||
pubspec.yaml | ||
README.md |
Examples of Flutter's layered architecture
This directory contains several self-contained examples that illustrate Flutter's layered architecture.
-
raw/ These examples show how to program against the lowest layer of the system. They manually receive input packets and construct composited scenes.
-
rendering/ These examples use Flutter's render tree to structure your app using a retained tree of visual objects. These objects coordinate to determine their size and position on screen and to handle events.
-
widgets/ These examples use Flutter's widgets to build more elaborate apps using a reactive framework.
-
services/ These examples use services available in Flutter to interact with the host platform.
To run each example, specify the demo file on the flutter run
command line, for example:
flutter run raw/spinning_square.dart
flutter run rendering/spinning_square.dart
flutter run widgets/spinning_square.dart