12

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

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

我没有直接从我的代码调用任何平台 API,但我的代码依赖于另一个插件。

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

4

2 回答 2

21

插件是关于使 Flutter 可以使用本机功能。
模块是将 Flutter 与现有的原生应用程序集成。

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

也可以看看

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

A pure Dart Pub package (library package) that does not depend on dart:html, dart:ui (Flutter) and is not a Flutter plugin, can be used on any platform (server, command line, Flutter, browser).

If your package has one of the named dependencies, it is limited to a specific platform.

pub.dartlang.org shows labels to categorize published packages accordingly (FLUTTER,WEB,OTHER)

在此处输入图像描述

于 2019-02-17T13:42:08.797 回答
8

颤振插件:

简而言之:原生相关的发展。

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

Flutter 包或模块:

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

Flutter 支持使用其他开发者为 Flutter 和 Dart 生态系统贡献的共享包。这允许快速构建应用程序,而无需从头开始开发所有内容。

于 2019-09-21T15:37:37.853 回答