内容简介:**当然,这并不是一个Google官方承认的项目,还没有正式纳入官方flutter,所以只能体验体验。而且暂时没有看到文档说明怎么打包,不知道有没有大佬能研究下。Mac版是官方认为做的最成熟的版本,坑少,配置简单,总的来说体验还是不错的,有插件系统,感觉体验比Web还要好。
** flutter-desktop-embedding **这个项目其实已经存在很久了,之前看文档什么都没有,小白表示完全不会编译,最近发现官方终于更新readme了!!虽然文档依然简陋,但是已经很友好了,配置对了,一句 flutter run
项目就跑起来了。
当然,这并不是一个Google官方承认的项目,还没有正式纳入官方flutter,所以只能体验体验。而且暂时没有看到文档说明怎么打包,不知道有没有大佬能研究下。
This is not an officially supported Google product.
Mac版是官方认为做的最成熟的版本,坑少,配置简单,总的来说体验还是不错的,有插件系统,感觉体验比Web还要好。
准备工作
Step 1
首先请确保你的Flutter SDK是跑在master分支上的。我偷懒用了dev分支,果然报错了,哈哈哈哈。所以master外的其他分支是会报错的(报错很长,就不贴全了,具体可以看这个issue: github.com/google/flut… ),怎么切换分支请自行百度:
Build process failed #0 throwToolExit (package:flutter_tools/src/base/common.dart:24:3) #1 buildMacOS (package:flutter_tools/src/macos/build_macos.dart:67:5) #2 MacOSDevice.startApp (package:flutter_tools/src/macos/macos_device.dart:78:1 #3 FlutterDevice.runHot (package:flutter_tools/src/resident_runner.dart:370:54) #4 HotRunner.run (package:flutter_tools/src/run_hot.dart:253:39) #5 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:430:37) 复制代码
如果你嫌切分支麻烦,可以参考低调大佬的这篇文章 Flutter Desktop Mac版(一) 初探 ,为desktop项目单独配置一份master分支的SDK,可以避免在同时开发Flutter项目和desktop项目时,将分支切来切去的困扰。
Step 2
打开 .bash_profile
文件,添加环境变量 export ENABLE_FLUTTER_DESKTOP=true
,请一定要配置这个,否则你在运行的时候,Flutter SDK只会识别手机设备,不会识别你的系统,会报错 no device connected
。
如何运行demo
首先要注意,暂时没有命令行可以新建项目,需要去Github下载官方demo flutter-desktop-embedding 当壳。
clone完毕后,控制台进入 example
目录,运行 flutter run
命令,看到以下文字就表示运行成功了:
yumideMacBook-Pro:example yumi$ flutter run Launching lib/main.dart on macOS in debug mode... Building macOS application... flutter: NAME Favorite flutter: NAME Unfavorite Syncing files to device macOS... 2,034ms (!) :fire: To hot reload changes while running, press "r". To hot restart (and rebuild state), press "R". An Observatory debugger and profiler on macOS is available at: http://127.0.0.1:61427/_u3S3YtMF1c=/ For a more detailed help message, press "h". To detach, press "d"; to quit, press "q". 复制代码
支持hot reload,但是要注意暂时desktop项目只能运行在debug模式,即使你在命令行加了 --release
并且运行成功了,你还是在debug模式。
使用什么IDE开发
开发其实和写Flutetr一样,你可以用VS Code、IntelliJ、Android Studio,如果需要从IDE中启动项目,需要做额外的配置:
- VS Code请在
settings.json
中添加dart.env 配置:
"dart.env": { "ENABLE_FLUTTER_DESKTOP": true, } 复制代码
- IntelliJ/Android Studio请进入设置页面:Preferences | Appearance & Behavior | Path Variables ,添加以下变量: (但是我个人在Android Studio中添加了上述环境变量后,并没有卵用。。。。)
关于插件
Question 1:是否可以使用pub上的库?
纯Dart的库是可以使用的,比如 Flare
动画库,使用姿势依然是在 pubspec.yaml
中添加依赖就行:
dependencies: flutter: sdk: flutter cupertino_icons: ^0.1.0 flare_flutter: ^1.5.2 flare_dart: ^1.4.2 复制代码
测试的时候我试着用了flare的这个example: favorite ,实际运行效果如图:
Question 2:如何编写插件?
暂时依然是不支持命令行创建,但是官方说以后会支持命令行( flutter create -t plugin
)的,因此如果需要开发插件,请去github下载壳儿: github.com/google/flut…
和Flutter插件一样,如果需要平台定制,你需要一定的macos、 linux 和windows平台开发知识,一个完整的非纯Dart的插件是需要lib、linus、macos、windows这四个包的:
Question 3:如何使用插件
file_chooser
file_chooser: path: ../plugins/file_chooser 复制代码
我们可以写一个简单的例子看下这个插件的使用:
Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ RaisedButton( onPressed: () { showOpenPanel((results, path) { setState(() { paths = path; }); print('results: $results, path = $path'); }); }, child: Text('点我选择文件'), ), Text('文件路径:$paths'), ], ), 复制代码
注意Mac使用平台插件需要pod版本1.6.1+,如果报错请更新cocospod。如果同时用gem和homebrew装过cocospod,可能会导致pod指向混乱,请用which pod命令查看实际指向,然后使用对应的更新即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 降低云游戏延迟优化云游戏体验:贝塞斯达推出Orion技术,还公布了免费体验计划
- PyTorch 初体验
- indexedDB 初体验
- golang爬虫初体验
- Netty 入门初体验
- Ansible初体验
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
网络经济的十种策略
(美)凯文・凯利 / 肖华敬/任平 / 广州出版社 / 2000-06 / 26.00元
全书介绍网络经济的十个新游戏规则,分别是:蜜蜂比狮子重要;级数比加法重要;普及比稀有重要;免费比利润重要;网络比公司重要;造山比登山重要;空间比场所重要;流动比平衡重要;关系比产能重要;机会比效率重要!一起来看看 《网络经济的十种策略》 这本书的介绍吧!