Flutter. Spring Update 2020

Hello! My name is Evgeny Saturov, I am a Flutter developer of Surf and the founder of Flutter Dev Podcast .
Below is a translation of an article by Tim Sneath and Patrick Sosinski with my comments.

Half a million developers, 50 thousand applications, explosive growth and an updated release cycle.

The last months have been difficult for the Flutter team. Like many of you, our developers, product managers, UX specialists, technical writers, and developer relations managers have to rebuild their everyday lives. As an open source project, we continue our work using publicly available tools. Despite the unusual work environment and the need to take care of the dependent members of our families, we try to keep up with the planned plan. In addition, we learned a lot about our users.



Driving Force Flutter


As before, we are seeing a rapid increase in the use of Flutter. In the 16 months since launch, the number of developers using Flutter has exceeded 2 million. Despite unprecedented circumstances, we have noticed a 10% increase in the use of Flutter in March compared to previous months. Every month, Flutter uses half a million developers.

Other interesting statistics:




:

Windows, Surf Flutter- macOS. iOS-. , macOS . , Google Play, Xcode, , , Mac. , , . Remote Mac Codemagic. 20 Mac ( ).

UPD (via tokarev): macOS (SSH/VNC) Codemagic.

:

, , stable-. … . . , , dev- . Flutter Dev Podcast , dev . .

Flutter


More and more companies are choosing Flutter to develop branded products for multiple platforms. A recent example is Nubank , the largest digital bank outside of Asia with 20 million customers. After analyzing three technologies for cross-platform development , Nubank settled on Flutter. They managed to unite the team of front-end developers in one framework, which allowed Nubank to launch new functionality simultaneously on iOS and Android.
In this video , Nubank developers talk about the experience of using Flutter and its benefits.
-:

Flutter , ? Flutter Dev Podcast -: . Flutter- ( ), Grab, Uber - , Flutter ( ).
. Flutter- .

A frequent request from companies is the availability of enterprise components. We started working with SyncFusion , whose Essential Studio product now includes a number of professional components for Flutter , such as graphing, working with PDF and generating barcodes. With the release of version 2020.1, all the components out of the box support Android, iOS and even web, and the controls received a web preview .

Updated Release Cycle


In anticipation of the next planned release of the stable version, we want to share the changes in our release model. These changes will ensure the stability and regularity of our releases.

The release cycle that we use now was conceived as simple and not requiring frequent maintenance. This cycle served Flutter when we were a small team and were just starting to work on it. But at our current scale, we are faced with difficulties affecting all Flutter developers, namely:

  • lack of clarity regarding the timing of preparation of the release and the code that will go into release;
  • lack of branch testing, leading to regression errors of hotfix releases.

Starting with the April release of Flutter, we move on to the code branching model with a stabilization period for beta and stable versions. Now we will create code branches at the beginning of the month for the beta version and stabilize this version, collecting all critical corrections. About once a quarter, the current beta branch will move to a stable version, and if necessary, we will make corrections to it. Since our infrastructure now supports branch testing, we can validate the collected fixes and accept requests based on their importance.

We took this opportunity to combine the release cycles and Flutter and Dart channels. As a result, we added beta channel to Dartthat in the future will allow us to synchronize releases. Flutter beta releases will now include Dart beta releases.

If your Flutter application is already running on the stable channel, we recommend testing it on the beta channel and thus affect the quality of the stable release. You can also take part in fixing regression and blocking bugs in the stable channel "using the new Flutter Cherrypick process described in the Flutter Wiki.

We believe that these innovations will affect the regularity and quality of our releases and make it easier to fix the stable version.
:

TL;DR Flutter- ? . , . stable- . , , . Dart Flutter : .


As part of the new branching model, we made a few minor changes to versioning.

Full technical information is available on the Flutter release channel page on the Wiki. Here is a brief description of the changes:
Unstable release versions will receive the suffix .pre in the version line to indicate their pre-release status. In the xyz-nmpre format string, the value of n in the dev channel assemblies will increase each time a new assembly is created in the master channel:

  • 1.18.0–1.0.pre: the first dev build after build in the master channel gets the number 1.18
  • 1.18.0–2.0.pre: next dev build based on one of the latest builds in the master channel

Beta releases will be collected after the release on the dev channel, as described above. With each correction, the value of m increases. For example, if we take the 15th dev assembly from the master channel, released from beta at 1.18, the numbering will look like this:

  • 1.18.0–15.0.pre: initial beta release (the one that went to dev)
  • 1.18.0–15.1.pre: subsequent build in the (now) beta branch with fixes
  • 1.18.0–15.2.pre: second, later build

Versions of stable releases are issued as xy0. Subsequent fixes will increase the patch number (xy1, xy2, etc.):

  • 1.18.0–15.4.pre: last test build in the branch
  • 1.18.0: stable release, the same as version 1.18.0-15.4.pre
  • 1.18.1: potential patch version 1.18.0

:
. , . - , , v1.12.13+hotfix.9.

?


The next release in the stable channel will use the new versioning. We plan to release it next week along with a detailed description of all the new features.

In the meantime, we suggest that you familiarize yourself with our other news. Last week we announced that the CodePen platform now supports Flutter. We are pleased to announce that in a few days a lot of works written on Flutter appeared on the site. We have selected the most interesting for you:


Good news for those who want to learn how to develop on Flutter: we have launched a free 10-hour Flutter orientation course . It includes both tutorials and laboratory work to help you get started as a Flutter developer.

See you next week. We hope that you will be able to achieve your goals in this difficult time. Stay home and be healthy!

All Articles