iOS 和 Android Flutter 小部件是不是也适用于 Flutter Web(PWA)

Posted

技术标签:

【中文标题】iOS 和 Android Flutter 小部件是不是也适用于 Flutter Web(PWA)【英文标题】:Do iOS and Android Flutter widgets also work on Flutter Web(PWA)iOS 和 Android Flutter 小部件是否也适用于 Flutter Web(PWA) 【发布时间】:2021-05-23 23:03:44 【问题描述】:

我有兴趣将 Flutter 主要用于我在 Web 和 android 上的启动 MVP。我看到 Flutter 社区制作了很多小部件,但其中很多都被标记为 iOSAndroid。既然 Futter 就是使用一个代码库,那么假设这些小部件也可以在 Web 上运行是错误的吗?我想 Flutter Web 应用程序与 Flutter Android 应用程序的设置会有所不同但相似。

我在 Flutter 网站上找不到很多关于此的内容。我也知道 web 仍处于测试阶段,但当我完成 MVP 时,它可能会处于稳定版本足够接近。

【问题讨论】:

【参考方案1】:

嗯...这取决于。如果小部件具有某种本机代码,则答案是否定的。在 Flutter 中有两种类型的包:“普通”包和插件。 这些包仅由 dart 代码组成,因此没有本地限制,您可以在 dart(和 Flutter)可以运行的任何地方使用。 插件是带有本机代码的包,您只能在该插件支持的平台上使用。 例如包provider,它是一个包,你可以在每个支持dart(和Flutter)可以运行的平台上使用。但是url_launcher,它是一个插件,所以你只能在 Android、ios 和 web 上运行,但例如在桌面上,它将无法工作。 如果包如果你发现它只是一个小部件,你应该可以在网络上使用。

TLDR:不,PWA 它是一个网络应用程序,因此它不能运行 Android 或 iOS 特定代码。

【讨论】:

以上是关于iOS 和 Android Flutter 小部件是不是也适用于 Flutter Web(PWA)的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 的小部件不是真正自适应的意思

Flutter 列显示 Android 中小部件之间的额外空间

Flutter 中基于平台自动选择原生组件/小部件

将数据广播到 Flutter 中的多个小部件

如何从 Flutter-web 中的小部件创建图像?

Flutter中的Android锁屏小部件?