flutter/examples/layers
Bartek Pacia ec82f0d895
Flutter Gradle Plugin: add versionName and versionCode to FlutterExtension (#146044)
This PR is a follow-up of a previous PR of mine:
https://github.com/flutter/flutter/pull/141417. It was unfinished, i.e.
I only implemented it and used it in `examples/hello_world`. No "flutter
create" templates were modified.

This change is theoretically breaking, but in practice, I am pretty sure
nobody uses this. It was not accounced anywhere, the only app using it
is `examples/hello_world`. I did not do that (that=update docs and
templates) because I wanted a solution that is idiomatic in both Gradle
and Kotlin, and only now I found time to do this.

### Without this change

```groovy
defaultConfig {
    applicationId = "io.flutter.examples.hello_world"
    minSdk = flutter.minSdkVersion
    targetSdk = flutter.targetSdkVersion
    versionCode = flutter.versionCode()
    versionName = flutter.versionName()
}
```

### With this change

```groovy
defaultConfig {
    applicationId = "io.flutter.examples.hello_world"
    minSdk = flutter.minSdkVersion
    targetSdk = flutter.targetSdkVersion
    versionCode = flutter.versionCode
    versionName = flutter.versionName
}
```

Idiomatic getter - yay! It's consistent between assignment of all four
props.

### Issue

fixes https://github.com/flutter/flutter/issues/146067

## 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.

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
2024-04-01 18:09:13 +02:00
..
android Flutter Gradle Plugin: add versionName and versionCode to FlutterExtension (#146044) 2024-04-01 18:09:13 +02:00
ios Migrate Xcode projects last version checks to Xcode 15.1 (#140256) 2024-01-03 23:05:46 +00:00
lib
linux Add Windows and Linux support to the 'layers' example (#126105) 2023-05-06 00:45:19 +00:00
macos Migrate Xcode projects last version checks to Xcode 15.1 (#140256) 2024-01-03 23:05:46 +00:00
raw Fix typo in canvas example (#129879) 2023-07-05 23:20:54 +00:00
rendering Remove 'must be non-null' and 'must not be null' comments from non-framework libraries (#134994) 2023-09-19 17:26:07 +00:00
services Implement switch expressions in examples/ and animation/ (#139882) 2023-12-11 22:56:04 +00:00
test Remove uses of deprecated test_api imports (#124732) 2023-04-20 20:55:28 +00:00
widgets Stand-alone widget tree with multiple render trees to enable multi-view rendering (#125003) 2023-07-17 16:14:08 +00:00
windows [Windows] Fix signed/unsigned int comparison (#142341) 2024-02-07 00:09:57 +00:00
.metadata Add Windows and Linux support to the 'layers' example (#126105) 2023-05-06 00:45:19 +00:00
analysis_options.yaml Add Windows and Linux support to the 'layers' example (#126105) 2023-05-06 00:45:19 +00:00
pubspec.yaml Upgrade leak_tracker. (#145997) 2024-03-29 12:31:52 -07:00
README.md ✒ Spell Check All .md Files Related to Flutter 💙 (#61564) 2020-07-22 18:23:47 -07:00

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