现在的位置: 首页 > 综合 > 正文

PhoneGap简介

2017年10月12日 ⁄ 综合 ⁄ 共 2514字 ⁄ 字号 评论关闭

PhoneGap简介

PhoneGap是一个能够让Web开发者快速进行移动app开发的开源框架。

PhoneGap主要涉及的技术包括HTML,CSS,JavaScript。

PhoneGap可以让不懂Object-C的开发者也可以开发IOS应用程序。

PhoneGap实现了“一次开发,到处使用”。(看起来是怎么那么像Java的口号啊,哈哈。不过话说回来,这只是一个口号,不能完全迷信。确切来讲,你可以利用PhoneGap进行移动开发,然后只需要非常小的改动就能让你的程序在各种平台上运行,包括IOS,Android,Windows Phone等等,业界有人估算说利用PhoneGap开发移动应用的人力成本只有传统方式的五分之一。)

一般情况下,用PhoneGap开发的应用和用传统方式(即本地/原生app,比如用Object C开发的IOS app)开发的应用效果基本是一致的。除了个别情况,比如手机游戏之类的。原因可能是PhoneGap毕竟是一个封装了很多底层细节的框架,运行效率肯定赶不上本地原生App。不过这些都会随着PhoneGap本身的完善和硬件技术的提升而得到很好的改善。话说回来,类似FaceBook和Baidu这样的互联网公司都开始运用PhoneGap了,我们是不是可以更大胆一些呢?

如果你需要了解更多的细节,比如PhoneGap的历史、优点与缺点等等,你可以百度或Google一下。

 

通过PhoneGap,你能做什么?

操作联系人

  • 用Create()方法创建联系人
  • 用Save()方法保存联系人
  • 用Find()方法查找联系人
  • 用Clone()方法复制联系人
  • 用Remove()方法删除联系人

是不是很简单呢?

操作摄像头

大多数智能终端都带有内置摄像头。PhoneGap API提供了两种方式让你操作摄像头以获取图像:

  • 通过camera对象来操作。比如camera.getPicture()
  • 利用MediaCapture API来操作。

你甚至可以通过PhoneGap对获取到图像进行编辑处理。具体我们在后续文章中详解。

注意:因为现今的很多摄像头具有非常高的分辨率,当你采用了一些特定格式的图像处理方式时,要留意生成图像的大小,以免消耗过多的内存资源导致异常。

使用定位功能(比如GPS等)

PhoneGap的Geolocation API可以让你轻松获取当前位置信息(比如经纬度)。如果你的设备已经联网,你可能会获取非常精准的位置信息。

使用多媒体文件

前面刚提到Media Capture API可以用来操作图像,但实际上此API的功能不仅限于操作图像。你也可以用它来获取声音和视频信息,比如录音或录像。你可以用它来控制各种操作,比如开始录音,停止录音等等。

数据存储支持

了解Html5的朋友可能对它的Web Storage非常欣赏。同样,PhoneGap也提供了这个功能。你可以用本地SQLite来存储数据,对一般应用而言,这已经足够了。

利用这个功能,你的应用可以从远程服务器拉取数据,然后存储到本地。然后当你需要的时候,你可以把本地发生变更的数据同步更新到远程服务器。这是一个非常实用的功能。

PhoneGap API概述

因为稍后的章节将陆续讲解PhoneGap的各个API,所以此处我们不做详述。但是了解PhoneGap API的概要,有助于我们今后的学习安排。

以下是主要的API接口:

Accelerometer           操作加速传感器

Camera                      操作摄像头

Capture                      操作多媒体设别。比如摄像头,录音设备等。

Compass                    操作罗盘

Connection                快速检测网络状态,包括Wifi或手机网络。

Contacts                    操作联系人

Device                         获取设备相关信息

Events                         通过Javascript和本地事件建立对应关系

File                               通过Javascript操作本地文件

Geolocation               定位

Media                         录音、播放多媒体文件。

Network                     快速检测网络状态

Notification               通知(比如声音、震动、文字等)

Stroage                       本地存储

其它问题

以上我们列出了PhoneGap提供的主要API。但是这并不意味着仅仅利用这些API就可以称作PhoneGap开发了。你还需要其他的一些必要技能,比如HTML5,CSS3以及Javascript。甚至如果需要的话,你可能还需要利用其它一些框架,比如jQuery(比较流行)。你必须充分理解以上各个技能的使用方式。

和传统桌面应用不一样,移动终端设备的屏幕是有限的。你不太可能将整个很大的页面一股脑发送到移动终端上。如果用户需要反复滚动或缩放才能看到你提供的内容,那这样的应用将会是一个失败的应用。一个比较好的方法是,你可以充分利用HTML5的标签,比如header,list等等,同时充分利用CSS的强大功能。

同时,有别于桌面应用的加载速度,移动终端的处理能力是有限的,如果你的应用在启动或载入页面时需要加载的内容太多,将会导致用户长时间等待并失去耐心,从而舍弃你的应用。

以上都是做移动开发时需要考虑的问题。充分利用一些第三方框架,比如jQuery Mobile Framework等等,将会有助于提高应用的用户体验满意度。

最后提一点,在某些设备上,从一个页面跳转到另一个页面将导致内存消耗显著增大甚至降低反应速度。一个比较好的解决方案是尽量将相关内容放在一个页面,再通过Js在需要的时候动态加载这些内容。当然,如果你选用jQuery之类的框架,那将会更容易实现。

 

下一节我们将讲解如何安装和配置PhoneGap。

 

抱歉!评论已关闭.