You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
samples/experimental/null_safety
Brett Morgan 9b631a2184
Split CI testing based on flutter channels (#651)
4 years ago
..
null_safe_app Split CI testing based on flutter channels (#651) 4 years ago
null_unsafe_app Split CI testing based on flutter channels (#651) 4 years ago
README.md Update to Dart 2.12 (#591) 4 years ago

README.md

Null safety Flutter example

This folder contains a demonstration of the upcoming Dart feature, sound null safety. For additional information about this feature, see https://dart.dev/null-safety.

The folder contains two sample Flutter apps:

  • null_unsafe_app: This contains a small weather app, which has three null errors in its rendering code as a result of not using null safety.

    Try running the app (flutter run in a terminal, or the Run action in VSCode/Android Studio), and see if the UI works. The null errors are sporadic, so try hot reloading a bunch of times and experience the app sometimes working and sometimes failing.

  • null_safe_app: This contains the same weather app, but this time using null safety. There are two copies of the source code:

    lib/badapp.dart: This is the same source code as in the unsafe app. Try uncommenting the two commented lines of null-unsafe code, and notice how the Dart analyzer with null safety immediately flags the lines as unsafe.

    lib/goodapp.dart: This a safe version of the unsafe app, with the null errors fixed. Read through the comments to see illustrations of how to resolve null errors with null safety.

Running the example code

This sample is experimental, and requires using a beta channel Flutter SDK. You can change to the beta channel with flutter channel beta followed by flutter upgrade (don't forget to change back to flutter channel stable for production use.