【问题标题】:How to ideally create multiple apps under same project in Flutter?如何在 Flutter 中理想地在同一个项目下创建多个应用程序?
【发布时间】:2021-04-18 21:08:26
【问题描述】:

我正在开发一个需要管理应用程序和客户应用程序的项目。这两个应用程序都有很多共同点,例如主题、图像、字体、小部件、包等。那么理想的方法是什么?

如果我创建两个单独的项目,如果需要更新主题,我需要在两个单独的项目上更新它。如何理想地处理这种情况?

【问题讨论】:

  • 根据用户类型管理屏幕和数据权限?
  • 你的意思是检查它的用户或客户并相应地显示功能@Nae
  • 是的。我就是这样做的。但我不知道是否有更好和/或更简单的解决方案。
  • 但我遇到的一个问题是,当我将应用程序上传到 Play 商店时,它需要两个包名和所有包名。所以我需要更改包名称,这再次让我更改了 firebase @Nae 中的所有配置
  • 我不明白。您将拥有一个应用程序。用户登录,后端根据用户是管理员还是客户等告诉您允许的屏幕和数据列表。

标签: flutter project


【解决方案1】:

我想出的最好方法是使用包。在包中创建一个包含通用小部件、存储库、函数等的颤振包。然后将包链接到应用程序。这可以通过两种主要方式完成。

1.在本地链接包。

这里在pubspec.yaml中添加了包文件夹的本地路径

dependencies:
  flutter:
    sdk: flutter
  custom_package_name:
    path: path/to/package

如果您是该项目的唯一工作人员,这将非常有用。因为您不必发布它或将其推送到 GitHub 以在链接到包的应用程序中反映这些更改

推荐使用包的相对路径,因为如果有多个队友加入项目,不同系统的绝对路径可能不同,导致git冲突。新开发者必须克隆包和应用项目,并将包安排在pubspec.yaml中提到的相对文件路径中。

2。在远程 git repo 中排列包。

这里将远程git repo链接添加到pubspec.yaml中。

dependencies:
  flutter:
    sdk: flutter
  common_package:
    git:
      url: https://github.com/path/to/common_package.git
      ref: master

ref 是分支名称引用。这里是主分支。 这在有多个开发人员时很有用,这样每个人所做的更改都会更新到远程 repo 并且可以轻松更新包。

如果开发人员不参与贡献,则无需克隆 common_packages。

【讨论】:

    【解决方案2】:

    我认为适当的解决方案是创建一个包含相似代码的,以便您可以在两个项目中使用它,如果只是关于图标、主题等,那么您应该使用风味,看这篇文章https://medium.com/@salvatoregiordanoo/flavoring-flutter-392aaa875f36

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-20
      • 2021-01-08
      • 2021-05-17
      • 1970-01-01
      • 1970-01-01
      • 2021-11-28
      • 1970-01-01
      • 2018-02-12
      相关资源
      最近更新 更多