B station

www.bilibili.com/video/BV1eK…

Google Developer official

Mp.weixin.qq.com/s/EzS3dtpZB…

7 Platforms -> Windows, MacOS, Linux, Web, Embedded, ios, Android

  • flutter.gskinner.com/
  • Github.com/gskinnerTea…

Web platform optimization, into the stable version

  • Three direction

    • Pwa: cache, push service, desktop shortcut, and message prompt
    • Spa: A one-page program similar to Vue Rect
    • Expanding Mobile: Rapidly migrating apps and reusing code
  • Irobot builds on the Flutter

Edu.irobot.com/the-latest/…

  • The technical architecture

2D 3D render WebGL Skia WebAssembly Canvas

  • Stable version

  • performance

    • HTML renderer: Uses a combination of HTML elements, CSS, Canvas elements, and SVG elements. This renderer has a smaller download size. Use a combination of HTML elements, CSS, Canvas elements, and SVG elements

    • CanvasKit renderer: This renderer is fully consistent with Flutter mobile and desktop, has faster performance with higher widget density, but adds about 2MB in download size.

  • Try water project

    • The editor rive. App /

    • Animation flutterplasma. Dev /

    • invoice www.invoiceninja.com/

Canonical support

Medium.com/flutter/ann…

canonical.com/

Canonical is a privately held company founded by South African entrepreneur Mark Shuttleworth to promote open source software projects. Canonical is registered on the Isle of Man and employs people around the world, with its main office in London and an office in Montreal. Canonical supports and creates several projects, mostly free and Open Source software (FOSS) or tools aimed at improving free software developers and contributors.

  • Why Canonical vigorously pushes flutter! The main points are as follows

    • The rapid growth of flutter application
    • Multi-platform support
    • The equipment is well optimized
    • Rich component library
    • Mature IDE environment Visual Studio Code, Android Studio, and IntelliJ
  • Simple and easy to install

snapcraft.io/flutter

$ snap install --classic flutter
$ snap install --classic code
$ code --install-extension dart-code.flutter
Copy the code
  • Fast template

$ flutter channel dev
$ flutter upgrade
$ flutter config --enable-linux-desktop

$ flutter create counter
$ cd counter
$ flutter run -d linux
Copy the code

Upgrading of existing projects

$ cd my_flutter_app
$ flutter create .
Copy the code
  • Code sample

    • Github.com/flutter/sam…

    • Github.com/flutter/gal…

  • Write a Flutter Desktop Application

Codelabs.developers.google.com/codelabs/fl…

Component library upgrade and ios support enhancement

  • New iOS features

    • CupertinoSearchTextField API. Flutter – IO. Cn/flutter/cup…

    • CupertinoFormSection, CupertinoFormRow and CupertinoTextFormFieldRowAPI. Flutter. Cn/flutter/cup… API. Flutter. Cn/flutter/cup… API. Flutter. Cn/flutter/cup…

    • Overall performance optimization github.com/flutter/flu…

  • New Widgets: Autocomplete and ScaffoldMessenger

    • AutocompleteCore Github.com/flutter/flu…

    • ScaffoldMessenger Github.com/flutter/flu…

Flutter for Surface Duo & Fold screen

  • Docs.microsoft.com/zh-cn/dual-…

  • Docs.microsoft.com/zh-cn/dual-…

Hybrid programming

Flutter. Cn/docs/develo…

In the past, the memory footprint of an additional Flutter instance was the same as that of the first Flutter instance. With Flutter 2, we reduced the static memory footprint for creating additional Flutter engines by about 99%, bringing the footprint per instance to about 180kB.

Dart Null Safety

Dart is a type-safe language, which means that when a developer gets a variable of a type, the compiler can guarantee that it is of that type, but type-safe itself cannot guarantee that the variable is not NULL.

Null errors are a very common problem. On GitHub you can find thousands of commits that have caused Dart code exceptions due to Null, and there are thousands of commits attempting to fix those problems.

  • dartpad.dev/
  • nullsafety.dartpad.dev/
void main() {
  ps(null);
}

void ps(List<String> files) {
  for (var file in files) {
    print(file.isEmpty()); }}Copy the code

Finally, as a personal bonus, null Safety can now be enabled by adding the following configuration to the root analysis_options.yaml. Dart SDK 2.9 is required for Flutter.

analyzer:
 enable-experiment:
 - non-nullable
Copy the code

flutter fix

  • statistical
dart fix --dry-run
Copy the code
  • application
dart fix --apply
Copy the code

Upgrade the Flutter DevTools development tool

  • Performance monitoring

Flutter. Dev/docs/perf/r…

.vscode/launch.json

{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0"."configurations": [{"name": "Flutter_learn_news - 1.0.15"."request": "launch"."type": "dart"
    },
    {
      "name": "profile"."request": "launch"."type": "dart"."flutterMode": "profile"}}]Copy the code

  • Invert Oversized Images

Another new feature of DevTools is the ability to easily find images that are displayed at a lower resolution than they really are, which helps track things like too many applications and too much memory. To enable this feature, enable Invert Win-win Images in the Flutter Inspector.

  • Elastic layout

Android Studio/IntelliJ extension

We have also added some new features for Flutter 2 to the IntelliJ series of IDE’s Flutter plugin. First, we added a project wizard to it that is consistent with the new wizard in IntelliJ.

Visual Studio Code extension

The Flutter extension for Visual Studio Code has also been optimized for Flutter 2. We first introduced some test enhancements, such as the ability to reruntest failed tests.

After two years of gradual development, LSP (Language Server Protocol) support for Dart has become the default way to integrate Dart profilers into Visual Studio Code in the Flutter extension. LSP support brings many improvements to Flutter development, including the ability to apply specific all fixes in the current Dart file and the ability to complete code to generate full function calls, including parentheses and required parameters.

LSP support is not limited to Dart; it also supports code completion in pubspec.yaml and analysis_options.yaml files.

Sentry upgraded support for Flutter

Docs. Sentry. IO/platforms/f…

Integrated collection of device side errors

upgraded firebase plugins for flutter

firebase.flutter.dev/

Flutter Community Plus Plugins

plus.fluttercommunity.dev/

google mobile ads for flutter

DartPad upgrade to support Flutter 2

dartpad.dev/

Configuration flutter 2

  • Download Dev Channel (macOS)

Flutter. Dev/docs/develo…

  • FVM switch

Github.com/leoafarias/…

Copy the SDK to /Users/{youname}/.fvm/versions

FVM list FVM use 2.1.0Copy the code
  • Enable the feature
flutter config --enable-macos-desktop
flutter config --enable-windows-desktop
flutter config --enable-linux-desktop
Copy the code
  • compile
flutter run -d windows
flutter run -d macos
flutter run -d linux
flutter run -d android
flutter run -d ios
flutter run -d web
Copy the code

reference

  • flutter.gskinner.com/
  • Github.com/gskinnerTea…
  • Mp.weixin.qq.com/s/EzS3dtpZB…
  • Docs. Sentry. IO/platforms/f…
  • snapcraft.io/flutter
  • plus.fluttercommunity.dev/
  • Medium.com/flutter/flu…
  • rive.app/
  • Medium.com/flutter/ann…
  • www.windowscentral.com/surface-duo