flutter软件包和flutter插件有什么区别

时间:2020-07-29 12:31:44

标签: flutter

我是flutter开发的新手,目前正在同时开发4个应用程序。因此,我想通过创建插件或软件包在这些应用之间共享代码。但是我不了解在我的情况下在 package plugin 之间选择什么。

我将仅在此可共享代码中编写dart代码,但我将使用pub.dev中的其他插件,这些插件中包含本机代码,例如Kotlin和Swift示例flutter_contacts,其中包含Java和swift代码它。

在这种情况下,我应该在插件软件包之间进行选择。

TLDR

  • 一个包可以在其中使用插件并且仍然是一个包吗?

3 个答案:

答案 0 :(得分:3)

“包”仅包含Dart代码。
“插件”同时包含Dart和本机代码(kotlin / js / swift /...)

如果需要,包可以使用插件。它仍然可以作为包装。

答案 1 :(得分:3)

Flutter插件:

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

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

Flutter软件包或模块:

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

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

答案 2 :(得分:3)

基于阅读以下Flutter文档:Developing packages and plugins,我将分享我的观点,以使您在package and plugin difference上一目了然。

首先,欢迎使用Flutter Community这个强大的平台,它可以通过一个代码库为您的Web/Android/iOS构建最佳应用程序

现在,让我们尝试消除对上述主题的怀疑。

什么是插件?

使用包可以创建易于共享的模块化代码。一个最小的程序包包含以下内容

现在,最好的部分将清除您的疑问:

Plugins只是{strong>依赖

Flutter Packages的一部分

包装类型:

  • Dart软件包:用Dart编写的常规软件包,例如path软件包。其中一些可能包含Flutter特定的功能,因此依赖于Flutter框架,仅将它们用于Flutter,例如fluro软件包。
  • 插件程序包:一种专用的Dart程序包,其中包含用Dart代码编写的API以及一个或多个平台特定的实现。 插件包可以为Android (using Kotlin or Java)iOS (using Swift or Objective-C)webmacOSWindowsLinux或其任何组合编写。一个具体的示例是url_launcher插件包。要了解如何使用url_launcher包,以及如何扩展它以实现对Web的支持,请参见 Harry的中型文章Terkelsen

如果仍然不能澄清您的疑问,则必须查看我为您提供的第一个链接正在开发软件包和插件。肯定会为您提供清晰度。