微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter:如何配置/构建使用单个私有“核心”库/包的多个应用程序的最佳实践是什么?

如何解决Flutter:如何配置/构建使用单个私有“核心”库/包的多个应用程序的最佳实践是什么?

我已经在这里和其他地方进行了大量搜索,但没有找到明确的答案...

我有两个应用程序将共享相当多的功能并访问相同的云数据,但仍然非常不同。我想到的一个类似的公共例子是优步:一个应用程序供司机使用,一个应用程序供乘客使用。他们的应用程序共享许多核心功能。我认为让一个单一的应用程序呈现两种截然不同的用户体验和基于用户类型的功能集是没有意义的......或者是吗??这种方法的主要优点/缺点是什么?

我不完全确定,但对我来说,拥有两个独立的应用程序似乎更明智,这些应用程序导入一个“核心”库,其中包含两个应用程序共有的元素(一些数据模型、一些 UI 小部件等)。在这种情况下如何构建这两个应用程序?我可以从一个 Flutter 项目构建这两个项目,还是每个应用都需要单独的项目?

  1. 如果从单个项目构建,如何配置它以构建两个不同的应用程序? (使用口味似乎不适合于此;我已经为每个应用构建了多种口味:DEV/TEST/PROD)
  2. 如果从单独的项目构建,为核心库创建一个额外的(第三个)单独项目似乎应该很简单,可以构建/保存到私有 GitHub 存储库。我已经读到,由于 pub 缓存包的方式,将核心库放在单独的存储库中可能会出现问题/不方便。这仍然是真的吗?是否像在单个 repo 中为三个不同的项目指定单独的文件夹一样简单?这种配置还有其他需要考虑的事情吗?

解决方法

我得到的解决方案是使用 melos 包在单一存储库中设置我的项目。

这允许我为我的每个应用程序和我的每个库拥有单独的顶级目录(在我的项目/存储库中)。 melos 的顶级配置文件列出了它们中的每一个,并且 melos 使库对应用程序“可见”。这是一个满足我需求的巧妙而简单的解决方案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。