DevOps In Flutter
Tags: programming, devops, productivity, frontend
Published: 2023-11-06 16:43:33

I am covering devops which is not in the Flutter docs as it is the major way we can re-use Skia through goldens and mocking to avoid having to run builds on every platform during development. Google started with a basic set including Goldens and mocking and then the Flutter Community expanded that as well to something awesome in devops.

Flutter Localization Without Writing It Twice

The Flutter Docs directs you to use the Flutter
SDK tool gen l10n to write both the messages 
by hand and the AppLocaalizations class by hand.
In large apps this can be a huge class of pain.
Let me show you a way in which that class is auto
generated along with the message classes all right
from your ARB files!

https://open.substack.com/pub/fredgrott/p/flutter-localization-without-writing?r=26egx&utm_campaign=post&utm_medium=web



Material Design Holes In Flutter SDK And The Fix

Google is building four front-ends and so Material Design 
is always implemented last in the Flutter SDK.There are a set 
of strategies you can use when the useMaterialVersion flag shows 
up to use the new Material Design features despite the Material 
Design holes in the Flutter SDK. These techniques are from my own tool box.

https://open.substack.com/pub/fredgrott/p/material-design-holes-in-flutter?r=26egx&utm_campaign=post&utm_medium=web


A Design And DevOPS Way Of Generating Flutter Launch Icons


DevOPS is one of the areas not detailed in the Flutter SDK docs.
Being able to auto-generate the app launcher icons from the
app icon artwork is useful rather than fully manually having
to move and place the launcher icons in each platform subfolder.

Not to mention that the flutter SDK still does not generate android
adaptive launcher icons nor android 13 themed icons. So we have to 
rely upon a Flutter Community effort in the form of the flutter
launcher icons package.

https://open.substack.com/pub/fredgrott/p/a-design-and-devops-way-of-generating?r=26egx&utm_campaign=post&utm_medium=web


Beating M3 In A Flutter Dev Machine

Apple adds to the problem by soldering
SSD storage drives to the CPU boards. Which is
a problem as when that NAND SSD fails it shorts
out the whole damn board, meaning Apple makes 
money selling you a replacement board.

Is there a better way to get a Laptop for flutter 
app builds while at the same time having the 
right target platform devices at hand to 
do stakeholder try outs of the app? Yes, read 
on for how.


https://open.substack.com/pub/fredgrott/p/beating-m3-in-a-flutter-dev-machine?r=26egx&utm_campaign=post&utm_medium=web

How To Implement Observable Flutter Logging

There are several logging solutions from the flutter
community, however none are observable in that they 
are not using the Flutter SDK default reactibve
streaming APIs. My approach uses a package 
called logging from the Flutter SDK team and
the logging appenders package from the flutter
community.

And my approach allows to plug into third party
observable logging service providers and even to 
use colored console appenders.

https://open.substack.com/pub/fredgrott/p/how-to-implement-observable-flutter?r=26egx&utm_campaign=post&utm_medium=web


Better App Exceptions Catching Than The Flutter SDK

With using Catcher 2 one can plug into third party services
like crashanalytics and even plug into slack and discord.
And, the benefit of getting a pretty full page exception
report with accept and cancel buttons.

https://open.substack.com/pub/fredgrott/p/better-app-exceptions-catching-than?r=26egx&utm_campaign=post&utm_medium=web

Flutter Static Code Analysis Tools To Pair for DevOPS

Compilers are lazy and thus the efforts we have to manually
do to move run time exceptions to compilable excutable
code involves some static analysis to get warnings when 
our code sucks and needs to be changed. The other 
aspect is getting some code metrics to make the right
architecture design decisions.

The two tools I will show to pair up in static code analysis
is Pascal's lint package and Dart Code Linter. Pascal's lint
package fully implements the Effective Dart best practices.
While the Dart Code Linter package implements code metrics to
measures to be used in architecture code choice decisions.

https://open.substack.com/pub/fredgrott/p/flutter-static-code-analysis-tools?r=26egx&utm_campaign=post&utm_medium=web