《PhoneGap精粹:构建跨平台的移动App》——1.6节构建PhoneGap应用程序

简介:

本节书摘来自异步社区《PhoneGap精粹:构建跨平台的移动App》一书中的第1章,第1.6节构建PhoneGap应用程序,作者 【美】John M. Wargo,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.6 构建PhoneGap应用程序
PhoneGap精粹:构建跨平台的移动App
如果你有款完整的web应用程序,无论其中是否使用了PhoneGap API,都必须被打包成原生应用程序,才能在设备上运行。PhoneGap所支持的每个移动设备平台都有其自己的特有的打包工具或编译成原生应用程序的工具。为了给每个支持的移动平台构建PhoneGap应用程序,应用程序的web内容(HTML、CSS和JavaScript以及其他所需的文件)必须被添加到每个平台对应的应用程序项目中,然后使用对应平台的特有工具构建。

这个过程中有挑战的是,每个移动平台使用完全不同的工具,同时对应的应用程序项目使用不同的配置文件和不同的文件结构。更糟的是,不同的移动平台有不同的PhoneGap JavaScript库。虽然调用API的方式每个平台是一样的,但是用于和不同平台(比如Android、BlackBerry或iOS)交互的内部JavaScript代码是不同的。

如你所见,开发人员没有可以直接配置开发系统的方法,所以他们会创建一个项目,同时使用这个项目去给多个平台创建PhoneGap应用程序。

开发人员所要做的就是为某个平台(比如Android)创建一个项目,放入相应的web内容,然后使用Google提供的工具打包并测试应用程序。一旦该应用程序可以在Android上正常工作,你就可以将对应的web内容复制到另一个新的Xcode项目(针对iOS应用程序)中,或者BlackBerry Web Works项目中,并重复前面的过程1。图1-3揭示了这个过程。虽然该图并没有包含PhoneGap支持的所有平台,但用来说明已经够了。


40589ff16f04d9385494a7c541d001ff9c4f4ba3

如果你觉得上面说的还不够糟糕的话,那么你觉得这个呢?用于为不同平台创建PhoneGap项目的工具2会将PhoneGap的JavaScript库放在不同的位置。比如,在BlackBerry的项目中,PhoneGap的JavaScript库放置于/JavaScript目录中,在iOS中则放在项目的根目录中。当把应用程序的web内容从一个移动平台复制到另一个时,你必须调整代码,因为JavaScript资源文件可能在不同的位置。

一些平台,比如webOS,在web项目中首先需要加载他们自己的JavaScript框架库(名为mojo)。所以,这里你还要注意webOS的版本。

这意味着,为了能在不同移动平台上构建移动应用程序,开发人员必须为每个平台安装完整的开发环境,并且手动复制和调整不同项目间的web源文件。

本书的第2部分,讲解了如何配置每个PhoneGap支持平台的开发环境。

幸运的是,我们有更好的方法去解决上面的问题。PhoneGap项目团队已经致力于搭建一个基于云技术的为PhoneGap应用程序打包的服务了,名为PhoneGap Build,如图1-4所示。对PhoneGap来说,该服务会极大地降低开发环境带来的复杂性。


4918b5c5842d838dc43c57b123b92bf18e79ef3d

使用PhoneGap Build,开发人员要创建一个名为config.xml的配置文件,该文件用来描述移动应用程序的设置。该文件的格式是根据W3C的Widget规范(www.w3.org/TR/widgets)定义的。该配置文件和应用程序的web内容(应用程序的HTML、CSS和JavaScript文件)会被上传到PhoneGap Build服务器上,并且被打包成不同平台的原生移动应程序。使用普通的桌面浏览器就可以使用PhoneGap Build。

PhoneGap Build可以从多种途径载入PhoneGap项目,比如,.zip文件、从Git库(http://git-scm.com)或svn库(http://subversion.apache.org)获取。开发人员甚至可以将他们的PhoneGap项目存放在PhoneGap官方的Git库中。在第9章中,我们会详细描述PhoneGap的构建过程。

1译者注:指打包并测试。
2译者注:指不同平台提供的打包或发布工具。

相关文章
|
29天前
|
监控 安全 数据可视化
【教程】为什么要为 App 应用加固 ?如何为 App 应用加固 ?
【教程】为什么要为 App 应用加固 ?如何为 App 应用加固 ?
|
2月前
|
iOS开发 开发者
苹果iOS App Store上架操作流程详解:从开发者账号到应用发布
很多开发者在开发完iOS APP、进行内测后,下一步就面临上架App Store,不过也有很多同学对APP上架App Store的流程不太了解,下面我们来说一下iOS APP上架App Store的具体流程,如有未涉及到的部分,大家可以及时咨询,共同探讨。
|
2月前
|
存储 iOS开发 开发者
如何在上架App之前设置证书并上传应用
在上架App之前想要进行真机测试的同学,请查看《iOS- 最全的真机测试教程》,里面包含如何让多台电脑同时上架App和真机调试。
|
3月前
|
移动开发 JavaScript 小程序
从入门到实践:Uni-app跨平台开发与应用
从入门到实践:Uni-app跨平台开发与应用
114 1
|
3月前
|
搜索推荐 UED
从网页到应用:轻松封装网页为个人化APP
随着移动互联网的快速发展,越来越多的人希望将自己喜欢的网页内容封装成应用,以便更便捷地浏览和分享。本文将介绍如何在线生成个性化的APP,让你的网页成为一个独立的应用程序,同时提供了一些常见的工具和技术,帮助你实现这一目标。
30 0
|
2月前
|
安全 开发工具 数据安全/隐私保护
如何将应用程序发布到 App Store
如何将应用程序发布到 App Store
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
93 0
|
29天前
|
前端开发 Android开发 iOS开发
应用研发平台EMAS使用 aliyun-react-native-push 库接入推送和辅助通道,推送都可以收到,但是在App切到后台或者杀掉进程之后就收不到推送了,是需要配置什么吗?
【2月更文挑战第31天】应用研发平台EMAS使用 aliyun-react-native-push 库接入推送和辅助通道,推送都可以收到,但是在App切到后台或者杀掉进程之后就收不到推送了,是需要配置什么吗?
26 2
|
2月前
|
编解码 供应链 数据安全/隐私保护
2023 年如何将您的应用提交到 App Store
2023 年如何将您的应用提交到 App Store
|
2月前
|
iOS开发 开发者
苹果 iOS App Store 上架操作流程详解:从开发者账号到应用发布
苹果 iOS App Store 上架操作流程详解:从开发者账号到应用发布

热门文章

最新文章