DEV Community

Cover image for DevOps In Flutter
Fred Grott
Fred Grott

Posted on

DevOps In Flutter

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

Top comments (0)