Welcome to another edition of my Flutter newsletter!
The whole event was a truly inspiring experience and made me appreciate just how much momentum, talent, and creativity there is behind the entire Flutter ecosystem.
Since there is so much to cover, I decided to dedicate this entire newsletter to FlutterCon by highlighting some of my favourite talks, along with great developer tools, such as Globe, Shorebird, WidgetBook, Patrol, and more.
Ready? Let’s go! 👇
FlutterCon was BIG, with over 90 talks delivered in three days and many talks happening simultaneously over four separate tracks. 🔥
To capture all this information in one place, I’ve asked all the speakers to share all their slides so I could cover them in this newsletter.
Many of them replied, and I’ve collected all the links in this GitHub repo:
However, the magic behind many of the talks was in the storytelling. And while many little gems can be found in the slides, we’ll have to wait for the recordings to be published to appreciate the content fully.
As a result, I’ll share the best talks once the recordings are available (hopefully in the next newsletter).
And in this edition, I’ll only share links to the slides that I found easy to follow on their own.
There’s always some new to learn from Simon Lightfoot.
And in this talk, he shared many useful tips for improving your Flutter apps with regards to:
- app startup experience
- common layout problems and solutions
So check out these slides for all the details:
Records and patterns were the biggest features to be added to the Dart language since the introduction of Null Safety.
They make it possible to write Dart code that is very expressive and concise.
But learning the new syntax comes with a bit of a learning curve, and there are many subtle details to consider.
If you want to make the most of the new features, this slide deck by Pascal Welsh is a great resource:
In this very inspiring talk, Manuela Sakura Rommel reminded us that 1.3 billion people are significantly disabled and that by building accessible apps, we can make them feel more included in society.
And if we can make our apps usable by as many people as possible, everyone benefits.
And as far as Flutter & Accessibility goes, there are many things to consider:
- How to test and audit the accessibility of existing apps
- What kinds of disabilities exist
- How to improve our apps
- What processes and checklists can we use to ensure we meet all the criteria
For all the details, including real-world testing scenarios from affected users, check this comprehensive slide deck:
During FlutterCon, I’ve discovered many innovative tools and platforms that will help us design, develop, test, and deploy our Flutter apps faster. I believe some of these tools (and many others) will play a big role in the growth of the entire Flutter ecosystem and help many teams around the world.
So here’s an overview of my favourites. 👇
If you ask Flutter developers what they wish for Christmas, many of them would tell you: “I want to run Dart on the backend”. 🎅🏻
Indeed, using the same language on the frontend and backend has many benefits, including improved code reuse, more portable code, faster learning curve, etc.
And while there are already good solutions for writing server-side Dart apps (such as Dart Frog, Serverpod, Shelf, and many others), deploying them on platforms like Google Cloud Run requires a multi-step deployment process that is too complex for the average frontend developer.
To address this, the Invertase team has introduced Globe.dev, a platform that makes it easy to deploy, scale, and configure your Dart server apps.
Globe.dev is currently in private preview, but you can already learn about it in the docs:
And for a more high-level overview, check the slides from Mike Diarmid’s talk at FlutterCon:
Publishing a new app version to the stores is - well - not the most fun part of mobile app development. 😅
And while the deployment process can be fully automated with CI tools, slow app release cycles and rejections still cause many headaches.
Shorebird enables Flutter code push by running a custom Dart interpreter on iOS, which complies with the app store guidelines, and it was great to hear Eric talk about the vision and engineering challenges behind this product.
To learn more, you can check the official docs:
Note: The Shorebird team plan costs $20 / month for up to 4K patches, and $0.005 for each additional patch install. Effectively, this translates to $5 for 1000 patch installs - so consider this as part of your release strategy.
Widgetbook is a Flutter package that helps developers catalog their widgets, test them quickly on multiple devices and themes and share them easily with designers and clients.
The best way to see Widgetbook in action and appreciate its power is by visiting the demo page:
Widgetbook makes it easy to test your widgets on a wide range of devices, themes, locales, text scales, and more. In turn, this promotes faster collaboration and iteration between designers and developers. And with the introduction of Widgetbook Cloud, the UI review process can be further streamlined across the entire team.
The best way to get started is to visit the official docs:
Patrol is a new testing framework for Flutter.
It builds on top of Flutter's existing test tooling, allowing you to access native platform features (including permission dialogs, notifications, etc.) while extending the existing finder APIs, making them shorter and easier to understand.
It also works as a production-quality of Flutter’s built-in
integration_test plugin by fixing some of its shortcomings and enabling features such as full isolation between tests and sharding.
For more info, read the docs:
The slides from FlutterCon are also available here:
Modals are a very useful UX design pattern when you need to block the previous screen and require user interaction before continuing to use the app.
And while the Flutter SDK already offers an API for showing a modal bottom sheet, this is not suitable for complex scenarios where you need a multi-page modal sheet.
Complex modals also need to be responsive and work well with the on-screen keyboard and scrollable content.
To support all these advanced use cases, the WoltModalSheet package was created.
To learn more about the design and development process that led to the creation of this package, you can read this blog post:
Additionally, Cagatay Ulusoy presented this package at FlutterCon, and you can find the slides here:
While the FlutterCon recordings are not available yet, I hope you still found this newsletter helpful.
On a personal note, during my time at FlutterCon many people have genuinely thanked me for all the content I’ve been sharing over the years, and it was such an amazing feeling to hear their words and appreciation in person. 🙏
For that, I’m extremely thankful, and I’m so glad I’ve been able to choose this path and work as a full-time Flutter content creator. 💙
On a final note, I’ll be spending three weeks away with my family over the summer holidays, so you won’t hear much from me during this time. 🏝️
But once I return, I’ll be ready to rock and crack on with a lot of new Flutter content!
Until then, happy coding!