As Flutter evolves from being primarily focused on mobile device development to include desktop and the web, it’s increasingly important to test your widgets on all possible platforms.

Flutter makes it easy to check which platform you code is running on using theme.of(context).platform and then checking that against the TargetPlatform enum. When you write your tests, you should make sure your widgets perform or display as expected on any platform.

Historically, the way to do this would be to write your tests with the debugDefaultTargetPlatformOverride setting in your tests and making sure your widgets work as expected. If we use…


A few weeks ago I wrote a couple of Medium articles. One about Dart Isolates and the fact that they really are threads and the other was about generating Apple’s client_secret for signin with Apple. What I was really working on was this end-to-end OAuth2 demonstrator and the code for the Dart server part of the demo is now available here. The companion Flutter client is available here.

Signin with….
Signin with….
Oauth2 demonstrator — signin with….

One of the first things you do when you write most apps is authenticate your users. …


One of the first things you have to do for virtually any new app is some form of authentication. For many, that means supporting one of the social network authentication systems. This is the “Signin with <pick your provider>”. When I started looking at this with Dart/Flutter, I ran into a few issues. First, most of the client plugins that support social signin only support the mobile platforms (iOS/Android). I wanted to support Desktop/Web as well. Also, many of the client (Flutter) plug-ins expect you to supply a client_scecret. …


I’m writing an API server in all-Dart. I setup multiple isolatesso that my server would scale on the Mac Mini it’s running on (2018 6-core, 12 threads, 3.2Ghz, Intel i7). As I started to investigate Dart isolates to figure out if they would allow my API server to scale, I ran into a lot of articles claiming that Dart was single threaded and that isolates are not threads.

If they’re not threads, but I can spawn an isolate, does that mean it’s a process? When I listed running processes, I couldn’t find multiples running (I was spawning 12 isolates). …

Martin Fink

Retired geek having fun

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store