我应该如何为混合移动应用程序进行平台特定代码管理(SVN)?
How should I do the platform specific code managements(SVN) for hybrid mobile apps?
我正在使用 PhoneGap 和 Titanium 为 Android、iOS 和 Windows 移动平台开发混合移动应用程序。该应用程序相对较大,并且由于其性质而包含特定于平台的代码。
例如,假设有一个名为 main.js
的文件。 main.js
是否应包含属于所有三个平台的代码,并在为每个平台构建应用程序时使用注释。当我为 Android 构建时,注释掉与 iOS 相关的代码,反之亦然。
SVN中的代码管理应该怎么做?
- 我应该为每个 OS 使用单独的 SVN 分支吗?
- 我应该将所有代码包含在一个分支中并使用注释吗?
- 其他选择?
你的问题有点尴尬。您的标题谈到使用 SVN,它为版本控制等提供源代码管理,但您的问题询问的是平台特定代码,这有点不同。
如果您专注于处理特定于平台的代码,您可以在 PhoneGap/Cordova 中找到几种处理方法。 (我不能代表 Titanium。)
您可以使用合并在每个平台的基础上自动修改代码。请在此处查看文档(朝向底部)- http://cordova.apache.org/docs/en/4.0.0/guide_cli_index.md.html#The%20Command-Line%20Interface
您可以使用设备插件 (http://plugins.cordova.io/#/package/org.apache.cordova.device) 嗅探设备并针对每个平台执行特定操作。
您也可以使用挂钩来修改每个平台的代码。合并更简单,但钩子给你更多的力量。
更新
不要编写多余的代码或注释和取消注释代码,使用 cordova 设备插件并检查设备平台,如果有特定于平台的内容,请写在那里。
示例:
if ( device.platform == 'android' || device.platform == 'Android' ){
// write here android specific code
}
我正在使用 PhoneGap 和 Titanium 为 Android、iOS 和 Windows 移动平台开发混合移动应用程序。该应用程序相对较大,并且由于其性质而包含特定于平台的代码。
例如,假设有一个名为 main.js
的文件。 main.js
是否应包含属于所有三个平台的代码,并在为每个平台构建应用程序时使用注释。当我为 Android 构建时,注释掉与 iOS 相关的代码,反之亦然。
SVN中的代码管理应该怎么做?
- 我应该为每个 OS 使用单独的 SVN 分支吗?
- 我应该将所有代码包含在一个分支中并使用注释吗?
- 其他选择?
你的问题有点尴尬。您的标题谈到使用 SVN,它为版本控制等提供源代码管理,但您的问题询问的是平台特定代码,这有点不同。
如果您专注于处理特定于平台的代码,您可以在 PhoneGap/Cordova 中找到几种处理方法。 (我不能代表 Titanium。)
您可以使用合并在每个平台的基础上自动修改代码。请在此处查看文档(朝向底部)- http://cordova.apache.org/docs/en/4.0.0/guide_cli_index.md.html#The%20Command-Line%20Interface
您可以使用设备插件 (http://plugins.cordova.io/#/package/org.apache.cordova.device) 嗅探设备并针对每个平台执行特定操作。
您也可以使用挂钩来修改每个平台的代码。合并更简单,但钩子给你更多的力量。
更新
不要编写多余的代码或注释和取消注释代码,使用 cordova 设备插件并检查设备平台,如果有特定于平台的内容,请写在那里。
示例:
if ( device.platform == 'android' || device.platform == 'Android' ){
// write here android specific code
}