协作/构建大规模的Phonegap项目

Kho*_*ran 5 architecture git iphone project cordova

我的朋友和我计划开始使用移动Phonegap项目,这些项目将涵盖iOS,Android和Window Phone.它需要访问一些本机功能,如相机电话.它还必须进行一些XHR服务器调用,这在CakePHP中完成.

现在我想知道这样的项目通常是如何在Phonegap /和Git提交的内容中构建的.

这是我正在考虑的事情:

1)我们需要一个repo用于服务器端的东西,因为这是相对普遍的.

2)我们应该将所有移动应用程序保留在其分离的Git存储库中吗?(iOS为1,Android为1,Window Phone为1).这种方法将不得不维护3个单独的www文件夹,每个文件夹都将包含许多html文件.

3)将所有内容压缩成一个巨大的Git仓库,只有一页HTML文档index.html.其他所有内容都将通过javascript和与设备相关的功能来处理.(虽然我不知道如何处理这种方法的页面转换,导航,后退按钮 - 仍在学习)

我真的很佩服在Phonegap中完成的维基媒体项目:https://github.com/wikimedia/WikipediaMobile.他们将所有内容保存在一个巨大的repo和一个通用的www文件夹中,其中包含与设备相关的独立js文件(就像我的方法3).虽然跟踪他们如何完成他们的工作有点复杂.如果您碰巧知道有关WikipediaMobile的案例研究,请告诉我.

Har*_*rry 1

我建议的方法是将所有内容都放在一个存储库中,但将其分解为文件夹结构,例如:

- android
    [eclipse_project]

- ios
    [xcode_project]

- windows
    [vs_project]

- www
Run Code Online (Sandbox Code Playgroud)

每个特定于平台的文件夹都包含每个平台的本机项目(即您的 Xcode 项目位于iOS文件夹中,您的 Eclipse 项目位于Android文件夹中),但实际的 HTML/JS 应用程序存储在www文件夹中。

在我看来,您在 PhoneGap 项目中构建的 Web 应用程序应该完全独立于平台,因此应该只有一个版本。鉴于 Android/iOS/Windows 上的浏览​​器已经非常标准化,这应该不是什么太大的问题,所以我不明白为什么需要单独的 JS 文件。无论如何,如果您需要每个设备有不同的行为,您可以识别设备,然后在 JavaScript 代码/CSS 级别进行处理。

正如 @F481 暗示的那样,无论您是否使用PhoneGap Build都会产生很大的影响。如果您使用 PhoneGap 构建,则不需要本机项目(如果您不熟悉本机 IDE,这非常有用),因此您只需要一个用于 Web 应用程序的文件夹。我推荐你看一下!

我希望这回答了你的问题!