This week is great for Flutter!

During Google Developers Day, In the Chinese developer conference, Google announced the latest stable version based on keynote: Flutter 1.9. This release is their biggest update so far, with more than 1500 PR from more than 100 contributors. New features and updates cover a wide spectrum, from macOS Catalina and iOS 13 support to sophisticated tool support and new Dart language features and new gadget materials.

At the heart of the message, they also announce the spotlight for web Flutter support: The successful integration of web Flutter support into the main Flutter repository allows developers to write to mobile, desktop and Web devices using the same code base. In addition, they have introduced Tencent, one of the largest global brands in the world, which uses Flutter in a growing number of mobile applications.

Let's take a closer look at this week's news and start with the new features in Flutter 1.9

Supports Mac Catalina and iOS 13

When Apple prepares to release Catalina, the latest version of macOS, google developers have worked hard to ensure Flutter is ready for you. They have updated hands-on experience with end-to-end tools to ensure their work well on Catalina and with Xcode 11. This includes support for new Xcode build systems, 64-bit support for the entire toolchain, and simplifications for platform dependencies.

On iOS 13, GD also makes sure your Flutter application looks good on the latest iPhone version. Flutter 1.9 includes the iOS 13 Dragging Toolbar, which you can drag to the right while holding down the mouse button. Dark iOS mode is also in progress. A number of download requirements have been combined.

Finally, you can now include experimental support for bitcodes in the latest development work, which is an intermediary representation of Apple from an independent compiler platform. If you send your application as a bitcode, Apple might in the future optimize your binary files without reposting and will open the door to Flutter, which might support platforms like watchOS and tvOS, which require bitcode to send the application.

New Material Widgets

Material components and functions are also updated in Flutter 1.9. This material is one of the leading open-source design systems in the world and provides comprehensive and flexible building blocks for the application of interactive user experiences on various platforms.

In this issue, they also offer several new widgets, including Toggle Buttons (left) and Color Filtered (right).

The ToggleButtons widget combines a set of ToggleButton widgets, often consisting of a set of icons and text widgets, to form a series of buttons with a very attractive appearance. Do you want a single choice or multiple choices? Do you want to ask for at least one choice or not allow it? Do you want a square or round edges, thick or thin frames, symbols or text, etc.? You can see some of these options in the upper left and see how they work in the ToggleButtons sample.

Language support throughout the world

We also added support for 24 new languages, from Africa to Zulu.

Dart Edition 2.5

End to end experience depends not only on the Flutter property but also on the underlying language. Flutter 1.9 also brought Dart 2.5 to the market. Dart 2.5 includes an introductory version of Foreign Functional Interface Support (FFI) which provides native extensions so that Dart can directly access code written in C. You can learn both and more about it in the Dart 2.5 release.

Improvements in the Tool Chain

With this release, a new default project is created for Swift instead of Objective-C and Kotlin, not Java for iOS and Android projects. Because many packages are written using Swift, manually adding these packages to applications created with default options is no longer needed. Swift 5 is stable at ABI, and thanks to Apple's newest thinning application for apps, the Swift dynamic library no longer needs to be included in the distribution packages for iOS 12.2 or newer, which reduces app size. Fast compared to previous versions.

And because Kotlin is now the default language for new projects in Android Studio, it also makes sense to make language transitions for Android. This option is now the default setting for the CLI Flicker Tool and IntelliJ / Android Studio and the VS Flutter plug-in code. However, you can always return to Objective-C or Java if you want.

In addition, they work to improve flutter error messages by making them easier to read, shorter, and more effective. Google developers have just started implementing these new models, and you can assume that in future versions more error messages will use this work.

Web Flutter

Finally, they are thrilled to announce that the flutter_web repository has been terminated after web support is integrated into the main fullerene repository! This means that if you have the latest flutter compilation from the master or dev channel, you can resolve the network with the latest experimental flutter experiments by running Flutter run -d chrome.

When creating a project, Flutter now creates a web runner via a minimal web / index.html file that contains your compiled web flutter code. With this file, you can use the CLI Flutter tool or IDE add-ons locally to edit and launch flutter applications on the Web.

Pay attention to the web / index.html file and drop-down list where you can choose Chrome as the target development tool. Support for vibrating web production is still in its infancy. However, this release is an important step towards production support for the development of Flutter Web.

At the end of July, developers announced an initial approval program to send a series of Flutter applications for production over the next six to twelve months. They have received more than 1000 applications in this program. Unfortunately, they could not support all who have registered for this program, but now web support has been integrated into the Flutter framework. They are happy that everyone has been able to try this possibility.

Flutter Widget Livebook

Flutter Widget Livebook (left) is created with Flutter for Web and displays Flutter Widgets directly in your browser. Panache (right) is a tool for creating flutter designs that you can download and paste directly into your code.

Try this updated Experimental Flutter Support on the Internet and let us share your comments if you have a review.