Michele Volpato

Michele Volpato

All issues

#138: Flutter for Games

If you ask developers which platform they would use to build a game, not many of them would say Flutter. In fact, I do not remember ever reading about a game made in Flutter in GitHub’s Game Bytes newsletter. This year the Flutter team seems to want to increase the number of games made with Flutter. They debuted at GDC.

#136: Privacy manifests for third-party SDKs

Last year, Apple announced the introduction of privacy manifests, and recently published a non-comprehensive list of third-party SDKs that need an explicit privacy manifest and a signature. Among them there are some Flutter packages. Flutter also needs an update. The framework itself needs to be signed, but it is still unclear how it will handle the privacy manifests for third-party packages. Your app might also need a privacy manifest and it might be rejected from the App Store if you do not comply with these new requirements. Follow the Flutter GitHub issue for updates.

#135: Flutter conferences in Europe

In the last couple of days, Flutter Heroes took place in Turin, Italy. You can watch the talks from last year on the Flutter Heroes YouTube channel. Seeing how long it took to publish the videos, I do not expect the new ones to be available soon. If you missed it, but you would like to attend a Flutter event, you can check the Flutter Global Summit website. The conference will take place online in a few days.

#134: New Flutter and Dart versions

After a couple of weeks of holidays, the newsletter is back. I hope you had a good time and that you are ready to catch up with the latest news in the Flutter world. There are many links in this issue, and we start with the new version of Flutter and Dart.

#133: Apple Vision Pro in Flutter?

The Apple Vision Pro launch is around the corner, but some of the most used iOS apps, Netflix, YouTube and Spotify, are not going to be part of it. On in the hand, if your app runs on iPadOS, you can enable “Apple Vision Pro (designed for iPad)” and run it as-us on visionOS. Flutter is not ready (yet? ever?) for targeting visionOS. We’ll need to see if the adoption of visionOS is high enough to justify the effort, given that tvOS and watchOS are not officially supported either.

#132: A new Flutter challenge

The Flutter team and Global Citizen’s Morgan unveil their partnership. The Global Citizen app is built with Flutter, and it has brought about improvements for over a billion people. The result of the partnership is the Global Gamers Challenge, a competition to create sustainable games using Flutter for environmental awareness.

#131: Flutter mad science

The videos from the Flutter Firebase Festival in Prague are online. I still have to watch them all but I started with Filip’s talk “Flutter Mad Science”, and I was not disappointed. He shows examples of ridiculous things that you can do with Flutter and how they could lead to interesting applications.

#130: Useful code-generating packages for Flutter

Code generation is a powerful tool that can help you develop faster and avoid trivial mistakes. It can also be a double-edged sword. It can be hard to understand what’s going on when you have to debug generated code. It can also be hard to maintain the generated code if you need to change it. Anna Leushchenko, a Flutter and Dart GDE, has a list of code-generating packages that she uses daily. She explains how she uses them and why they are useful.

#128: Advent of code 2023

I am a bit late with this link, the advent of code is a yearly event where you solve a puzzle every day from December 1st to December 25th. It’s a great way to learn a new language or to practice your skills. You can solve the puzzles in any language you want. I think it’s a great opportunity to learn Dart.

#127: Very Good Articles

Very Good Ventures is a Flutter consultancy company. They collaborate with Google on projects showcasing the capabilities of Flutter. They also maintain popular open source packages like very_good_cli and Flame.

#126: Flutter 3.16 and Dart 3.2

This week the Flutter team announced the release of Flutter 3.16, with a preview of the Android Impeller, updates to the Game Toolkit, iOS app extensions, and more. The new release also adds support for DevTools extensions, which will allow third-party developers to add their own tabs to the DevTools UI.

#124: About Flutter and team culture

I already talked about Fluttercon 23 and David DeRemer’s keynote focused on culture. David published an article on the same subject, Flutter Can Transform Engineering Team Culture, I suggest you read it if you did not watch the keynote. It’s about the opportunity we get, as Flutter developers, to contribute to the team’s culture.

#123: Better codebase maintanability with flutter_lints

A new version of flutter_lints was recently published. Lints help keep your code base consistent. They can also be used to avoid potential future bugs. Many new rules have been added in this version and some have been removed, bringing the minimum Flutter version to 3.10. See the full changelog.

#122: Why is this game made with Flutter?

We know Filip is working on GIANT ROBOT GAME, a game made in Flutter. In Why is this game made with Flutter? Filip explains that Flutter’s ability to render thousands of triangles at 60 frames per second is crucial for creating smooth user interfaces in the game. Although other game engines may be more successful or faster for certain scenarios, Flutter was the better choice for this game, which primarily focuses on menus and simple 3D objects with a heavy reliance on UI work.

#119: Design your Flutter app local-first

Local-First, similarly to offline-first, refers to a way of building apps where data is manipulated first in the client and then synchronized with a server. In Some notes on Local-First Development by Kyle Mathews, you’ll find a review of how the space is shaping.

#118: New Flutter conferences are announced

November seems to be a busy month for Flutter conferences. Among the newly announced ones. Flutter Bytes in Lagos, Flutter Kaigi in Japan, and the online Flutteristas conference. The Flutteristas is a world-wide community of people active in the Flutter ecosystem. I attended some of the their members’ talks at Fluttercon, and many of those made into my favorite ones.

#117: We're better than this

Bjarne Stroustrup is the computer scientist who invented C++. He has some (life) advice for developers. From the interview, So you can’t just do code. You have to do something about culture and how to express ideas. I mean, I never regretted the time I spent on history and on math. Math sharpens your mind, history gives you some idea of your limitations and what’s going on in the world. And so don’t be too sure. Take time to have a balanced life.

#116: Transition from one shape to another shape in Flutter

I linked articles about animations with Flutter in previous issues of this newsletter. When and how to create Custom Implicit Animation Widget? is a bit different. It shows how the author, Adebisi Adetoba, went through different iterations of the solutions to the problem smoothly transition between different gepmetric shapes. The article has also code snippets you can run directly, added using Zapp!

#115: F3 and giant robots

I reported some Flutter-related conferences in the past, but I think I never mentioned Flutter Firebase Festival in Prague. It’s organized by Invertase, a well-known company in the Flutter community. One of the speakers is former Flutter team member Filip Hráček with a curious topic, “Flutter Mad Science”.

#114: Flutter conferences and updates

Last week, I linked “🫴🦋 Is this an emoji?” as a general programming article. A newsletter reader pointed out that there is a package on pub.dev, characters, that helps dealing with “strings viewed as sequences of user-perceived characters”. Google published a blog post on this package and the subject in general. There are also some news about Flutter conferences FlutterCon videos and Flutter & Friends talks are out. There is some overlap between the two conferences, but there are some talks I am looking forward to, like “Flutter on the Server Why & How it is Interesting”, “The 6-Step Flex Layout Algorithm, for Humans”, and “Building Voice-Enabled Flutter Apps A Comprehensive Guide”.

#113: Migrate a native production app to Flutter in a year

Tide is a financial services platform with a strong presence in the UK market and very ambitious global growth plans. In a recent talk, Giorgos Ampavis and Anna Leushchenko discussed Tide’s decision to switch to Flutter and their journey of transitioning from native development. In the talk, they highlight the challenges they faced in expanding to new markets and the need for a flexible and cost-effective solution. Learn about their decision-making process, the creation of an internal Flutter Academy, their approach to scalability and maintainability, and the importance of automation and quality assurance in the development process, as well as their release strategy. They believe that the transition to Flutter has been instrumental in accelerating Tide’s mission and paving the way for new opportunities.

#112: Fluttercon 23 Resources

Videos of the talks at Fluttercon 23 are not available yet, but Andrea Bizzotto managed to collect many of the slides from the speakers. Have a look at them while waiting for the videos to be published.

#111: Add widgets to your phone home screen in Flutter

One of the areas that Flutter does not cover compared to native iOS and Android development is the possibility to add home screen widgets. On iOS and on Android, you can add app-specific widgets to your phone home screen but this cannot be done with just Flutter. So it is nice to see that the Flutter team takes these framework limitations into consideration and created a codelab to help developers do that.

#110: More notes about Fluttercon

Last week, I gave you my list of favorite talks from Fluttercon in Berlin. This week, I give you a link to Dominik Roszkowski’s notes from Fluttercon 2023. At the end of the notes, you can also find the slides to his talk - From Network Failures to Offline Success A Journey of Visible App.

#109: Attending Fluttercon 23

I have been to Fluttercon 23 this week. I met a lot of people and listened to many talks. I decided to dedicate this issue to my favorite ones, among those I attended. Videos and slides are not available yet, except for a couple of them, but I will update the newsletter website with the links when they will be.

#108: Quarterly Flutter survey

The results of the Q1 survey are out. I am surprised to see that both sides of the job interview table are having problems. Hiring managers with finding qualified candidates, and job seekers with getting their skills to the level required by hiring companies. In my experience, job seekers who do not have much experience working in established Flutter teams should concentrate on growing as software engineers. If you are a good software engineer who knows a bit of Flutter, you have a higher chance to find a job in the field, compared to a Flutter developer with no knowledge of software architecture and design.

#107: Flutter events and conferences

Only a few links this week, most Flutter developers must be getting ready for the upcoming conferences like Flutter Croatia and Fluttercon in Berlin. There have also been Google I/O extended events recenlty and more are coming up, check if there is any near you.

#105: Google Summer of Code 2023

The Google Summer of Code program aims to get new developers started with open-source software development. This year, there are two Dart organization projects. Not all the ideas from the Dart team were selected for a project, maybe you can pick one of the remaining ideas as a personal project.

#104: Tim Sneath is leaving Google

Tim Sneath is leaving Google. He joined the Flutter team in late 2017 and, since version 1.0, Tim has successfully led it. He has been crucial to the success of the framework. Google is known to kill projects, even fairly used ones. At Google, it seems that starting a project is more beneficial for your career compared to maintaining and improving existing ones. So when I see people leaving the team, I do get a bit worried. Let’s hope that, like Android and Youtube, Flutter is considered too big to fail.

#103: Wireless debugging with hot reload on iOS

I never tried it before. Apparently, Flutter 3.10 enabled wireless debugging with hot reload on iOS. I do not see my life getting any easier with it, but it does look cool to have one fewer cable on your work desk. Learn more about it in Flutter iOS Wireless Debugging Is Awesome by Robert Brunhage.

#102: Upcoming Flutter conferences in Europe

Droidcon Berlin is an upcoming three-day conference about Android development. This year Fluttercon, the largest(?) Flutter conference in Europe, will be co-located with it, for a total of hundreds of talks, 10 tracks, and thousands of attendees. The agenda is not available yet, but you can already check the list of speakers with the title of their talk. Are you unable to attend the conference? Check Flutter & Friends in Sweden next September.

#100: A new podcast dedicated to Flutter

Welcome to issue number 100. Thank you everybody for sticking around. If you also like to listen to people discussing Flutter, Beyond Flutter is a new podcast by Max Weber. It joins other active podcasts; It’s all widgets! and Flying High with Flutter. In the first (non-introductory) episode, Hubert Białęcki and Marcin Wróblewski, mobile developers at Monterail, join Max to discuss “the world of cross-platform development, discussing the benefits of Flutter, industry trends, AI-powered tools like ChatGPT and Copilot X”.

#99: Dart and Flutter content at Google I/O

Google I/O content was announced this week and there are some interesting talks about Dart and Flutter. Reading the titles, I think nothing really new will be presented. You can already find references to those talks in content that is already available online. Nevertheless I am going to watch the Material 3 and and Impeller related talks. What about you?

#98: A new GameKit for Flutter, by Rave

Rive announced a GameKit for Flutter. It helps you building performant games that use the Rive animations. It can also integrate with Flame. The Rive Editor, the main product from Rive, is built with Flutter, so it makes sense that they chose Flutter for their new GameKit.

#97: A new Flutter video series

The Flutter team added a new video series, The Flutter Build Show, to all the others like Observable Flutter; Learning to Fly; Decoding Flutter; Flutter in Focus - I bet you forgot about this one; The Boring Flutter Development Show. Plus the package and widget of the week series. I am not sure about the differences between this new show and the others but I hope it will touch on more advanced topics. What do you think?

#95: Flutter strategy and roadmap for 2023

The Flutter team published the strategy and roadmap for 2023, a must-read for developers who wants to keep using Flutter in the long-term. You can also read a more technical roadmap for 2023, which is always publicly available next to the Flutter code.

#92: New articles about Dart 3

Dart 3 is getting closer, with a long list of changes. Articles about the new features are starting to appear so that you can have a preview of what you can do with them. In this issue, I link a couple of them, but I am sure we will get to read more in the upcoming weeks.

#91: Strive as a mobile developer during tough times

This year there have been, and there are still, massive tech layoffs. The biggest tech companies are letting go many employees, as they increased their headcounts a lot in 2021. What can you do now to help you fall on your feet in case you lose your job in the near future?