第1章 认识PhoneGap
PhoneGap 可以让你使用基础的 Web 技术开发出足以媲美原生App的移动应用。而且,最有意思的是,你只要编写一次基础代码,就可以将 App 部署到多个移动平台上。怎么样,够强大吧?好奇吗?那让我们一起进入 PhoneGap 的世界吧!
1.1 PhoneGap 介绍
1.1.1 什么是PhoneGap
PhoneGap 是基于HTML 5 的移动应用前端开发框架。使用 HTML+CSS+JavaScript,再通过PhoneGap就可以快速创建移动App。
PhoneGap 能让你只使用简单的 Web 技术即可获得移动设备的原生特性,如摄像头、加速器、指南针等。使用这些特性,再充分发挥你的想象力,就可以实现各种类型的、特别有意思的移动应用。
PhoneGap是完全开放源代码的,你可以通过编写组件,实现任何原生设备特性的扩展。之后,还可以通过 PhoneGap 打包App,这样编写一次基础代码就可以将 App 部署到多个移动平台上。
如果希望了解更多PhoneGap的相关信息,可访问:phonegap/。
1.1.2 PhoneGap的起源
随着 iOS、Android和Windows Phone 等手机移动平台的迅速发展,开发基于移动平台的手机应用App成为程序开发的新热点。作为一名网页开发者,当然也很想尝试独立开发App,但进入 App开发之前,却不得不面临两大难题。
第一个难题:网页开发者通常只熟知基本的Web 技术(HTML、CSS、JavaScript),而对于移动平台的App,必须使用各平台特定的语言进行开发。例如,想要开发 iPhone 的App,你必须使用Objective-C作为开发语言。同理,如果要开发Android的 App,你就要使用 Java语言。作为网页开发者来说,要想学习和使用基于C语言的 Objective-C语言和Java 语言可不是一件轻松的事。而且,除了这两种比较流行的平台外,还有其他平台,同样也要用对应的语言才能进行App的开发。可以说学习与使用一门新的移动平台开发语言,是开发者首先要面临的最大难题。
第二个难题:如果开发的App只发布到一种平台上,必然无法覆盖足够的用户。但如果要将App发布到多个平台上,可能就得先学习五六个平台开发语言,并且安装与配置不同
第1章 认识PhoneGap 3
平台的SDK和IDE工具包,这样才能对App进行开发与打包发布。这对于想将App进行多平台发布的开发人员来说,是一件特别麻烦的事情。
为了解决以上两大难题,PhoneGap诞生了。
1.1.3 PhoneGap的用途
PhoneGap 让我们可以使用 HTML、CSS、JavaScript 这些技术来开发多平台原生App,它的主要用途如图1-1所示。
图1-1 PhoneGap的主要用途
可以使用 HTML 5 与 CSS3 的新功能特性创建原生 App。例如,你可以利用 HTML 5 ❑
的Video 功能,轻松播放视频,也可以利用 CSS3 的 Transitions 新属性,创建动画。
可以使用 JavaScript 来编写你的代码。JavaScript 语言广为前端开发者熟悉与使用,❑
PhoneGap 的核心代码也为 JavaScript ,这样,你无须学习新的开发语言,即可立即投入 App开发。
获得移动设备的原生特性。例如,地理定位、加速器、联系人、声音和振动等设备特性。
❑
编写一次,即可将你的 App发布到iPhone、Android、BlackBerry、Windows Phone、❑
WebOS等多个平台。
1.1.4 PhoneGap的发展现状及趋势
2009年4月,PhoneGap赢得 Web 2.0 Expo LaunchPad 比赛后,得到了Web开发者的广泛认可。其
代码下载已经超过 600 000 次,目前有数以千计使用PhoneGap开发的App在不同的 App商店上可供下载。
其中,经典的案例如图1-2和图1-3所示,如你想了解更多案例,可访问: PhoneGap/APPs。
现在PhoneGap的代码已经贡献给了Apache软件基金会(ASF),并且改名为 Apache Cordova。这个名字来源于温哥华的科尔多瓦街(Cordova Street),它是创建PhoneGap时Nitobi公司的所在地。手机上可以打html与css的app
目前,PhoneGap正在完善代码,其即将成为一个完整的 Apache 项目。通过ASF,PhoneGap 未来将确保该项目会继续开放管理,并将在Apache的许可下一直保持自由和源码开放。
4 第一篇 准 备 篇
图1-2 Untappd 社交分享App
图1-3 Diary Mobile日常生活记录App
PhoneGap 1.x 版本较之前的版本进行了模块化的改进,这将使其更加安全,并且拥有更优的性能。当前PhoneGap的最新版本为2.0.0,可以通过PhoneGap下载: phonegap/download。
1.2 PhoneGap的优势与不足
1.2.1 PhoneGap相比其他框架的优势
当前跨平台的移动App开发框架除了PhoneGap 以外,还有Titanium等也发展得较为成
第1章 认识PhoneGap 5
熟。为了更好地了解PhoneGap的优势,下面将Titanium与PhoneGap进行以下几个方面的对比。
(1)支撑平台
PhoneGap 支持当前大多数的主流平台,如 iOS、Android 、BlackBerry、Symbian、Palm、Windows Phone等;而Titanium 框架目前只支持 Android 和 iOS 平台。在跨平台这个特性上,PhoneGap的优势十分明显。
在平台支持方面,PhoneGap更注重支持平台的数量, Titanium则更注重提供接近于原生App的UI 效果,其自带 UI组件与原生平台的 UI 组件相仿,让开发的App看上去更像原生的App。
(2)代码可操控性
PhoneGap和Titanium均采用HTML + CSS + JavaScript 作为程序开发语言,并且对HTML 5 与CSS3提供了良好的支持。但PhoneGap 包含了Titanium不具备的DOM特性,可以使用jQuery等第三方库,在代码操控灵活性与方便性上更胜一筹。
(3)测试方便性
PhoneGap 开发的App可以很方便地直接在浏览器中进行测试,而对Titanium 开发的App需要在Titanium IDE开发工具上进行测试。
(4)帮助文档可读性
PhoneGap提供完备的API帮助文档与相应的使用实例,让我们可以很方便地学习与使用API。相比之下,Titanium在这些方面稍微有些欠缺,在API方法的使用上没有具体的例子。
(5)使用许可度
相较于Titanium,PhoneGap在使用上有更多的自由。PhoneGap是基于Apache开源证书的纯粹的开源产品,而Titanium只有一部分基础功能的部件是免费的,而其他高级部件、Titanium Studio的附加功能和官方专业指导服务都需要付费。
综合比较以上几点,本书作者认为,作为开源框架,PhoneGap的优势更为明显与均衡,具有更好的发展前景。
1.2.2 PhoneGap的不足
“兼容性越强、成本越低的技术,其性能越差;兼容性越差、成本越高的技术,其性能越好。”
正如上面这条规则所示,PhoneGap 作为跨平台框架,有很多优点并且在开发上给我们带来了很多的便捷,但它也有不足的地方。它的不足之处主要体现在以下几个方面。
(1)运行效率
PhoneGap应用程序的运行是寄托于移动设备上各平台的内置浏览器webkit的,受到webkit处理速度影响,以及各个平台的硬件与软件的性能制约,其程序运行的速度会比原生的程序慢,在用户体验上较原生应用程序会稍差。
(2)不能完整调用原生API特性
PhoneGap应用程序对平台API的使用依赖于PhoneGap框架本身,目前还只支持各平
6 第一篇 准 备 篇
台基础的API特性。对于各平台新升级发布或者特殊的 API 特性,只有依靠PhoneGap新版本的升级或插件来满足使用上的需求。例如,就目前来说,iOS平台上的应用内付费的功能特性只能使用插件来实现。
(3)平台界面差异化不足
PhoneGap 应用程序在所有平台上运行界面看起来都一样。即使这个应用程序与原生应用很相像,但对于习惯了iOS 与 Android 平台的用户来说,会觉得不习惯,他们还是会很快看出差异。
通过综合比较PhoneGap的优点与不足,我们认为,如果你想快速实现一般的移动WebApp或者普通的2D游戏,那么可以采用PhoneGap技术。如果你想要实现需要大量CPU计算的应用或者3D游戏,或者对用户体验及界面有极致的追求,考虑目前的硬件条件和开发成本,使用原生开发来实现比较适合。
1.3 Web开发速成
PhoneGap使用HTML+CSS+JavaScript进行开发,因此,在进行PhoneGap工具的学习之前最好对这3种语言有一定的了解。
1.3.1 HTML介绍
当前我们浏览的网页都是用HTML(HyperText Markup Language,超文本标记语言)编写的。利用HTML标签可以指示浏览器如何在网页上构建和展现文字、图形、动画、声音、表格、链接等元素。
1. HTML 5
HTML已出现了20多年,从最初的1.0版本已发展到了当前的5.0版本,HTML 5的使命是帮助网页设计人员和开发人员们开发强大的下一代网络应用程序。
HTML 5作为一种更为健壮与成熟的HTML版本,首先它规范并新增了标签,使到网页编码更语义化,写出来的页面代码一眼就能看出结构。除此之外,HTML 5 还新增了很多实用的功能,如HTML 5中的 <video> 标记等。在早期的网页中,视频并不是一个主要的部分,或者说根本没有。互联网用户只有安装了称为“插件”的额外软件后,才能在浏览器中观看视频。而现在,随着网络的发展,轻松观看视频已成了广大用户迫切需要实现的一项功能。利用 HTML 5中引入的 <video> 标记,我们就可以轻松地在网页中嵌入和播放视频,无须安装其他浏览器插件。
除了视频播放以外,HTML 5 还提供了离线功能(用户即使在没有网络连接的情况下,也能与网络应用程序互动),以及拖放等新功能。
HTML 5作为一种开放式标准,在装有新一代浏览器的桌面设备和移动设备上都能良好运行。而 PhoneGap 也正是基于支持HTML 5的移动设备浏览器而得以实现App开发的。
可以说,在未来的几年里,HTML 5将在移动设备、桌面设备的应用开发中占据主导地位。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论