Supporting iOS 14 and Xcode 12
iOS 14 dropped this week, and so far the impact to shipping Flutter apps seems to be minimal, especially if your app is running on Flutter 1.20 or later.
The Flutter team still has work to do for development mode, however, and Chris Sells covers everything you need to know in this Medium post.
Tips & Tricks
Flutter Podcast Playlist
I thought Matias de Andrea's Spotify playlist, which includes recent Flutter-related podcast episodes, is a pretty cool idea.
I'm guessing this might be useful if you find yourself out and about and wanting to learn something worthwhile at the same time. :-)
When you want to do any sort of custom drawing or animation, it's not uncommon to turn to CustomPainter do get the job done.
In this video, I really enjoyed watching Matt Carroll put together a mock-up of a Nest Protect Hero in Flutter, using CustomPainter. I especially enjoyed watching as he built up the overall artwork by starting with a simple dot primitive, then working up from there.
Widgets and Packages
Using Riverpod for State Management
Since I've previously discussed other state management solutions here in the newsletter, I thought it only right to give a shout out this week to Remi Rousselet and his Riverpod state management solution.
This YouTube video by Robert Brunhage gives a nice introduction to Riverpod, and highlights some of the advantages it offers, including no dependencies on Flutter itself. A nice side-effect of this is the ability to listen to providers without reliance on a BuildContext.
Fixing Breaking Changes in the Firebase Plugins
If you've been following Andy Julow on YouTube, you know that he's doing a multi-part tutorial on building an app in Flutter, with Firebase providing his app's backend services.
Watching him walk through his code as he fixes the breaking changes caused by the recent Firebase updates should be helpful to anyone else going through this currently.
Complete Widget List
So, apparently there are 395 officially listed widgets (as used for widget autocomplete suggestions), and Ray Li has compiled the whole list in this Airtable.
If you don't want to browse all of them, Ray has also included some handy filter and search options. Nice work!
Porting a 75,000 Line Native iOS App to Flutter
Although this article by Gary Hunter is just over a year old now, it provides a great "view from the trenches" of what it's like to convert a decent-sized iOS app to Flutter.
One thing I especially appreciate about Gary's story is that he includes information about where he was able to rely completely on Flutter, and where he had to resort to native platform code. Helpful information if you also find yourself porting over an existing app.
Why Choose Flutter in 2020?
Just in case you run into someone who's skeptical of Flutter's advantages, this article by Ken Reilly serves up some good points in rebuttal.
And I agree with Ken: "It’s as good as everyone says, but even better."
// From Mark
Sleeping Through the Hurricane
OK, so maybe the analogy doesn't completely fit, but I was reminded of one of the great things about Flutter when iOS 14 dropped yesterday.
Although it looks like there is still some work remaining to support development on iOS 14 hardware, most Flutter apps already released on the iOS App Store should be minimally impacted, if at all (more on the specifics in Chris Sells' post, linked below).
Although the iOS 14 beta has been available to developers for a while now, I think Apple surprised a lot of folks with the very short window between the official announcement of availability and the date it dropped for customers this week. This seemed to have left a lot of native iOS developers scrambling to ensure compatibility (including the still-popular Pokemon Go!).
Although I'm looking forward to full developer support on iOS 14, the buffer Flutter provides between my Dart code and the underlying OS makes me much less nervous about getting yanked around at the whims of Apple and Google.Flutter Developer Weekly