我们正在构建一个公开RESTful API和移动应用程序的Web应用程序 那个API。
这些都是产品的一部分(在商业/营销意义上)。
网络应用将部署在云中,移动应用将部署到应用商店,以便在移动设备上使用。
不太可能有API的第三方消费者。
Web应用程序和移动应用程序都将使用相同的语言(C# - ASP.NET Core和Xamarin)进行开发,并且存在一些潜在的重用/共享代码,例如:模型。
我们正在使用Git。
我们将为网络和移动应用实施持续的投放渠道。
Web应用程序和移动应用程序的代码库是否应该共享相同的源代码存储库,还是每个应该有一个单独的存储库?在这种情况下,什么是最佳做法?
答案 0 :(得分:0)
“最佳实践”有点主观。
通常,我更喜欢将主要子系统保存在单独的存储库中。这意味着他们可以拥有自己的版本控制策略,并且 - 如有必要 - 可以使用不同的开发团队。
通常,您希望您的REST服务器具有已知的版本控制策略,如果您拥有一个具有自己的发布管道和版本号的单个repo,那么这是最简单的。根据您的项目,您可能希望您的应用程序开发人员针对已知的“稳定”版本的服务进行操作,但您希望您的服务团队能够部署测试版本而不会影响应用程序团队。
您可以通过一个回购实现这一目标,但使用专用的服务仓库更容易构建。