{"id":13393578,"url":"https://github.com/go-flutter-desktop/go-flutter","last_synced_at":"2025-05-12T11:17:35.357Z","repository":{"id":37270338,"uuid":"145340771","full_name":"go-flutter-desktop/go-flutter","owner":"go-flutter-desktop","description":"Flutter on Windows, MacOS and Linux - based on Flutter Embedding, Go and GLFW.","archived":false,"fork":false,"pushed_at":"2025-05-07T11:08:49.000Z","size":1491,"stargazers_count":5911,"open_issues_count":64,"forks_count":282,"subscribers_count":120,"default_branch":"master","last_synced_at":"2025-05-12T11:17:30.869Z","etag":null,"topics":["cross-platform","desktop","flutter","glfw","go","golang","hover","linux","macos","ui","windows"],"latest_commit_sha":null,"homepage":"https://hover.build/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/go-flutter-desktop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-08-19T22:04:27.000Z","updated_at":"2025-05-12T10:55:52.000Z","dependencies_parsed_at":"2024-01-18T03:17:44.195Z","dependency_job_id":"c61f8891-3b21-42ab-a619-6d2266d1b895","html_url":"https://github.com/go-flutter-desktop/go-flutter","commit_stats":{"total_commits":308,"total_committers":30,"mean_commits":"10.266666666666667","dds":0.7272727272727273,"last_synced_commit":"0fcb3ed6cbc524efd082470654c7e91d59799432"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-flutter-desktop%2Fgo-flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-flutter-desktop%2Fgo-flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-flutter-desktop%2Fgo-flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-flutter-desktop%2Fgo-flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/go-flutter-desktop","download_url":"https://codeload.github.com/go-flutter-desktop/go-flutter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253726906,"owners_count":21954096,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","desktop","flutter","glfw","go","golang","hover","linux","macos","ui","windows"],"created_at":"2024-07-30T17:00:56.272Z","updated_at":"2025-05-12T11:17:35.333Z","avatar_url":"https://github.com/go-flutter-desktop.png","language":"Go","readme":"\u003cimg src=\"./mascot.png\" width=\"170\" align=\"right\"\u003e\n\n# go-flutter - A package that brings Flutter to the desktop\n\n[![Awesome Flutter](https://img.shields.io/badge/Awesome-Flutter-blue.svg?longCache=true\u0026style=flat)](https://github.com/Solido/awesome-flutter)\n[![Documentation](https://godoc.org/github.com/go-flutter-desktop/go-flutter?status.svg)](http://godoc.org/github.com/go-flutter-desktop/go-flutter)\n[![Go Report Card](https://goreportcard.com/badge/github.com/go-flutter-desktop/go-flutter)](https://goreportcard.com/report/github.com/go-flutter-desktop/go-flutter)\n[![Join the chat at https://gitter.im/go-flutter-desktop/go-flutter](https://badges.gitter.im/go-flutter-desktop/go-flutter.svg)](https://gitter.im/go-flutter-desktop/go-flutter?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n## Purpose\n\n[Flutter](http://flutter.io/) allows you to build beautiful native apps on iOS and Android from a single codebase.\n\nThis [unofficial](https://github.com/go-flutter-desktop/go-flutter/issues/191#issuecomment-511384007) project brings Flutter to the desktop through the power of [Go](http://golang.org/) and [GLFW](https://github.com/go-gl/glfw).\n\nThe flutter engine itself doesn't know how to deal with desktop platforms _(eg handling mouse/keyboard input)_. Instead, it exposes an abstraction layer for whatever platform to implement. This project implements the [Flutter's Embedding API](https://github.com/flutter/flutter/wiki/Custom-Flutter-Engine-Embedders) using a single code base that runs on Windows, macOS, and Linux. For rendering, [**GLFW**](https://github.com/go-gl/glfw) fits the job because it provides the right abstractions over the OpenGL's Buffer/Mouse/Keyboard for each platform.\n\nThe choice of [Golang](https://github.com/golang/go) comes from the fact that it has the same tooling on every platform. Plus Golang is a great language because it keeps everything simple and readable, which makes it easy to build cross-platform plugins.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./stocks.jpg\" width=\"650\" align=\"center\" alt=\"Screenshot of the Stocks demo app on macOS\"\u003e\n\u003c/p\u003e\n\n## Getting started\n\nThe best way to get started is to install [hover](https://github.com/go-flutter-desktop/hover), the official go-flutter tool to set up, build and run Flutter apps on the desktop, including hot-reload.\n\nRead the [hover tutorial](https://github.com/go-flutter-desktop/hover) to run your app on the desktop, or start with [one of our example apps](https://github.com/go-flutter-desktop/examples).\n\nIf you want more in-depth information about go-flutter, read the [wiki](https://github.com/go-flutter-desktop/go-flutter/wiki).\n\n## Supported features\n\n- Linux :penguin:\n- MacOS :apple:\n- Windows :checkered_flag:\n- [**Hot Reload**](https://github.com/go-flutter-desktop/go-flutter/issues/129#issuecomment-513590141)\n- Plugin system\n  - BinaryMessageCodec, BinaryMessageChannel\n  - StandardMessageCodec, JSONMessageCodec\n  - StandardMethodCodec, **MethodChannel**\n- Plugin detection for [supported plugins](https://github.com/go-flutter-desktop/go-flutter/wiki/Create-a-hover-compatible-plugin)\n- Importable as Go library into custom projects\n- UTF-8 Text input\n- Clipboard copy \u0026 paste\n- Window title and icon\n- Standard keyboard shortcuts\n  - \u003ckbd\u003ectrl-c\u003c/kbd\u003e  \u003ckbd\u003ectrl-v\u003c/kbd\u003e  \u003ckbd\u003ectrl-x\u003c/kbd\u003e  \u003ckbd\u003ectrl-a\u003c/kbd\u003e\n  - \u003ckbd\u003eHome\u003c/kbd\u003e  \u003ckbd\u003eEnd\u003c/kbd\u003e  \u003ckbd\u003eshift-Home\u003c/kbd\u003e  \u003ckbd\u003eshift-End\u003c/kbd\u003e\n  - \u003ckbd\u003eLeft\u003c/kbd\u003e  \u003ckbd\u003ectrl-Left\u003c/kbd\u003e  \u003ckbd\u003ectrl-shift-Left\u003c/kbd\u003e\n  - \u003ckbd\u003eRight\u003c/kbd\u003e  \u003ckbd\u003ectrl-Right\u003c/kbd\u003e  \u003ckbd\u003ectrl-shift-Right\u003c/kbd\u003e\n  - \u003ckbd\u003eBackspace\u003c/kbd\u003e  \u003ckbd\u003ectrl-Backspace\u003c/kbd\u003e \u003ckbd\u003eDelete\u003c/kbd\u003e\n- Mouse-over/hovering\n- Mouse-buttons\n- RawKeyboard events\n- Distribution format (windows-msi, mac-dmg, linux-appimage, and more)\n- Cross-compiling using docker :whale:\n\nAre you missing a feature? [Open an issue!](https://github.com/go-flutter-desktop/go-flutter/issues/new)\n\n## Examples\n\nA separate repository contains example Flutter apps that also run on the desktop. Go to [github.com/go-flutter-desktop/examples](https://github.com/go-flutter-desktop/examples) to give them a try.\n\n## Plugins\n\nSome popular plugins are already implemented over at [github.com/go-flutter-desktop/plugins](https://github.com/go-flutter-desktop/plugins).\nIf you have implemented a plugin that you would like to share, feel free to open a PR on the plugins repository!\n\nFor a detailed tutorial on how to create a plugin, read the [wiki](https://github.com/go-flutter-desktop/go-flutter/wiki/Implement-a-plugin).\n\n## Version compatibility\n\n### Flutter version\n\nFlutter itself is a relatively young project. Its framework and engine are updated often. The go-flutter project tries to stay compatible with the [beta channel](https://github.com/flutter/flutter/wiki/Flutter-build-release-channels) of Flutter.\n\n### Go version\n\nUpdating Go is simple and Go [seldomly has backwards-incompatible changes](https://golang.org/doc/go1compat). This project remains compatible with the [latest Go stable release](https://golang.org/dl/).\n\n### GLFW version\n\nThis project uses go-gl/glfw for GLFW v3.3.\n\n## License\n\n[BSD 3-Clause License](LICENSE)\n","funding_links":[],"categories":["Popular","Misc","开源类库","Go","实用工具","工具集","Flutter Tools \u0026 Frameworks","Open source library","Flutter Tools","Repositories","Tools","Desktop [🔝](#readme)","Utilities"],"sub_categories":["桌面开发","桌面应用","桌面端","Desktop Development","Winetricks","Objective-C Tools, Libraries, and Frameworks","Mesh networks","JavaScript Libraries for Machine Learning","Desktop"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-flutter-desktop%2Fgo-flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgo-flutter-desktop%2Fgo-flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-flutter-desktop%2Fgo-flutter/lists"}