Flutter Desktop on macOS with Github Actions
文章目录
Flutter Desktop 现状
截止2020/05/01,Flutter Desktop还处于alpha版本,还没有Ready for Producation。但是相比去年的版本,已经稳定了不少,也不会有太大的Braking Change。就三个Desktop Platform来说,macOS是最成熟、支持度最高的。
准备
- 切换到master分支或者dev分支
- 运行
flutter upgrade
- 运行
flutter config --enable-macos-desktop
,开启支持macOS编译 - Done!!!
创建项目
|
|
运行预览
可以看到,整个创建过程还是比较简单的,也没有什么坑。
Mobile库的兼容性
pin_input_text_field — 纯Dart实现
|
|
兼容性: 💯
loading_indicator — 纯Dart实现
|
|
兼容性:💯
path_provider — 基于Method Channel实现
|
|
兼容性:💯不支持移动端特有的文件夹,比如External Storage,但是都会有相应的错误提示。
结论
总的来说,如果基于纯Dart实现的库,兼容性都是没问题的,但是如果是基于平台的库还是需要额外兼容。Flutter Desktop Plugins
Plugin列表
- Desktop plugins 桌面端独有plugins
- color_panel 颜色盘选择器
- file_chooser 文件选择器
- menubar 菜单栏控制
- window_size 窗口大小
- flutter_plugins 移动端扩展plugins
- path provider 路径
- url launcher url启动
现在桌面端的Plugins生态还是比较荒芜阶段,也是因为目前还在Alpha阶段,Windows和Linux下面Plugin的支持也不是很好。
Github Actions❤️Flutter Desktop
Github Actions是Github又一个真香功能,可以自动化开发、构建、测试和部署,支持多平台 Windows、macOS 和 Linux,支持多语言 Node.js、Python、Java、PHP、C/C++、.NET、Android 和 iOS,也支持容器或虚拟机。重点是免费!!! 免费!!! 免费!!!
目前Github官方对Actions并发任务有一定限制,但是作为日常开源或者个人开发丝毫不影响。
GitHub 计划 | 同时运行的作业总数 | MacOS 作业同时运行的最大数量 |
---|---|---|
免费 | 20 | 5 |
Pro | 40 | 5 |
团队 | 60 | 5 |
企业 | 180 | 50 |
配置Actions
Flutter Desktop项目配置的关键点有几个
- Flutter环境配置
- 开启Flutter Desktop支持
- Pub Dependency同步
- 运行测试代码
- 生成release包
- 发布生成物
想通这几个关键点,actions写起来就很快了。
|
|
最后可以在Actions可以看到生成物
如果需要自动发布到Repo的Release,可以改一下触发规则,然后生成物后面再加上一段就行,大家可以自行Google搜索。