5

我和我的朋友计划开始一个手机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 中完成的这个 Wikimedia 项目:https ://github.com/wikimedia/WikipediaMobile 。他们将所有内容保存在一个巨大的 repo 和一个通用 www 文件夹中,其中包含与设备相关的 js 文件(如我的方法 3)。虽然追踪他们是如何完成的对我来说有点复杂。如果您碰巧知道有关 WikipediaMobile 的案例研究,请告诉我。

4

1 回答 1

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 应用程序的文件夹。我建议你看看!

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

于 2012-11-02T16:36:00.237 回答