Google Flutter project engineers, product managers, UX researchers, technical writers and development relationship engineers have put a lot of sweat and effort into this project over the past few months. They continued to develop the 2020 Flutter Spring update using a variety of publicly available tools, subject to various constraints. Now, this season’s update is ready to go.
Status and data of Flutter
The use of Flutter is still growing rapidly. In the 16 months since its initial release, more than 2 million developers have used Flutter. Despite an unprecedented year for the industry in 2020, Flutter still saw 10% sequential growth in March and has nearly 500,000 active developers per month.
Some other interesting statistics:
- 60% of Flutter developers use Windows, 27% use macOS, and 13% use Linux.
- Thirty-five percent of developers work for startups, 26 percent for corporations, 19 percent are self-employed, and 7 percent of users work for design agencies.
- 78% of Flutter developers use the stable channel, 11% use Beta, and 11% use Dev or Master.
- The top five countries for Flutter usage are India, China, the United States, the European Union and Brazil.
- About 50,000 Flutter apps have been launched in the Google Play store, 10,000 of which were uploaded last month alone.
- The most popular frameworks for Flutter applications include HTTP, shared_preferences, INTl, Meta, Path_Provider, and Pedantic.
- The most popular third-party packages for Flutter applications are provider, rxdart, cached_network_image, SQflite, font_awesome_FLUTTER and Flutter_launcher_icons.
Performance of Flutter in enterprises
Flutter is growing particularly fast among corporate customers. The key reason why many large companies choose Flutter is its ability to support multiple platforms while providing a high level of product experience. A recent example is Nubank, the largest digital bank outside Asia, with more than 20 million customers. Nubank chose Flutter after a detailed investigation and analysis of their application development options; Their front-end development teams were then unified on a single framework, allowing them to release new software features on both iOS and Android.
Here’s their development story in a video that illustrates some of the benefits they’ve seen with Flutter:
A common requirement for an enterprise is a specialized component. Google has partnered with SyncFusion, whose Essential Studio product now includes a range of high-quality Flutter components, including charts, PDF manipulation, and barcode generation. In their 2020.1 release, all components are directly supported on Android, iOS and the Web, and have a preview of web-based controls:
https://flutter.syncfusion.com/#/
Update version release process
When Google developed the new Stable version of Flutter, they made some changes to the original release model to further improve the stability and predictability of releases.
Google’s original release process was designed for simplicity and low maintenance. But as the development team grew, Google encountered a number of issues that affected Flutter contributors and developers, including:
- It is not clear when and what version will be released and what code will be included;
- Lack of branch testing results in repeated release of fixes.
Starting with the April release of Flutter, Google will move to a branching model with beta and stable releases at regular intervals. Google will now release beta versions at the beginning of each month, then cherrypick important patches to stabilize the release. About once a quarter, the current beta branch is upgraded to the stable version. If necessary, Google will continue to fix this version. Google’s infrastructure now supports testing against branches so that select patches can be validated and certain requests accepted depending on the severity level.
Google also took the opportunity to adjust the release process and channels for Flutter and Dart. Dart adds a beta channel, and later their releases will be synchronized (for example, the Flutter Beta version will contain a Dart beta version).
If users have already released Flutter applications based on stable channels, Google recommends that users test their applications in beta candidate versions and report any problems they encounter to help improve the quality of the stable version. You can also upgrade regression or prevent bugs on stable channels by following the guidance of the new Flutter Selection process on the Flutter Wiki:
https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process
This new process will bring better quality and predictability to Flutter releases and provide an easier way to release stable patches to stable channels.
Version control changes
As part of this branching model, Google has also made some minor changes to the way versioning is controlled.
Full technical details are available on the Flutter Build Release Channel Wiki page:
https://github.com/flutter/flutter/wiki/Flutter-build-release-channels
The summary is as follows:
Unstable distributions are annotated with.pre in the version string to indicate their pre-release status. Given a x.y.z-N.m. perl version string, the dev channel build will increment n each time a new build is generated from master.
- 1.18.0 — 1.0. Pre: Master version moved to the first dev build since 1.18
- 1.18.0 — 2.0. Pre: The next dev build from master’s latest release point
As mentioned above, Google will build beta versions from the Dev release point. When a patch is selected on a distribution, the M version number increases. For example, if master’s 15th dev build is version 1.18 of beta, versioning would look like this:
- 1.18.0 — 15.0. Pre: Initial Beta candidate (same as dev release)
- 1.18.0 — 15.1. Pre: Subsequent build on the (now) beta branch with some select patches
- 1.18.0 — 15.2. Pre: Second follow-up build
The version number of the stable version will be X.Y. 0. If necessary, subsequent patch releases will add patch numbers: X.Y. 1, X.Y. 2, and so on.
- 1.18.0 — 15.4. Pre: Latest beta build on branch
- 1.18.0: Stable version, same as 1.18.0-15.4-Pre
- 1.18.1: Potential 1.18.0 patch
Next Progress Plan
The first release of Google using this new version control model will be the next stable version of Flutter, which is scheduled for release this week. A full summary of all the new features will be available shortly.
Also check out some of Google’s other announcements over the past few weeks. Last week, Google announced CodePen’s support for Flutter:
https://medium.com/flutter/announcing-codepen-support-for-flutter-bb346406fe50
Over the past few days many creators have created various brushes. Here are some examples:
Twitter clone:
Generative abstract art:
Available animation:
Rotating carousel:
Nougat animation:
Double pendulum:
If you are looking for resources to learn about Flutter, I have compiled some information about Flutter below.
Need the private message Flutter I share with you. This information can help beginners to start their journey of Flutter, as well as those who already know about Flutter. I hope it can help you.
Click directly to collect
Android learning PDF+ architecture video + interview document + source notes
If you need anything else, you can also check it out on GitHub. The following information will be uploaded to GitHub as well