iphone - 协作/构建大型 Phonegap 项目

标签 iphone git cordova architecture project

我和我的 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/

相关文章:

iphone - 我们如何在 TableView 中找到索引路径?

android - Android 上的 Worklight 应用程序启动画面

html - 溢出时 Cordova WebView 渲染失败

java - 无法使用 Java 从远程存储库删除克隆本地文件夹

git:重写历史:重新排序和 merge 提交

git - git 应该删除空目录吗?

android - 我将如何在我的 Ionic/Cordova 应用程序中收集设备 token

iphone - 接收器类型错误 'NSInteger' (又名 'int' )

iphone - 获取iPhone中正在编辑的UITableView的单元格的文本值

iphone - 在运行时循环遍历所有对象属性