我和我的 friend 计划开始一个移动 Phonegap 项目,该项目将涵盖 iOS、Android 和 Window Phone。它将需要访问某些 native 功能,例如照相手机。它还必须进行一些 XHR 服务器调用,这是在 CakePHP 中完成的。
现在我想知道这样的项目通常是如何在 Phonegap/中构建的,以及 Git 提交的内容。
这是我正在考虑的事情:
1) 我们将需要一个用于服务器端内容的存储库,因为这是相对通用的。
2) 我们是否应该将所有移动应用程序保存在其单独的 Git 存储库中? (所以 1 个用于 iOS,1 个用于 Android,1 个用于 Window Phone)。这种方法必须维护 3 个独立的 www 文件夹,每个文件夹都将包含许多 html 文件。
3) 将所有内容压缩到一个巨大的 Git 存储库中,仅包含一页 HTML 文档 index.html。其他一切都将由 javascript 和与设备相关的函数处理。 (虽然我还不知道如何用这种方法处理页面转换、导航、后退按钮——仍在学习中)
我真的很佩服在 Phonegap 中完成的维基媒体项目:https://github.com/wikimedia/WikipediaMobile .他们将所有内容保存在一个巨大的存储库和一个通用的 www 文件夹中,其中包含与设备相关的独立 js 文件(如我的方法 3)。尽管要追溯他们是如何完成的对我来说有点复杂。 如果您碰巧知道关于 WikipediaMobile 的案例研究,请告诉我。
最佳答案
我推荐的方法是将所有内容都放在一个存储库中,但将其分解为一个文件夹结构,例如:
- android
[eclipse_project]
- ios
[xcode_project]
- windows
[vs_project]
- www
每个平台特定文件夹包含每个平台的本地项目(即您的 Xcode 项目位于 iOS 文件夹中,您的 Eclipse 项目位于 Android 文件夹中)但是实际的 HTML/JS 应用程序存储在 www 文件夹中。
在我看来,您在 PhoneGap 项目中构建的 Web 应用程序应该完全独立于平台,因此应该只有一个版本。鉴于跨 Android/iOS/Windows 的浏览器已经非常标准化,这应该不是什么大问题,所以我不明白为什么需要单独的 JS 文件。无论如何,如果您需要每个设备的不同行为,您可以识别设备,然后在 JavaScript 代码/CSS 级别处理它。
正如@F481 所暗示的,无论您是否使用 PhoneGap Build会有很大的不同。如果您使用 PhoneGap 构建,则不需要 native 项目(如果您不熟悉 native IDE,这很好),因此您只需要一个用于 Web 应用程序的文件夹。我建议你看看!
我希望这能回答您的问题!
关于iphone - 协作/构建大型 Phonegap 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11869453/