Published on 13th Feb 2022

Capt Compass E4 - Upgrade to Flutter 2.10

Flutter hit the 2.10 release milestone with engine improvements and Windows desktop support. Our aim is not to deep dive into the changes but rather focus on the excitement for app developers on a new platform. If you wish, you can read more on the changes at
What is New in FLutter 2.10
.
The new Windows stable platform provides a brand new market for app developers. It is a new market to extend the reach for my app and experiment with mobile and desktop platform differences. I find Cap't Compass to be the perfect fit for a multi-platform environment, but I do not own a PC. To experiment with the desktop, I had to opt-in for macOS and hope Flutter will manage the rest on Windows.
#
Platform folders
I find it productive how flutter commands are well-tailored for app developers. To achieve general tasks, I can always find quick solutions, and it comes without the requirement to write and maintain build scripts. Generating new platform folders is no exception for Flutter either. Simply type
flutter create
command, and the rest is handled for us.
#
firebase upgrade
At the start of the project, setting up the Firebase Crashlytics integration was the most demanding part. Without previous experience with iOS, I had to learn how to connect libraries and set up the connection for Firebase Crashlytics. I had luck on my side as Flutter provided a detailed guide for every mobile platform but still took a significant time to get through the steps. Firebase improved the integration drastically since I made the initial setup. I was glad that this was no longer a requirement, FlutterFire supports Dart exception handling out of the box with a small firebase login without JSON payload or manual library integration.
#
Desktop
At the end of the journey, the desktop version runs smoothly on macOS, but there is a catch. Mobile UI works seamlessly with unresizable portrait windows. A desktop experience demands more precision-based user interaction, which was never a part of the design planning. There are also gaps for supporting responsive design with missing master - details layout and additional calendar controls that would make navigation an essential part of the experience.
Like most of the developer community, I missed the main point of the cross-platform. It is not sufficient, to simply solve the technical challenge and compile the same code across a different target. It is also crucial to provide a sense for the user on their current platform while allowing users to benefit from the app. On a mobile environment, users expect easy and manageable interaction, while on desktop they want more details and customisation and on the web fast loading. It is not easy to get all three delivered, but it is still easier than reimplementing the same experience. I believe Flutter is on a great transition, and I see how much effort they put into the platform experience.
It is not a bad start, with areas to improve, but the possibilities are almost endless. For now, this is only a simple tech demo for me to get something out of the new Flutter 2.10 release. Hope you enjoyed it! I will be finishing the label project soon and preparing for a new release.