Android 混合应用程序最佳实践?

Android 混合应用程序最佳实践?,android,ios,git,cordova,mobile,Android,Ios,Git,Cordova,Mobile,我已经有了一个使用ApacheCordova构建的iOS应用程序的运行原型,我计划在Android上使用相同的代码库 我应该使用iOS存储库并开始定制Android吗 或 我是否应该将与Android相关的更改作为同一存储库的单独分支保存 遵循的一些最佳实践是什么?为什么 如果您想重复使用部分代码库,您可以在master分支中为Android特定代码添加一个目录 如果您更愿意使用组件,您可以将公共代码库放在自己的repo中,生成一个库(例如:一个maven包,您将在内部maven repo上发布

我已经有了一个使用ApacheCordova构建的iOS应用程序的运行原型,我计划在Android上使用相同的代码库

我应该使用iOS存储库并开始定制Android吗

我是否应该将与Android相关的更改作为同一存储库的单独分支保存


遵循的一些最佳实践是什么?为什么

如果您想重复使用部分代码库,您可以在
master
分支中为Android特定代码添加一个目录

如果您更愿意使用组件,您可以将公共代码库放在自己的repo中,生成一个库(例如:一个maven包,您将在内部maven repo上发布),并拥有一个iOS repo和一个Android repo,这两个库都将引用此库

但是,除非您有一个非常大的代码库(或者除非您不打算在这个公共代码库中进行修改),否则我不推荐使用库方法,因为在公共代码库中添加和测试一个小补丁可能会让人感到痛苦

关于你提出的方法:

  • 一个fork和一个单独的分支或多或少是相同的(而不是有一个分支
    android
    ,你会有一个分支
    fork/master
  • 对于
    android
    iOS
    分支,更改公共代码库将需要额外的合并,而单分支不需要这样做。如果没有严格的工作流程,分支之间的公共代码库可能会失去同步

根据当前的环境,我认为您必须只有一个存储库,即根项目文件夹。任何特定于平台的实现都应该在合并文件夹中完成。我不认为版本控制平台repos是明智的,因为它违背了整个目的。其目的是通过config.xml和mege/hooks文件夹完成一次包含所有平台细节的回购。这样,每当您使用codova platform add命令添加平台时,构建的平台将自动获取其配置信息