Epic Games is Suing Apple
Apple's insistence on complete control over which apps are allowed into the app store, as well as how those apps are monetized, seems to have come to a head with yesterday's announcement from Epic over Apple's treatment of Fortnite's latest update.
As Epic states in its complaint: “Epic brings this suit to end Apple’s unfair and anti-competitive actions that Apple undertakes to unlawfully maintain its monopoly..."
If you're not familiar with the details of what the lawsuit is about, this article from The Verge should help bring you up to speed.
Flutter 1.20 Now in Stable
My apologies on this one -- I was traveling last week and didn't get this important announcement included in last week's issue. Version 1.20 packs a LOT of new features into Flutter, and this post by Chris Sells of the Flutter team covers the important bits.
Push Notifications Tutorial
Integrating push notifications into a Flutter app can be somewhat tricky, due in part to the different ways in which iOS and Android handle these notifications.
Muhammed Salih Guler's tutorial here covers the topic of push notifications nicely. (Note that his example assumes the use of Firebase Cloud Messaging in its implementation, so if that's a hurdle for you, you can pass on this one.)
Tips & Tricks
Customize Hero Animation in Flutter
Hero animations are a nice way to spice up what would be an otherwise boring screen transition. This tutorial, which is part two of a two-part series, presents an example of a multi-image hero animation and covers its implementation nicely.
VSCode Extension for Bloc Library Updated
For those of us using the Bloc library in our code, this VSCode extension update by Felix Angelov is a welcome update.
"Wrap with BlocBuilder?" Bring it on! :-)
Widgets and Packages
For me, one of the highlights of the Flutter 1.20 release is the addition of the InteractiveViewer class. As Google notes, InteractiveViewer is "...designed for building common kinds of interactivity into your app, like pan, zoom, and drag ’n’ drop, even in the face of resizing."
For more information on this important addition to Flutter, you can either read the flutter.dev documentation linked above, or check out the first part of this video tutorial by Justin McCandless, where he introduces this new widget, along with several use cases you might want to consider it for.
Jason Fried on Running the Development Process with Basecamp
Most of you have probably heard of Jason Fried, the head of Basecamp, which recently released the Hey app to much fanfare (and controversy).
As a remote-first company, I've always been impressed with the way in which Basecamp runs its dev process. If you've looked at Basecamp -- the product -- in the past but weren't sure how it might fit into your own workflow, you might find this podcast interview helpful. Here, Jason sits down with host Adam Wathan to discuss some of the nitty-gritty specifics on how Adam could use Basecamp in his own small dev shop.
(Disclaimer: I have no financial interest in Basecamp -- I'm just a quiet fan of how they run things.)
// From Mark
I hope you'll forgive the self-congratulatory opening comment this week, but the app I've been working on for the last several months finally went live on the iOS App Store this week, so I'm feeling a both a sense of accomplishment and relief. Accomplishment because it's always great to finally ship something you've been working so hard on, and relief at having run the gauntlet of the iOS App Store review process.
With that experience fresh in my mind, it was almost ironic to read yesterday's announcement that Epic Games is suing Apple over its App Store policies (see more below). Whether you view Apple's policies as a protector of the user experience or as an 800-pound gorilla out to crush independent developers (or something in between), I think it's safe to say that we'll all be interested to see how this story plays out.Mark Winters