0

我一直在使用 Phonegap 并开始着手我的第一个真正的项目。

在我遇到的教程中,我没有看到解决方案的一件事是项目组织。假设我的目标是 Android 和 iOS。

我将有一个用于 iOS 的文件夹,我将有一个用于 Android 的文件夹。这两个文件夹都将有一个 www 文件夹向下几个级别,这就是我所有代码实际所在的位置,因为其余的只是不同平台的样板。

现在我如何在不使用代码重复的情况下进行管理?最简单的策略可能是将 www 文件夹放在其他地方,并从 iOS 和 Android 代码树中符号链接到它。

更进一步的做法是使用某种在 iOS/Android 编译器之前运行的构建工具。这将促进诸如使用未缩小与缩小代码和许多其他选项进行构建之类的东西。

如果我要使用构建工具,有哪些好的/受欢迎的选项?gruntjs 似乎在 js-heavy 项目中越来越受欢迎。它适合Phonegap吗?

4

3 回答 3

2

我同意关于这个主题的文档很少。这也是因为他们仍在为 PhoneGap 3 开发它。他们为 PhoneGap 3 重新设计了整个项目结构,以创建一种组织事物的标准方式。见这篇文章:http: //blog.safaribooksonline.com/2013/07/19/streamline-cross-platform-development-using-apache-cordova-phonegap-cli/

[总结]基本上你有这样的文件夹:

/merges - 用于合并/覆盖 www 文件夹

/platforms - 包含本机代码

/plugins - 插件代码

/www - 主文件夹 Web 应用程序文件夹

他们还没有开始编写任何文档,因为所有这些都是使用 nodejs 及其 cli 工具自动为您创建的。这种项目结构还有助于与他们的 PG 在线构建工具保持一致。

就个人而言,我们不使用在线构建工具。这是因为我们在代码中进行了一些大规模定制并编写了自己的原生插件。我们还在内部持续集成构建中使用 node、gruntjs 和 Jenkins(在 osx 上)。这使我们能够生成跨平台构建。我们还没有进入 PG 3,但是我们使用相同的文件夹结构,所以希望它会是一个平滑的升级。

于 2013-08-19T14:48:22.107 回答
1

我同意 Noogen 的观点,无论是关于 Phonegap 3.0 项目的基本结构还是观察到缺乏好的文档。

我的观察是,当您通过命令行界面在 Android 上“运行”或“构建”应用程序时,/www 文件夹确实是用于 APK 的 www 文件夹的源(以及基于 /www 的 AndroidManifest.xml /config.xml)。

而对于 iOS,oivvio 似乎是正确的,www 资源取自 /platforms/ios/www 文件夹,因此如果您同时在 Android 和 iOS 上工作和测试,则需要继续在主 / www 文件夹资源并继续将它们复制(覆盖)到 /platforms/ios/www 文件夹。

当然,文档中没有提到这一点。

于 2013-09-23T09:30:16.920 回答
1

读者可能对 build-sencha-deploy-phonegapbuild.sh 感兴趣,这是一个 CLI(纯 bash)工具,用于自动化 CI 并使用 Sencha(可选)和 PhoneGap Build 进行构建:

https://github.com/mobimentum/build-sencha-deploy-phonegapbuild

于 2013-11-05T15:27:24.803 回答