Today I bring you huge news, Google has officially announced Flutter 3 in their Google IO event that they are celebrating right now.
Flutter 3 includes stable support for macOS and Linux. Performance improvements for Flutter web and improvements in the tooling that we use to develop apps. They have also announced a new version of Dart with substantial improvements, full and official Firebase support for Flutter, and also, and this really caught me by surprise, they have announced the creation of the Flutter Casual Game toolkit, a set of resources to get started in game development with Flutter.
The team behind Flutter already announced stable support for Windows a few months ago, and with the announcement of the inclusion of official support for macOS and Linux we can already say that Flutter is a fully cross-platform tool that allows you to compile the same codebase in 6 different platforms: android, ios, web, Windows, macOS and Linux.
You can now create beautiful macOS applications, in which you can use the macos_ui package to use macOS-specific widgets. You can also sign your apps the same way you might sign a native app to prevent users from receiving a warning about an unknown developer.
This new release also brings full support for Apple Silicon, the new range of powerful, efficient and quiet M1 chips created by Apple. This support is not only for the development tools, it is also for the execution of the binaries compiled with Flutter, in such a way that it is no longer necessary to depend on the Rosseta translation.
In addition to the official support for macOS, and thanks to the collaboration that Google has had with Canonical, the company behind the famous Ubuntu distribution, Flutter 3 also offers full support for developing applications on Linux.
There are already multiple packages to start working with this wonderful platform that provide UI resources, access to system services and more.
Regarding the web, Flutter 3 brings several improvements that include the possibility of pre-loading your Flutter app, for instance while showing a loading; and the use of the latest web standards about image decoding, which will increase the efficiency when managing images on a browser.
Regarding development tools, Flutter 3 includes improvements related to better debugging and profiling of Flutter applications. A new tab has been added that shows more performance information, and the possibility to disable some layers that will help you solve problems faster.
But in this Google IO they have not only announced Flutter 3, they have also announced the new version of Dart that comes with it, Dart 2.17. In this new version we will find some very interesting improvements, such as better support for enums, which can now have values, variables, methods... almost as if they were classes. They've also removed the requirement to put named arguments at the end of everything, so now you can order the arguments of your constructors and functions in whatever order feels most natural to you, regardless of whether they're named or not. In addition, the super constructor has been included, which will make the code much less verbose and easier and faster to read. You can find a link to the full list of improvements in the description of this video.
They have also announced full Firebase support for apps made with Flutter. This is not something new, Firebase could already been integrated with Flutter for quite some time, rather what they have done is make it official. Now when you create an application in Firebase you will get the option to add a Flutter application, the documentation will be updated so that you can use the new integration tool, instead of doing the setup on Android and iOS separately. They have also announced a very interesting thing, which is full support for Crashlytics, and this is something that I am really interested in, since many times I have a hard time finding some problems in my apps that Crashlytics reports to me due to the lack of information about the error. I haven't tested this new feature but I'm looking forward to seeing if they have really been able to fix it and all the required information is already available in each bug tab.
To finish, and I can guarantee you that I was not expecting this at all, has been announced the creation of the Flutter Casual Game toolkit; a set of resources that includes a sample game, learning materials, community spaces, and even credits for Google developer services. This announcement, together with the fact that in the last big announcement they made they also took the opportunity to announce the release 1.0 of the Flame Engine, makes me think that the Flutter team also finds it very interesting to use Flutter to develop video games, which makes Flutter even more versatile.
Honestly, I'm amazed at how fast Flutter is evolving, and I'm already looking forward to trying all these new things they've announced.
Thank you for reading this far, have a great rest of your day.