Summary of #FlutterInProduction

Flutter

Flutter

Flutter

The future of Flutter is bright. But that’s just one key takeaway from the recent keynote.

Dec 30, 2024

A few days ago, a special online Flutter event #FlutterInProduction took place. At the event, we saw a summary of the evolution and current state of Flutter, but also some interesting future plans for the framework.

At the very beginning, we learned some interesting statistics and numbers about Flutter. For example, did you know that Flutter has been around for 10 years? Originally, the project was called Sky. Flutter SDK provides 528 widgets, which surprised me personally. Currently, over 1 million developers use Flutter every month. 28% of new apps created in Flutter are released to the AppStore, which is a decent number. And there are groups from 64 countries in the Flutter Meetup Network with 92,000 participants.

Next, they talked about the history of Flutter, version 1.0, and iOS and Android support. Version 2.0 and web support. Version 3.0 and support for desktop platforms like Windows, Linux, macOS. And overall about the transition from the "growth era" (startups, medium projects) to the "production era" (large projects), where Flutter focuses on providing a reliable cross-platform development tool.

Next, the video focuses on the latest version of Flutter 3.27, which brings major improvementsto material design, accessibility, support for the latest platform features, as well as the Cupertino library.

Performance, lower crash rates, and overall stability across applications were also discussed. Also better results due to the custom Impeller rendering engine, which is now also the default renderer on Android. Impeller enables smoother animations and better rendering capabilities tailored directly to Flutter. Impeller can reduce maximum rendering time by up to 97% and reduce memory usage by up to 100 MB. And there are plans to extend Impeller support to macOS, Windows, and Linux.

If you want to use GPUs directly from Dart, the Flutter GPU has been improved in the latest version. Including 3D.

100% of the plugins managed by the Flutter team are compatible with WASM. And you can see it in use in DartPad, for example. In version 3.27, you can turn on the experimental flag and run DevTools as a full WASM web app, which is on average 27% faster. Did you know that you can already find over 50,000 packages on pub.dev?

"Flutter is a top choice for building production-ready apps for any screen at scale."

For example, live preview is on the roadmap, which will allow you to preview any widget directly in the IDE. Another interesting new feature that is being actively tested is direct native interop. This means that in the future we will be able to write Dart code directly that interacts with native APIs, whether in C, Swift, or Kotlin. All mapping should be automatic. This sounds like a very interesting solution, and we're very curious to see where the Dart team will be able to take it.

This was followed by a section on Dart and Flutter and possible improvements for the future.

The first one mentioned, which is now just an experiment, are decorators. These should serve as a simplification of the API, along the lines of SwiftUi or Compose. Decorators have caused quite a controversy on the net, mainly due to the mixing of top-down and bottom-up notations and thinking style. In response, Remi created proposal, which proposes an alternative way to reduce the number of lines and combat heavy nesting. For my part, proposal is certainly a very interesting solution and I would prefer it over decorators.

Enum shorthands is another of the featured enhancements. These focus on removing the obligation to write enum names in cases where the type is clear from the context. If this allows us to focus on more important things and the code to be free of unnecessary noise, all the better.

And as a final improvement, primary constructors were introduced. These are intended to simplify the syntax for creating and writing fields and constructors, especially when you have only one constructor. When added with macros in the future, this will allow us to create a data class with copy constructors, equality comparison, etc. quite elegantly.

Finally, some FAQs were answered. If you want to learn more about the FAQ, who uses Flutter in production, and more, be sure to watch the full video.

You might also like

You might also like

You might also like