Amazon.co.uk Widgets

Log in

X
Attendee Badge I/O '22

My Flutter at Google I/O ‘22 Recap

If you want to build beautiful, multi-platform native applications for mobile, web, and desktop from a single codebase with Flutter, Google's open source UI toolkit, I’d recommend ‘What's new in Flutter 3’ to everyone and the sessions below whatever your level of interest or experience.

"Announced at Google I/O 2022, Flutter 3 is the culmination of a journey to fill out the platforms supported by Flutter. With stable support for macOS and Linux apps, you can build beautiful experiences for six platforms from a single codebase."

Flutter 3.0 support for Mac computers with Apple silicon is essential and timely

The Flutter team say that Flutter 3 delivers "stable support for macOS and Linux apps, an upgrade of the Flutter/Firebase integration to a fully-supported, core part of the Firebase offering and support for Mac computers with Apple silicon". I do not doubt these claims. I have already proved for myself in my article "Installing Flutter 3.0 on a Mac Studio running macOS Monterey, and creating your first app, in about 15 minutes" that Flutter 3.0 fully supports support for Mac computers with Apple silicon without the Rosetta framwework, not just for the development environment, but also the applications it can produce for macOS! Flutter has for the past few years been primarily about mobile apps for iOS and Android. I suspect that is the case for most developers but as a strategy for Google, the development, launch and adoption of Flutter and Dart has always had a larger plan to "democratize access to rich applications across all devices".

Mobile first, but stable for macOS and Linux too

Flutter 3.0 adds stable support for macOS and Linux apps to the existing platform support for iOS, Android, web and Windows. Flutter has always had this ambition. Mobile apps were simply the easiest entry point and best opportunity for success compared to, say starting with "Hey kids, heres a new way to write apps for Chrome".

There's no doubting that Flutter is a great tool for building mobile apps. I have successfully produced dozens of Flutter based apps now for the App Store and Google Play. Given that mobile apps today need to be for iOS and Android to have any meaningful impact then Flutter is a great choice, as you are already committed to being a Google shop, because you will be using the Google Play Store and a Google account, and probably therefore Firebase and Google Cloud and all that. But you should do this with your eyes open. Google is not doing this work for the greater good. They have an agenda.

Go full steam ahead with Flutter 3.0 while understanding and managing your risks

If you are a mobile app producer, then as you need to be concerned with the long term viability of the platform toolchain you are using perhaps more than the new bells and whistles of the current release. Flutter is very stable. It is viable for mobile app production all the way in to the App Store and Google Play. It has a generous benefactor with deep enough resources and partnershis to properly cover all the platforms it supports and is open to community contributions provided the project leads find them of merit. As long as you are aware of the potential for lock-in and other consequences of "democratizing access to rich applications across all devices" then you should go full steam ahead with Flutter. These are just risks to manage. The first step to managing risk is to be aware of it.

Flutter talks from Google I/O On-demand

These are the presentations about Flutter related topics I found the most interesting at Google I/O.

What's new in Flutter 3

Flutter can now deliver apps for iOS, macOS, Android, Linux, Windows, Fuchsiea and Chrome. While the plug ins and some functionality isn't quite identical everywhere it is improving with every release. It is remarkable.

Learn about Flutter Desktop

Desktop requires focus, keyboard shortcuts, tab order and other details to provide an effective app for end users.

Monitoring Flutter app stability with Firebase Crashlytics

Crashlytics (are you old enough to remember it used to belong to Twitter) has many improvements for Flutter Android and iOS apps.

Learn how Flutter enhances web apps

Take a deep dive into how Flutter uses the latest browser technologies to enable beautiful web experiences. It is a clear indicator to me that Google see Skia, Canvas and WebGL and Dart replacing HTML in the medium terms and making the DOM and Element view of the web not obsolete, but outmoded. The only thing left will be the URL.

When, why, and how to multithread in Flutter

Allowing events to yield using futures is one way to make your apps more responsive but just because an api is async doesnt mean its work is done concurrently. This presentation is created in the style of the science programmes for the BBC 2 Open University from the 1970's but its really really interesting nevertheless. To me it shows that there is much to do to bring Flutter web apps to parity and much for people new to Flutter and Dart to learn.

Adding WebView to your Flutter app

Personally I dont think you should add webviews but sometimes theres no alternative. You do have to take care to make sure your app will still be able to pass Apple and Google review - just simply packaging up a website as an app isn't good enough. Anyway, you can follow along with the codelab Adding WebView to your Flutter app

Create simple, beautiful UI with Flutter

Flutter apps can start out looking pretty generic. Pressure of feature completeness can often override user experiences. It doesn't have to be this way. You can find out and follow along with the codelab Take your Flutter app from boring to beautiful

See also

Introducing Flutter 3
What’s new in Flutter 3

Licences, trademarks, source code licences and attributions

Licences, trademarks, source code licences and attributions

Multizone and this site is not affiliated with or endorsed by The Joomla! Project™. Any products and services provided through this site are not supported or warrantied by The Joomla! Project or Open Source Matters, Inc. Use of the Joomla!® name, symbol, logo and related trademarks is permitted under a limited licence granted by Open Source Matters, Inc. 928uk® is a trademark of Multizone Limited, registered in the UK. AdMob™, AdSense™, AdWords™, Android™, Chrome OS™, Chromebook™, Chrome™, DART™, Flutter™, Firebase™, Firestore™, Fuchsia™, Gmail™, Google Maps™, Google Pixel™, Google Play™, Pixelbook Go™, and Pixel™ and other trademarks listed at the Google Brand Resource center are trademarks of Google LLC and this site is not endorsed by or affiliated with Google in any way. Apple and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries. App Store is a service mark of Apple Inc. The OSI logo trademark is the trademark of Open Source Initiative. Microsoft, CoPilot, Microsoft 365, Microsoft Teams, and Windows are trademarks of the Microsoft group of companies. ROKU, the ROKU Logo, STREAMING STICK, ROKU TV, ROKU POWERED, the ROKU POWERED Logo, ROKU READY, the ROKU READY Logo, the purple fabric tag design,and the purple d-pad design are trademarks and/or registered trademarks of Roku, Inc. in the UK, the United States and other countries. UNIX® and the X® logo are registered trademarks of The Open Group. Any other product or company names may be trademarks™ or registered® trademarks of their respective holders. Use of these trademarks in articles here does not apply affiliation or endorsement by any of them.

Where the source code is published here on ezone.co.uk or on our GitHub by Angus Fox, Multizone Limited it is licenced according to the open source practice for the project concerned.

BSD 3-Clause "New" or "Revised" Licence
Original source code for mobile apps are licenced using the same licence as the one used by "The Flutter Authors". This Licence, the BSD 3-Clause "New" or "Revised" Licence (bsd-3-clause) is a permissive licence with a clause that prohibits others from using the name of the project or its contributors to promote derived products without written consent.
GNU General Public Licence v2.0 or later
Original source code for Joomla! published here on ezone.co.uk by Angus Fox, Multizone Limited is licenced using the same licence as the one used by Joomla!. This Licence, the GNU General Public Licence Version 2 or later (gpl-2.0) is the most widely used free software licence and has a strong copyleft requirement. When distributing derived works, the source code of the work must be made available under the same licence.

You can use any code you find here, just respect the licences and dont use the name of this site or our company to promote derived products without written consent. I mean, why would you? You're not us!

Amazon Associate
As an Amazon Associate we earn from qualifying purchases.
Logo
Our Logo Image is by Freepik. We chose it because its an M and also the letter A twice - and that represents us.