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

时间:2012-08-08 16:56:08

标签: iphone git cordova architecture project

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

现在我想知道这样的项目通常是如何在Phonegap中构建的,以及Git提交的内容。

以下是我正在考虑的事情:

1)我们需要一个服务器端的回购,因为这是相对普遍的。

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的案例研究,请告诉我。

1 个答案:

答案 0 :(得分:1)

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

- 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构建,则不需要本机项目(如果您不熟悉本机IDE,这很棒),因此您只需要一个用于Web应用程序的文件夹。我建议你看一下!

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