Go Flutter Desktop (一) 初探

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.

我们查询可知, 可能是考虑到兼容性的问题, go 引擎的项目使用 main_desktop.dart 作为入口, 我们创建一个文件

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Flutter的跨平台框架让我们可以通过使用相同的代码库开发多个平台的应用程序,包括移动端、Web和桌面应用程序。Flutter Desktop UI是指使用Flutter来构建桌面用户界面的能力。 使用Flutter构建桌面应用程序有几个关键优势。首先,它提供了丰富的UI组件和材料设计风格的样式。这使得开发者可以轻松地创建具有吸引力和一致性的用户界面。不论是在移动设备上还是在桌面上,用户可以享受到相似的应用程序体验。 其次,Flutter的UI是响应式的,可以根据不同的屏幕大小和设备分辨率自动调整和适应。这使得开发者能够在不同平台上创建适配的用户界面,无需手动调整布局和设计。 另外,Flutter的桌面支持还提供了易于使用的平台接口,使开发者可以访问底层平台功能和API。无论是文件系统访问、网络请求还是系统通知,开发者都可以通过Flutter桌面UI来实现。 最后,使用Flutter构建桌面UI还可以实现代码的重用。开发者可以重用之前构建的移动应用程序中的业务逻辑和UI组件,从而节省开发时间和资源。这为跨平台开发提供了更大的便利和效率。 总的来说,Flutter的桌面UI为开发者提供了广泛且灵活的工具和能力,使他们能够轻松地构建适配不同平台的桌面应用程序,并实现代码的重用和高效开发。这使得开发者能够更快速地将应用程序扩展到不同的设备和操作系统,提供统一和一致的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值