我是flutter开发的新手,目前正在同时开发4个应用程序。因此,我想通过创建插件或软件包在这些应用之间共享代码。但是我不了解在我的情况下在 package 或 plugin 之间选择什么。
我将仅在此可共享代码中编写dart代码,但我将使用pub.dev中的其他插件,这些插件中包含本机代码,例如Kotlin和Swift示例flutter_contacts,其中包含Java和swift代码它。
在这种情况下,我应该在插件和软件包之间进行选择。
TLDR
答案 0 :(得分:3)
“包”仅包含Dart代码。
“插件”同时包含Dart和本机代码(kotlin / js / swift /...)
如果需要,包可以使用插件。它仍然可以作为包装。
答案 1 :(得分:3)
简而言之:与本机相关的开发。
Flutter插件是本机代码(如android(Kotlin或java)和iOS(swift或Objective c))的包装。 ... Flutter可以通过使用平台通道和消息传递来执行本机应用程序可以执行的任何操作。 Flutter指示本机iOS / Android代码执行操作并将结果返回给Dart。
简而言之::使用util库中的代码来加快开发速度。
Flutter支持使用其他开发人员为Flutter和Dart生态系统提供的共享软件包。这样可以快速构建应用程序,而无需从头开始开发所有内容。
答案 2 :(得分:3)
基于阅读以下Flutter文档:Developing packages and plugins,我将分享我的观点,以使您在package and plugin difference
上一目了然。
首先,欢迎使用
Flutter Community
这个强大的平台,它可以通过一个代码库为您的Web/Android/iOS
构建最佳应用程序
现在,让我们尝试消除对上述主题的怀疑。
什么是插件?
使用包可以创建易于共享的模块化代码。一个最小的程序包包含以下内容
现在,最好的部分将清除您的疑问:
的
Plugins
只是{strong>依赖Flutter Packages
的一部分
包装类型:
Android (using Kotlin or Java)
,iOS (using Swift or Objective-C)
,web
,macOS
,Windows
或Linux
或其任何组合编写。一个具体的示例是url_launcher插件包。要了解如何使用url_launcher包,以及如何扩展它以实现对Web的支持,请参见 Harry的中型文章Terkelsen 如果仍然不能澄清您的疑问,则必须查看我为您提供的第一个链接正在开发软件包和插件。肯定会为您提供清晰度。