在flutter web中使用flutter移动包

ana*_*shi 5 cross-platform web flutter

我正在使用 flutter web,我想使用一些可用于网页版 flutter 移动设备的软件包。flutter web 的 pubspec 看起来与 flutter mobile 的有些不同,但这不是真正的问题。我担心的是,是否可以将适用于移动设备的软件包添加到 Web 的软件包中。如果是,那么这样做的正确方法是什么?

rmt*_*zie 3

对于任何依赖于移动操作系统的软件包,目前(截至 2019 年 6 月)这是不可能的。原因是移动设备上的插件使用平台通道与 Android 和 iOS 的平台相关代码实现进行通信,这些代码实现是用 java/kotlin(适用于 Android)或 objc/swift(适用于 iOS)编写的。

这些包在网络上工作的唯一方法是为它们编写一个特定于网络的实现,我认为它要么使用 emscripten 编译的库,要么更可能使用某种 javascript 桥来调用相关的浏览器 API。

来自 flutter for web自述文件

flutter_web 还没有插件系统。我们暂时提供对 dart:html、dart:js、dart:svg、dart:indexed_db 和其他 Web 库的访问,使您可以访问绝大多数浏览器 API。但是,预计这些库将被不同的插件 API 取代。


对于任何100% dart 代码的插件,您应该能够将其包含在 pubspec.yaml 中,就像在 flutter-under 中一样dependencies

  • 这还不错,您还可以使用引用 Flutter 框架的库,这些库是为 flutter_web 重新打包的。就像 `provider` 被分叉了 https://github.com/rrousselGit/provider/issues/82 一样。您只能使用插件 atm。 (2认同)