Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Flutter on Windows, MacOS and Linux - based on Flutter Embedding, Go and GLFW.

License

NotificationsYou must be signed in to change notification settings

go-flutter-desktop/go-flutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-flutter - A package that brings Flutter to the desktop

Awesome FlutterDocumentationGo Report CardJoin the chat at https://gitter.im/go-flutter-desktop/go-flutter

Purpose

Flutter allows you to build beautiful native apps on iOS and Android from a single codebase.

Thisunofficial project brings Flutter to the desktop through the power ofGo andGLFW.

The 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 theFlutter's Embedding API using a single code base that runs on Windows, macOS, and Linux. For rendering,GLFW fits the job because it provides the right abstractions over the OpenGL's Buffer/Mouse/Keyboard for each platform.

The choice ofGolang 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.

Screenshot of the Stocks demo app on macOS

Getting started

The best way to get started is to installhover, the official go-flutter tool to set up, build and run Flutter apps on the desktop, including hot-reload.

Read thehover tutorial to run your app on the desktop, or start withone of our example apps.

If you want more in-depth information about go-flutter, read thewiki.

Supported features

  • Linux 🐧
  • MacOS 🍎
  • Windows 🏁
  • Hot Reload
  • Plugin system
    • BinaryMessageCodec, BinaryMessageChannel
    • StandardMessageCodec, JSONMessageCodec
    • StandardMethodCodec,MethodChannel
  • Plugin detection forsupported plugins
  • Importable as Go library into custom projects
  • UTF-8 Text input
  • Clipboard copy & paste
  • Window title and icon
  • Standard keyboard shortcuts
    • ctrl-cctrl-vctrl-xctrl-a
    • HomeEndshift-Homeshift-End
    • Leftctrl-Leftctrl-shift-Left
    • Rightctrl-Rightctrl-shift-Right
    • Backspacectrl-BackspaceDelete
  • Mouse-over/hovering
  • Mouse-buttons
  • RawKeyboard events
  • Distribution format (windows-msi, mac-dmg, linux-appimage, and more)
  • Cross-compiling using docker 🐳

Are you missing a feature?Open an issue!

Examples

A separate repository contains example Flutter apps that also run on the desktop. Go togithub.com/go-flutter-desktop/examples to give them a try.

Plugins

Some popular plugins are already implemented over atgithub.com/go-flutter-desktop/plugins.If you have implemented a plugin that you would like to share, feel free to open a PR on the plugins repository!

For a detailed tutorial on how to create a plugin, read thewiki.

Version compatibility

Flutter version

Flutter itself is a relatively young project. Its framework and engine are updated often. The go-flutter project tries to stay compatible with thebeta channel of Flutter.

Go version

Updating Go is simple and Goseldomly has backwards-incompatible changes. This project remains compatible with thelatest Go stable release.

GLFW version

This project uses go-gl/glfw for GLFW v3.3.

License

BSD 3-Clause License


[8]ページ先頭

©2009-2025 Movatter.jp