【问题标题】:Create lots of apps with most of the same code使用大部分相同的代码创建大量应用程序
【发布时间】:2017-04-24 17:39:13
【问题描述】:

我已经在互联网上搜索了答案,但无法真正找到我正在寻找的东西。我希望拥有一个可以在许多应用程序中使用的主代码库。唯一的区别是应用程序图标、背景图像、应用程序名称和服务器的 URL 以获取所有信息。目前我在 ios 和 android 上都有该应用程序的主副本,我只是复制它(因此使用相同的代码创建一个新项目),然后更改需要更改的小部分。因此,如果我使用新功能更新主应用程序,那么在执行此操作时,我必须将新代码添加到每个项目,然后更新它们。有没有办法我可以更新主代码,它会更新我的所有项目,除了 url、名称和图像。

编辑 - 我已经看过这个问题(android-flavors-with-different-base-themes,但我不打算从一个代码库制作 10 个左右的应用程序。我们目前有 170 多个应用程序并且还在增长。拥有这么多的 android 风格或 xcode 是否可以接受目标在一个项目中,添加新目标是否容易。

正如 elrain 在下面所说,创建一个我可以导入到每个项目中的库对于我的情况来说将是最好的解决方案,因为我可以管理该库,然后它将在我的所有项目中更新。我只是想知道是否有人以前遇到过这个问题。

谢谢

【问题讨论】:

  • 相当普遍的问题。在 iOS 上使用 Xcode Targets,在 Android 上使用 gradle 风格
  • 上述重复只解决了用户的部分问题。
  • 创建一个 repo 并让你的所有项目成为该 repo 的一个分支。并且在提交和获取时忽略 resource 文件夹
  • 您需要 SDK 吗?这听起来像是可以用图书馆来完成的。 SDK 通常是为其他人设计的,可以在此基础上进行开发,您的 SDK 似乎希望一切都保持不变,减去一些对我来说似乎是库式的简单更改。

标签: android ios codebase


【解决方案1】:

(对于 iOS)鉴于从一个应用程序到另一个应用程序的更改有限,我建议在同一个 Xcode 项目中创建额外的构建目标。您可以复制现有目标,然后通过确定哪些资源和类属于给定目标来对其进行更改。

【讨论】:

  • 你好皮恰诺。我看过这个,但我目前有 170 多个应用程序并且还在增长。在一个 xcode 项目中拥有这么多不同的目标真的是最好的选择吗?我认为我最好的选择是创建一个可以导入到每个项目中的某种库。
【解决方案2】:

在我看来,您可以从主代码创建一个 SDK,并在您的其他项目中使用该 SDK。

【讨论】:

  • 您好 elrain,我已经对此进行了调查,并认为这将是适合我情况的最佳答案。您是否找到有关如何执行此操作的任何指南/教程?
  • 对于 android 浏览本指南 this guide.
【解决方案3】:

这个答案有点抽象,你可以尝试使用clean architecture,这个架构对你的案例有一个非常有用的功能,即创建可以在相同业务逻辑的应用程序之间共享的核心元素或类,那里有很多基于 clean 的 iOS 架构,你可以自己理解 clean 的大图并应用它,或者你可以理解特定的 iOS 实现,可能最著名的一个是 VIPER ,也许不是你要找的答案但是我认为值得一试。

【讨论】:

    【解决方案4】:

    您必须使用像 gitlab 这样的代码存储库及其功能来提交和推送您的更改一次并多次将其拉入其他项目

    【讨论】:

      【解决方案5】:

      我必须这样做,我创建了一个用于所有项目的库,然后只更改了我需要的代码。

      【讨论】:

        【解决方案6】:

        我创建了一个库,然后将其用于我的所有项目。它运作良好,建议做类似的事情。

        【讨论】:

          猜你喜欢
          • 2019-02-19
          • 2016-06-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多