Flutter Slow Scrolling on iPhone 13
Although this issue seems to still be in flux, I thought it worth pointing out that if you're seeing slow scrolling issues in your Flutter apps on the new iPhone models, you're not alone. Hopefully between setting the correct flag in the info.plist file and whatever needs to be fixed on the Flutter side (if anything), we'll have a fix for this one sooner rather than later.
I think many of us will be keeping an eye on this issue to see how it evolves.
What's the Best Flutter Project Folder Structure?
Watching this video by Max from the Flutter Explained YouTube channel reminds me that sometimes the most basic questions can also be some of the most important.
How do you like to organize your Flutter projects? Do you organize by application layer, UI features, or something else? Hopefully this video will help you set your next project on a solid folder structure foundation.
Tips & Tricks
25 VS Code Productivity Tips and Speed Hacks
As a VS Code user myself, even though this video is not new, it reminds me that I still have tricks to learn if I want to improve my productivity.
Hats off to Jeff Delaney of the Fireship YouTube channel for this one. Because so much of a developer's day is spent in the editor itself, taking advantage of even one of these tips could pay off in the long run. Highly recommended!
Flutter Version Management Tool: FVM
If you're like me, you probably find yourself a bit nervous every time you're about to execute that "flutter upgrade" command. What if I break something? What incompatibilities will I surface and what will I need to change in my own code to bring it in sync with the new version? How can I go back to a previous version of Flutter if I need to?
The FVM CLI tool aims to remove these roadblocks by making it easy to switch between Flutter versions. The tool allows you to specify a Flutter version on a per-project basis, rather than globally. It also seems to simplify the process of keeping Flutter versions in sync among team members, as well as with any CI/CD process you may be running.
If you'd like to incorporate FVM into your own dev process, in addition to the official documentation on the FVM website, you may also find this Twitter thread by Danny at Deckweiss helpful.
New Material You Navigation Bar
With the shipping version of Android 12 coming any day now, if you haven't already done so, it might be time to brush up on the new Material You design.
This short video by Johannes Milke illustrates the implementation of just one of the new Material You features -- the NagivationBar. To my eye at least, this new look offers an aesthetic improvement over the old style.
Maybe it's time to think about retiring good ol' BottomNavigationBar in your own apps?
Widgets and Packages
New Flutter Router Solution: go_router
Google Product Manager Chris Sells has just announced public availability this week of the go_router package, which is built on Flutter's NAV2 API. go_router provides support for declarative, parameterized routing, deep linking, custom transitions, nested navigation, and more.
The self-stated goal of this new package is "to simplify use of the Router in Flutter as specified by the MaterialApp.router constructor."
Since routing can be one of the more complex pieces of an app, this new package certainly seems worth considering, especially if you're just starting a new project and haven't yet invested in an alternate solution.
How to Handle i18n
I've mentioned this before, but it's worth stating again: Localization is something you want to get set up early in your project's dev process. This article by Marie Starck gives a nice overview of how to do this in Flutter, Ionic, and React.
If you're like me, you may only read the Flutter section, but if you haven't yet done this for your project, let Marie show you how.
// From Mark
Flutter Tips & Tricks
This was one of those weeks where there wasn't a lot of earthshaking news in the world of Flutter, so it seemed appropriate to focus this week's newsletter on some of the tips and tricks which might come in handy as you're working with Flutter.
Hopefully you'll enjoy checking out these resources as much as I enjoyed putting them together. We've got everything from VS Code tips to Flutter version management, with a lot of other good stuff in between.