如何在 Flutter 中的同一个项目下理想地创建多个应用程序?

Abh*_*yil 16 project flutter

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

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

Abh*_*yil 14

参考:https://medium.com/@iamabhijith.k/streamlined-multi-app-projects-in-flutter-the-power-of-shared-packages-28c9e577449b

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

1.本地链接包。

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

dependencies:
  flutter:
    sdk: flutter
  custom_package_name:
    path: path/to/package
Run Code Online (Sandbox Code Playgroud)

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

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

2. 将包放入远程 git 存储库中。

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

dependencies:
  flutter:
    sdk: flutter
  common_package:
    git:
      url: https://github.com/path/to/common_package.git
      ref: master
Run Code Online (Sandbox Code Playgroud)

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

如果开发人员没有做出贡献,则不需要克隆 common_packages。