July 2024: Flutter CTO Report, FlutterCon Takeaways, Interviews from Google I/O, Rewriting Freezed with Macros

Welcome to the 25th edition of my Flutter monthly newsletter!

This month, I have a ton of interesting stuff to cover, including my takeaways from FlutterCon, insights from the recent Flutter CTO survey, some in-depth videos and articles, and much more!

So, grab your reading glasses and dive in. 🙂

Flutter CTO Report

Last month, nearly 300 Flutter CTOs, tech leads, and other tech executives completed an independent Flutter survey run by the LeanCode team.

The outcome is a 50-page report looking at the future of Flutter, why we need Flutter for Web, what are the frictions in the Flutter universe, and many other important topics. Additionally, the report includes links to some recent interviews with Craig Labenz, Kevin Moore, and Eric Seidel, discussing both the benefits and challenges of Flutter adoption by various teams around the world.

If you want to access the report and get many valuable insights, you can do so at this link:

FlutterCon EU

This month, I attended FlutterCon 24 in Berlin. The conference was packed with three days full of tech talks. Just like last year, I was very happy to meet with the broader community and make new friends. I even managed to deliver a talk as a speaker. 🙂

So, what are my takeaways from FlutterCon?

  • Growing enterprise adoption: despite what some social-media circles may have you believe, Flutter continues to gain momentum and is increasingly used at scale by big companies like LG, Tide, Ubuntu, and Talabat (which runs a food delivery app with 2M+ users).
  • Ecosystem growth: new products are being created specifically around Flutter, including ServerPod, WidgetBook, Codemagic, DCM, Shorebird, WireDash (to name a few) and this is a sign of a healthy and growing ecosystem.

During the conference, I’ve been absolutely delighted and inspired by many of the talks. These were my favourite sessions (in no particular order):

FlutterCon was a big event and the recordings are not out yet. For now, this unofficial GitHub repo contains the full list of talks and will be updated with the slides and videos as they become available.

What’s left to say? This year, FlutterCon is coming to the USA and will be held in NYC on the 19-20th of September. If you’re interested, you can find all the details and grab a ticket here:

Latest Flutter Videos

This month, I have some very interesting videos to share.

📹 Rewriting freezed with Macros | Observable Flutter #47

Macros may not be available yet, but this interview with Remi was a great introduction to the benefits they’ll bring, answering questions such as:

  • what problems macros solve and how they improve the developer experience
  • what’s the difference between build_runner, mason bricks, and macros
  • what are code augmentations and how to think about them
  • what security considerations are there when using macros

In the video, Remi also shows his work on replacing Freezed with the dataclass package, which uses macros under the hood:

📹 Eric Seidel: Code push for Flutter

In this talk from the Full Stack Flutter conference, Eric Seidel talks about code push and how to add it to your Flutter app using Shorebird.

Bottom line: if you need to deploy over-the-air bug fixes to your Flutter apps, Shorebird offers a much faster and more flexible solution than going through the usual app store release cycle. With Shorebird, you can easily deploy a patch that fixes a bug for all users instantly, in production.

Watch the video for all the details:

Flutter Videos from Google I/O

Back at Google I/O in May 2024, the LeanCode team recorded some exclusive interviews with prominent figures in the Flutter world. These interviews have now been published on YouTube and are very much worth a watch.

🎙️ Interview: Craig Labenz & Łukasz Kosman - The Future of Flutter

“Will Google kill Flutter” seems to be a recurring (and unfounded) rumor these days.

In this interview, Craig tackles it head-on and makes some other good points:

  • Flutter is not a cost-center: rather, it’s used extensively inside Google, reducing the headcount (and cost) of other teams who can now build apps with a single codebase.
  • Flutter’s competitive advantage: while other cross-platform solutions exist, Flutter still delivers state-of-the-art developer experience with stateful hot reload and keystroke-speed static analysis.
  • Flutter’s current challenges, which include adding Flutter to existing apps, Flutter’s unrealized potential on the web, and enticing enterprise developers.

For all the details, watch the full interview:

🎙️ Interview: Kevin Moore & Łukasz Kosman - Why do we need Flutter for Web?

In this interview, Kevin discusses the potential of the web platform, and what steps Flutter needs to take to win there.

Here are some takeaways:

  • Sharing via URL: sharing an experience via URL is profoundly useful, without the need to install separate apps.
  • Productivity apps: these days, most productivity apps are on the web. To win on the web, Flutter needs good performance, fidelity, security, and ease of deployment.
  • Websites vs webapps: the document-based web is all about indexability, loading fast, and accessibility, and Flutter can’t win there. But for highly interactive, non-linear, stateful user experiences, Flutter web apps are a strong contender.
  • Performance improvements: over the last few years, Flutter web has made great strides in improving performance. And thanks to WASM, another boost is possible, reaching comparable performance to natively-built Flutter apps.

Watch the full interview for more insights:

I completely agree with Kevin that Flutter web has immense potential and I share his enthusiasm. Realistically, I think it may still take a couple of years before we get wide support for WasmGC and robust performance on all browsers.

🎙️ Interview: Eric Seidel & Łukasz Kosman - What are the frictions in the Flutter Universe?

As one of Flutter’s founding engineers, Eric Seidel has unique insights into Flutter’s history.

In this interview, he discusses some of the friction points that may affect broader adoption, what the Flutter team can do about it, and where the broader community is best positioned to help.

He also talks about Shorebird (his latest company), and some of the most prominent use cases for Flutter code push, including emergency field medicine, fintech apps, and providing assurance for businesses that they can update any line of code inside their app with a fix, and deploy it instantly.

Here’s the full interview:

You can watch the remaining interviews on this playlist.

Articles

After sharing so many videos, let me balance things out with some articles. 🙂

📝 Flutter Adaptive Theming Guide

The FlutterCon talks may not be out yet, but that hasn’t stopped Mike Rydstrom (aka MaterialMike) from publishing an advanced Flutter theming guide on his site.

This guide shows how to create a custom Flutter Material theme that adapts to the platform it runs on, using a custom seed ColorScheme. Inside, you’ll learn about design tokens, adaptive design, color schemes, advanced custom component theming, and more:

📝 Project Miniclient — Introduction

Have you ever wondered what it looks like to work on an enterprise mobile application with more than 2.3 million lines of code in a team of 60+ mobile engineers?

To answer this question, Oleksandr Leushchenko has published a 4-part tutorial about the core principles, methodologies, and technologies used by the Tide engineering team.

As expected, a very modular approach was used, by splitting the codebase into utility, feature, and application layers, and introducing individual packages to deal with linting, dependency injection, networking, monitoring, design systems, and more.

To make the topic more approachable, the tutorial has been written as a codelab, showing how you can build a scalable project following the same principles:

📝 Building mobile apps as side projects for fun, learning, and profit

I’ve been a big fan of building side projects since the very early days of my career. While I only shipped a few of them, there were some upsides:

  • my technical skills improved considerably
  • I had something tangible to show at job interviews
  • I made a bit of money on the side

Overall, my sentiment is pretty much the same as this blog post, which shares some tips and practical advice for building and shipping a mobile app as a side project:

Latest from Code with Andrea

Since my last newsletter, I focused nearly all of my energies on my upcoming course.

If you missed the course announcement last week, you can find all the details here:

Other than that, I’ve been sharing the usual Flutter tips on social media and my site.

And, having underestimated how much work it is to prepare a conference talk 😅, I spent a bunch of time creating my FlutterCon slides, which you can find here:

Until next time

As I mentioned at the beginning, this is my 25th Flutter newsletter.

By now, I’ve made it into a habit to sit down, learn about the latest Flutter developments, and share them with you every month. If you’re getting value from these summaries, please consider inviting your friends and colleagues to also join my newsletter.

Thanks for reading, and happy coding!

Want More?

Invest in yourself with my high-quality Flutter courses.

Flutter Foundations Course

Flutter Foundations Course

Learn about State Management, App Architecture, Navigation, Testing, and much more by building a Flutter eCommerce app on iOS, Android, and web.

Flutter & Firebase Masterclass

Flutter & Firebase Masterclass

Learn about Firebase Auth, Cloud Firestore, Cloud Functions, Stripe payments, and much more by building a full-stack eCommerce app with Flutter & Firebase.

The Complete Dart Developer Guide

The Complete Dart Developer Guide

Learn Dart Programming in depth. Includes: basic to advanced topics, exercises, and projects. Fully updated to Dart 2.15.

Flutter Animations Masterclass

Flutter Animations Masterclass

Master Flutter animations and build a completely custom habit tracking application.