【问题标题】:what is the difference between flutter package and flutter plugin颤振包和颤振插件有什么区别
【发布时间】:2020-11-19 01:09:41
【问题描述】:

我是 Flutter 开发的新手,目前同时开发 4 个应用程序。所以我想通过创建插件或包在这些应用程序之间共享代码。但对于我的情况,我不明白在 packageplugin 之间选择什么。

我将只在这个可共享的代码中编写 dart 代码,但我将使用来自 pub.dev 的其他插件,其中包含本机代码,例如 Kotlin 和 Swift 示例 flutter_contacts,其中包含 java 和 swift 代码。

那么对于这种情况,我应该在 pluginpackage 之间选择什么。

TLDR

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

【问题讨论】:

    标签: flutter


    【解决方案1】:

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

    一个包可以根据需要使用插件。它仍然可以作为一个包使用。

    【讨论】:

    • '一个包可以根据需要使用插件。它仍然有资格作为一个包裹。 - 这是我需要知道的。谢谢
    【解决方案2】:

    Flutter 插件:

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

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

    Flutter 包或模块:

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

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

    【讨论】:

      【解决方案3】:

      根据阅读此 Flutter 文档:Developing packages and plugins,我将在package and plugin difference 上与您分享我的观点。

      首先欢迎来到Flutter Community,这是一个很棒的平台,可以用一个代码库为您的Web/Android/iOS 构建最佳应用程序

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

      什么是插件?

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

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

      Plugins 只不过是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 的 Medium 文章

      如果这仍然不能澄清您的疑问,您必须查看我为您提供的第一个链接开发包和插件。它肯定会让你清楚。

      【讨论】:

        猜你喜欢
        • 2019-07-10
        • 2022-06-26
        • 1970-01-01
        • 2019-02-19
        • 1970-01-01
        • 1970-01-01
        • 2021-01-21
        • 2021-06-10
        • 2022-09-27
        相关资源
        最近更新 更多