对于异构应用程序,什么是好的Git开发模型?
我想开发一个由对于异构应用程序,什么是好的Git开发模型?,git,git-branch,git-submodules,Git,Git Branch,Git Submodules,我想开发一个由iOS和Android应用程序组成的应用程序。此外,还将有一个Web前端,带有restapi和底层数据库 每个模块将有一个开发团队,比如说,一个开发团队负责iOS,一个开发团队负责Android,一个开发团队负责Web/Db 我对设置的第一个想法是以下存储库: myapp-adm ~ Project administrative stuff (e.g. FSD, project plan, ...) myapp-ios ~ iPhone App myapp-jvm ~ Androi
iOS
和Android
应用程序组成的应用程序。此外,还将有一个Web
前端,带有restapi和底层数据库
每个模块将有一个开发团队,比如说,一个开发团队负责iOS
,一个开发团队负责Android
,一个开发团队负责Web/Db
我对设置的第一个想法是以下存储库:
myapp-adm ~ Project administrative stuff (e.g. FSD, project plan, ...)
myapp-ios ~ iPhone App
myapp-jvm ~ Android App
myapp-web ~ Web/Db
但是,在这种设置中,我遇到了管理模块之间依赖关系的问题。例如,由于FSD,所有模块都依赖于myapp adm。此外,模块myapp-ios
和myapp-jvm
依赖于myapp-web
:
myapp-ios <- myapp-web <- myapp-adm
myapp-jvm <- myapp-web <- myapp-adm
我在这里遇到的问题是,iOS
开发依赖于web
开发,但是web开发人员致力于origin/devweb
。这同样适用于jvm
。所以这不是一个真正的解决方案
或者您是否建议,例如,iOS
开发团队必须不断地从源代码/dev-web
合并
如有任何提示/建议,我们将不胜感激
干杯,
/nm我建议在web应用程序和移动应用程序之间设置更好的边界。换句话说,你的移动应用不应该与你的网络应用的特定版本紧密相连;您应该有一个他们使用的版本正确且向后兼容的API
有了这一点,只需将应用程序保存在单独的存储库中就很简单了。您能详细阐述一下您的建议吗?如果我理解正确,您建议,例如,一个用于iOS和Android应用程序的存储库和一个用于Web应用程序的存储库。此外,移动应用程序应该/不应该/强烈依赖Web API。此外,Web API必须向后兼容。这在开发过程中可行吗?在第一次公开发行后,我完全同意。最后,正确版本化的
到底意味着什么。简而言之,我非常希望有一个简单的例子。谢谢你的回复!干杯,/NM在开发过程中,您不一定需要强制执行向后兼容性,但您认为移动应用程序不应与web代码紧密连接,这一点是正确的。他们应该使用API,但只能通过定义的API端点使用(因此他们不应该关心这些端点是如何实现的,只要端点执行它们应该执行的操作)。“正确版本化”意味着如果您对API进行更改,您可以增加一个版本号,并在至少一两个版本之前保持对旧API的支持,这样用户就可以在转换到新API的过程中不会中断应用程序。
v1.0.3 v1.0
myapp-ios <------ myapp-web <---- myapp-adm
v1.0.3 v1.0
myapp-jvm <------ myapp-web <---- myapp-adm
origin/master ~ HEAD reflects production-ready state.
origin/dev-ios ~ HEAD reflects the latest iOS development changes for the next release
origin/dev-jvm ~ ...
origin/dev-web ~ ...