Flutter has been growing a lot through the years and not only as an open-source cross-platform technology but also as a community. In January, Google hosted one of the biggest events of Flutter: Flutter Forward in Nairobi, Kenya and we had the opportunity to be there!
Flutter Forward was the annual event of Flutter, and it was meant to be in-person and also live-streamed. The in-person event was in Nairobi, Kenya, and was exclusively invite-only! Thanks to Google’s invitation, we had the chance to attend the event and hear all the announcements in person with flutter experts and friends of the community.
The event was divided into two days, one dedicated to the news and announcements of Flutter’s technology and the other one to the Flutter community. This last one was called “Community Day”, where all the community leaders were invited to give talks about different topics and share with flutter professionals.
Announcements Day 🗣️
All the news and announcements of the technology took place on the 25th of January at Radisson Blu, Nairobi. The hotel was full of Flutterists, exactly around 200 people attended in person, and the entire setup was mind-blowing. That day was completely filled with surprises about the latest releases and new features of Flutter.
The event had many booth setups outside the main hall, some of them were: Firebase, Material 3, Flutter, Community, and others. We had the chance to visit all of them, network, and exchange ideas with multiple Firebase and Flutter experts. Sharing recommendations with them enhances our work and leads us to continue to create efficient and scalable cross-platform digital solutions with Flutter.
During the event there were many important announcements about the updates and features coming this year on the platform, some of them were:
Dart 2.19 and Dart 3 alpha Release
In addition to announcing the version of Dart 2.19 with many improvements, Dart 3 alpha was also presented at Flutter Forward, this version will be released during 2023 but is not available yet.
Among the most notable improvements of Dart 3a, we had the opportunity to see how this update completes the path to full null safety. The Dart team also commented that there was great adoption by developers, for example, 98% of the top-1000 packages on pub.dev supported null safety. Also, some of the newest features in Dart, besides being 100% sound null safety, are Records & Patterns. With records, we can create anonymous values, this means we don't have to rely on creating classes to create a location pair with latitude and longitude. Patterns can also help us to destruct the data in a variable, here we can see an example in action:
Flutter 3.7 Released
A day before the event, the Flutter team announced Flutter 3.7. This version has a lot of improvements that consolidate even more Flutter 3, some of the most important:
- Enhanced Material 3 Support
The use of Material 3 is greatly improved since many widgets were migrated to support Material 3. In order to use them, you have to enable a “useMaterial3” flag.
- Menu Bars and Cascading Menus
Now we have the possibility to create this kind of menus, which are of special interest for web and desktop platforms.
- Impeller Preview
This is one of the most exciting announcements since the Flutter team is working on a new version of Flutter’s rendering engine that will meet or exceed the older one (Skia). There were also some interesting demos in the keynote, demonstrating the new power of Impeller and comparing the same app using each render engine. It looks really promising, and it can be tested with the flag --enable-impeller as a preview in iOS.
- iOS Release Validation
If you are releasing an iOS version of your Flutter app you might be interested in this. With this new feature, it is easier to run the flutter build ipa command and run a checklist of validations your app should have before submitting.
There were also announced improvements on DevTools, Custom context menus, and Scrolling. If you are interested in seeing this in-depth, you can check out this blog: https://medium.com/flutter/whats-new-in-flutter-3-7-38cbea71133c
- New Vertical Toolkit (Flutter News Toolkit)
The Flutter team together with Very Good Ventures released the first version of this open-source toolkit. The new toolkit seeks to accelerate the development of mobile applications oriented to news and content. It has many great features, not only for news and content, but also for other types of projects. Either for authentication, Google Ads, or Analytics, you can find the code here: https://github.com/flutter/news_toolkit
- Wonderous - Adaptive Layout (Showcase through wonderous.app)
A new version of Wonderous was announced, and they demonstrated how they tried to adapt the old version of the app to different device formats. This is a great example of how to support this kind of application.
What’s next for Flutter?
The future of Flutter is full of news that will change the app development process for most developers. Tim Sneath, Director of Product and UX for Flutter & Dart, presented a summarized roadmap to help us understand what’s next in Flutter.
The presentation of Flutter’s future was of great value to all of us. It allows us to know in advance and with transparency the next steps of Flutter technology. This also gives us the opportunity to prepare and think about our next projects with another mindset. We are really excited about what is coming for Flutter this year!
Among the most important things mentioned during Flutter Forward, we can highlight some of them:
- Web assembly support for web
Since we saw Tim presenting a demo where he shows how Flutter supports compiling for Web assembly, we can say this is a very promising announcement. Being one of the first garbage collector languages to support this new Web Assembly standard, Flutter will be really benefited in terms of performance on the web.
- Element embedding in web
When working with Flutter web, you can take control of the full screen or maybe put it on an iframe. Element embedding allows you to compile Flutter and put it into a div, so that it can integrate deeply with the web. This can unleash way more use cases for Flutter web and how we interoperate with web projects. We leave here a demo that shows how Flutter and native JavaScript can share state and communicate changes both ways: https://flutter-forward-demos.web.app/
- FFigen & JNIgen
This is probably by far one of the most exciting features for developers. Even though Flutter is cross-platform, there are some times when we need to access native API’s. This is often done by calling method channels, but those times might finish because Flutter team’s vision is to use FFigen and JNIgen to call those API’s directly from Dart. This can drastically change the way we develop, as we won’t have to context switch to another language.
- Pixel shaders
This kind of low-level function lets developers produce amazing graphics effects. Also, the Flutter team showed how this will be a possibility on the web as we now currently have it on mobile platforms. We saw some really awesome effects, and we are eager to try them out! You can see some amazing new demos by clicking here.
- 3d support
3d Support and pixel shaders take graphics performance to a whole new level. During the event, they showed us a really cool demo of the possibilities we might have by including 3d support in Flutter apps.
- Flutter for Web
There were many notable changes and improvements for Flutter web, such as the introduction of WebAssembly support on the Web, CanvasKit reductions, font size reductions, deferred loading, improved concurrency, 40% reduction in load time since 3.7, element embedding, and also pixel shaders will soon be supported as well.
Overall, there were multiple improvements for Flutter web, some of them were not covered in the announcements, but you can check them out in the official article of Flutter and Dart!
Community Day 💙
The community day was full of talks from Google experts and also from Kenya’s community leaders. This day highlighted the importance of community and how it can be of great help to personal and professional growth, even more for an open-source platform like Flutter. Some of the talks we attended and loved were: “What is GDE Program and how you can be one?”, “What are GDSC and GDG Communities?”, “What is the work done by Flutter Kenya?”, and “What is Flutteristas?”.
In addition to the talks from the Flutter community, we also heard people from Kenya talk about how they were helping African tribes to generate technology tools, a really awesome initiative for the African community.
As a whole, Flutter Forward was a different experience and definitely a blast! We met and re-encountered in person with incredible leaders and supporters of the Flutter Community, some of them whom we just knew online.
After the event, we also made different plans with friends of the community. We went to Nairobi National Park Safari, karting, and also explored the local Nairobi market to try some local dishes!
For us, Flutter Forward was not just an event, it was a chance to meet Flutter enthusiasts and connect with them in a professional and personal way. This trip will be certainly cherished for a lifetime!