Go Flutter Desktop (一) 初探

本文介绍了如何使用 Go 和 Flutter 开发桌面应用,包括环境配置、运行示例项目、将 Flutter 项目转换为桌面版以及测试基础功能。文章详细讲解了从安装 Go 和 Flutter 环境,到使用 hover 工具,再到运行和修改示例项目的过程,并展示了事件响应、ListView 滚动、图片加载和输入框功能的测试结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flutter 在去年的时候就有一个第三方的桌面引擎, 是用 golang 开发的

Github 地址是:https://github.com/go-flutter-desktop/go-flutter

目前在 mac,linux,windows 均可用, 作为一个 mac 用户, 除了 retina 下字显得有点小, 感觉没有单独适配外, 总体感觉是优于官方的 desktop 引擎的

另外我是真实的 golang 脑残粉, 我觉得 golang 这东西真的太好了, 用 golang, 准不会错

开发环境

需要的开发环境, 因为我是 MacOS, 我以 macOS 为例,其他的请参考对应的系统

  1. Xcode 命令行体系, 这个东西包含很多开发套件(Git), 无论你是否用 XCode 开发,都建议装一个…
  2. Flutter 环境和配套工具, 这个跑不掉,作为 flutter 开发者…
  3. go 语言环境(使用 brew 安装), 1.12+, IDE 用 Jetbrains 家的 goland (你用 VSCode 的话看你自己的情况)

环境安装

对 flutter 桌面版本感兴趣的一定接触过 flutter 开发, 我就默认你有 flutter 全套开发环境

go 语言环境安装

$ brew install go

如果你的 go 比较老, 请升级,使用$ brew upgrade go

配置 GOPATH 环境变量

$ vi ~/.bash_profile

export GOPATH=~/code/go # 这个是必须配置的, 等号后的部分根据你的情况修改, 简单来说里面放的是你自己的代码,不是go的SDK,不是go的SDK,不是go的SDK, 具体的话是你 go 语言的三方库源码/自己写的go代码/中间产物/应用程序所在的目录
PATH=$PATH:$GOPATH/bin  # 这个是选配, 但是强烈建议配置,不然以后的go工具链需要全路径引用

你下载的 go 相关的东西会被装在这个文件夹里

go-flutter 的环境

需要使用一个叫做 hover 的工具, 这个工具是由 go 编写的, 编译打包运行都使用这个工具

$ go get -u github.com/go-flutter-desktop/hover, 这样这个工具会被安装到$GOPATH/bin目录下

[外链图片转存失败(img-rW5MQaWr-1562911906074)(https://raw.githubusercontent.com/kikt-blog/image/master/img/20190704163802.png)]

当你可以直接在命令行输入 hover 可以出现如下情况时就说明可用了

➜  ~ hover -h
Hover helps developers to release Flutter applications on desktop.

Usage:
  hover [flags]
  hover [command]

Available Commands:
  build       Build a desktop release
  help        Help about any command
  init        Initialize a flutter project to use go-flutter
  run         Build and start a desktop release, with hot-reload support

Flags:
  -h, --help   help for hover

Use "hover [command] --help" for more information about a command.
➜  ~

安装 hover 出现问题的话可以参考这里

运行 example

官方提供了几个 example: https://github.com/go-flutter-desktop/examples.git

cd /tmp
git clone https://github.com/go-flutter-desktop/examples.git flutter-examples
cd flutter-examples/pointer_demo
flutter pub get
hover run

通过以上几个步骤就可以把项目跑起来了

[外链图片转存失败(img-TDaZXXcg-1562911906077)(https://raw.githubusercontent.com/kikt-blog/image/master/img/20190704165918.png)]
是一个关于鼠标移入移出监听的 demo

将原项目改为 desktop

官方说明文档是这样的, 不想看英文的, 可以跳过官方文档直接看我的中文说明

[外链图片转存失败(img-JsgKYdHr-1562911906078)(https://raw.githubusercontent.com/kikt-blog/image/master/img/20190705150032.png)]

这里要注意, 因为插件系统的原因, 如果不是纯 dart 插件, 则插件内容不能用

我模拟一下这个过程, 创建一个+++的 helloworld 工程, 你如果是要改造已有项目, 则应该 cd 到你的 flutter 的根目录进行 $ hover init 项目url的操作, 这里根据官方说, url 无所谓, 后面可改

flutter create flutter_example_1
cd flutter_example_1
flutter pub get
hover init github.com/Caijinglong/flutter-go-example # 初始化 desktop 工程

这时候运行项目$ hover run会有一个提示: Target file "lib/main_desktop.dart" not found.

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值