Photo by Kelly Sikkema on Unsplash

As developers we make our UI through widgets, but how do they end up on the screen? How do we get that smooth 120 frames per second? Let’s do a quick deep-dive in how the framework goes from the widgets we create to painting the pixels on the screen!

‘Everything’s a widget’, a common phrase in the land of Flutter development, and for the most part that’s true. However: if you dive a little deeper you’ll see that widgets actually convert to something else before they end up on the screen. …

Image by franckinjapan via

The connectivity package is this week’s ‘package of the week’. It lets you easily check if there’s a connection or not, giving both you but also possibly the user better feedback on what’s going on. Let’s go hands-on and give it a spin!

Don’t you hate it when you get this ‘something went wrong’ error without knowing what actually went wrong? We’ve all been there, but probably have all done it in our own apps as well: we try to get away with some basic error handling, just making sure we let the user know there was an error without…

Photo by Omar Al-Ghossen via Unsplash

Flutter’s not all fun and games, the current drama on ‘iOS jank’ is causing lots of developers to either stay away from Flutter or convert their existing Flutter apps to something else. Should you do too, or are people blowing this issue out of proportion?

My feed has been blowing up these last few weeks or so. Whether it’s Twitter, Reddit, or Youtube, everyone’s talking about this so-called ‘iOS jank’ Flutter issue. For those of you that didn’t see it yet, click here to check out the issue (which is one of many).
In short: Flutter apps on iOS are…

Image by Rodion Kutsaev on Unsplash

Flavors in Flutter work well for separate environments, but what if we want to have a common code base with white label variants for different clients?

White labeling is a common theme nowadays, at least that’s what we as a mobile agency are experiencing here at Pinch. And why shouldn’t it be? As a company with multiple brands, it’s easy to launch apps for each brand while sharing the same codebase: more efficient for the developers and lower costs for the client! But while the paths to take in native environments like iOS & Android are quite clear, there’s no…

Photo by You X Ventures on Unsplash

Dropdowns are good when you’d like to pick an option out of a large dataset, but how do we add them in a Flutter app? And better yet: how do we customize it to fit our app’s style? A quick run-through on using dropdowns, incoming!

Basic dropdown

Let’s start off with adding a basic dropdown, first off we’ll need a dataset. To keep things simple, we’ll define a basic list of Strings in our screen:

Cool! So now we can start adding a dropdown. …

Image via Unsplash, by Markus Spiske

Instead of looking at something specific, let’s take a step back today and revert to one of the basics in Flutter. A brief overview of Stateful widgets in Flutter!

Stateless vs. Stateful

Before we take a look at Stateful widgets, we have to take a look at its counterpart: the Stateless widget. The naming should already give most of it away, but how does it look in practice?

Stateless widgets are, yes, stateless. You basically draw your widget once, and that’s it. It’s not made to change in any way, but rather just simply show how you defined it. …

Image by Mika Baumeister via Unsplash

It can be quite a hassle, what do you need from your client when you want to add a new app to the Google Play Store? Let’s go through the bare minimum of what is necessary to start uploading our app.


50 characters max.

So, we’ll start off with the title. Pretty self-explanatory I guess, the title of your app in the Play Store.

Photo by Markus Spiske via Unsplash

When doing mobile development it’s inevitable: using an API. How can we consume those APIs nicely in Flutter? We managed to find a pretty nice setup after doing a few production projects, so let’s have a look!

First things first: which REST API?

Let’s set up our API before starting off our Flutter project. For this example, we’ll use the OpenWeatherMap API. Just click the link and make sure to sign up and get your API_KEY, since we’ll be needing that to make the API calls.

That’s it! Once you signed up and got your API key we can start configuring our Flutter app.

Getting started: Retrofit?!

Assuming you…

The world is taking a big hit due to coronavirus. A lot of companies have decided to continue their work remotely, but how can you keep your focus, stay productive and keep it social throughout the day? Here are some tips that kept me going so far!

Keep going to the office

Not really of course, but due pretend like you still would. Keep your daily routines going!

  • Take showers (yes, developers do take showers 🙃)
  • Brush your teeth
  • Dress to impress 🕺

Having meetings in your sweatpants can feel great, but you’ll get into that workflow a lot better when you’re fresh and dressed…

Bulleted lists or numbered lists are a pretty common way of summing up content, but how do we actually implement those in Android? Let’s take a quick look at how we can achieve these lists in a simple TextView!

Bulleted list

So let’s start off with ‘the easy one’: a bulleted list. It’s safe to assume you know what I’m talking about, but here’s an example just for the record:

  • Item 1
  • Item 2
  • Item 3

Let’s say we have this content available as a simple list:

val items = ["Item 1", "Item 2", "Item 3"]

We’ll want to add a bullet…

Thomas Middel

Android & Flutter developer @ | Twitter: | LinkedIn:

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