Build a Flutter app once and run it on Windows, macOS, and Linux without rewriting it for each platform
Package your Flutter desktop app into a Windows installer, macOS disk image, or Linux AppImage for distribution
Use hot reload while developing your Flutter desktop app to see code changes on screen without restarting
Cross-compile your Flutter desktop app for a different operating system using Docker from any machine
Requires the hover companion tool, Flutter SDK, and Go installed, tracks Flutter's beta channel.
Flutter is a toolkit originally built by Google for creating mobile apps that run on both iOS and Android from one shared codebase. go-flutter is an unofficial project that extends Flutter to desktop operating systems: Windows, macOS, and Linux. It was created because the Flutter engine, on its own, does not know how to handle desktop inputs like mouse clicks or keyboard shortcuts, window resizing, or operating-system-level events. The project solves that gap by implementing Flutter's Embedding API, which is a specification for how any platform can plug into the Flutter engine. The implementation is written in Go, a programming language known for having consistent tooling across operating systems. For the actual screen rendering and input handling, it uses a library called GLFW, which provides a common interface over OpenGL graphics on all three platforms. Developers use a companion tool called hover to set up, build, and run their Flutter apps on the desktop. Hover also supports hot reload, meaning you can change code and see the result on screen without restarting the app. The project ships a plugin system that lets Flutter's existing communication channels work on desktop, so code that talks to platform-native features can be extended to desktop as well. Supported features include clipboard copy and paste, text input, mouse hovering and button clicks, standard keyboard shortcuts, and packaging your app into distribution formats like a Windows installer, a macOS disk image, or a Linux AppImage. Cross-compiling for a different platform using Docker is also supported. The project tracks Flutter's beta release channel and targets the latest stable Go release. The license is BSD 3-Clause. Example apps and pre-built plugins live in separate companion repositories under the same GitHub organization.
← go-flutter-desktop on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.