flutter插件和flutter模块之间有什么区别?

时间:2019-02-17 09:16:47

标签: flutter

我是Flutter插件开发的新手,我读过Developing packages & pluginsWriting a good Flutter plugin,但作为初学者我很困惑,我已经基于webview_flutter和JavaScript库开发了Flutter Application离线工作。我想将其扩展为模块或插件。

Webview呈现一些东西。 正在从资产附加JavaScript库。

我没有直接从我的代码中调用任何Platform API,但是我的代码取决于另一个插件。

我该如何进行?作为插件还是模块?

2 个答案:

答案 0 :(得分:4)

一个插件是关于向Flutter提供本机功能。
一个模块是关于将Flutter与现有的本机应用程序集成。

也许您真正想要的是一个可重用的 Pub软件包,您可以将其发布到pub.dartlang.org(一个插件也是一个Pub软件包,只是一个特殊的软件包,它另外利用了对本机的访问权限平台)

另请参见

“库程序包”是Pub程序包,与通常不发布到pub.dartlang.org的普通Dart“应用程序包”相反。

一个不依赖dart:htmldart:ui(Flutter)且不是Flutter插件的纯Dart Pub软件包(库软件包),可以在任何平台(服务器,命令行, Flutter,浏览器)。

如果您的程序包具有命名的依赖项之一,则它仅限于特定平台。

pub.dartlang.org显示标签以对发布的软件包进行相应的分类(FLUTTERWEBOTHER

enter image description here

答案 1 :(得分:0)

Flutter插件:

  

简而言之:与本机相关的开发。

Flutter插件是本机代码(如android(Kotlin或java)和iOS(swift或Objective c))的包装。 ... Flutter可以通过使用平台通道和消息传递来执行本机应用程序可以执行的任何操作。 Flutter指示本机iOS / Android代码执行操作并将结果返回给Dart。

Flutter软件包或模块:

  

简而言之::使用util库中的代码来加快开发速度。

Flutter支持使用其他开发人员为Flutter和Dart生态系统提供的共享软件包。这样可以快速构建应用程序,而无需从头开始开发所有内容。