Check here the portuguese version / Acesse aqui a versão em português

Introduction

If you’re developing applications for smartphones, probably you’ve heard of a new development framework, Google’s Flutter. It is a framework that allows you to develop applications with a single code base in the Dart language, also from Google, and publish them for both the Android and iOS platforms.

The framework has not yet reached the 1.0 version, but has already been announced as production ready by Google since its beta 3 version, released in May this year. In addition, there is the possibility of building applications with Flutter for desktop environments (Windows, macOS and Linux), which is the subject that this article will address.

Support for desktop platforms is currently provided through two projects, both still in development. One of them is even developed by Google, but has an indication that the company does not support it. The projects can be found in the following Github repositories:

Both projects are classified as Custom Flutter Engine Embedders, that is, they are implementations of the Flutter API so that projects developed in this framework can run on operating systems other than those officially supported by the Flutter project (Android, Fuchsia and iOS).

They use OpenGL through the GLFW library (except for the macOS version of the Google project), which provides an API for creating windows and handling keyboard and mouse input, among other features, on desktop platforms. Therefore, the platform where the application that is being developed will run must have drivers installed for OpenGL.