最近公司想用PhoneGap做跨平台,所以对这块做了一下研究学习.
PhoneGap
PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用IOS,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以调用。
业界很多主流的移动开发框架均源于PhoneGap。较著名的有Worklight、appMobi、WeX5等;其中WeX5为国内打造,完全Apache开源,在融合Phonegap的基础上,做了深度优化,具备接近Native app的性能,同时开发便捷性也较好。
Phonegap是一款开源的开发框架,旨在让开发者使用HTML、Javascript、CSS等Web APIs开发跨平台的移动应用程序。原本由Nitobi公司开发,现在由Adobe拥有。
它需要特定平台提供的附加软件,例如iPhone的IOSSDK,Android的Android SDK等,也可以和DW5.5及以上版本配套开发。使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。
PhoneGap在多个主要的智能手机设备上提供了以下功能的支持:
加速计
摄像头
罗盘
通讯录
文档
地理定位
媒体
网络
通知(警告、声音和振动)
存储
如果正在为iPhone或Android设备做开发,那么这些功能都是支持的。如果是为BlackBerry、webOS、Windows
Phone 7、Symbian或Bada设备做开发,则有些功能就不支持了(例如,在Windows Phone
7上,就不支持摄像头、罗盘或存储功能。老版的BlackBerry型号支持地理定位、通知以及网络的可达性,但仅此而已)。
当然目前PhoneGap缺陷还是蛮多的,比如运行速度慢,UI反应延时——这是个致命伤。不过嘛,这种问题是会随着技术的进步而消失的。对此问题,国内已有WeX5开源框架专门对PhoneGap做了进一步深度优化,基于WeX5框架开发出来的App体验已经接近原生。它的优势是无与伦比的:开发成本低——笔者个人估计,至多是Native
App的五分之一吧。伟大的政论家托马斯·约瑟夫·登宁,资本主义为了100%的利润,它就敢践踏一切人间法律。跨平台的流行是不可避免的。当然,Native
App永远会有一席之地,比如高端游戏.
PhoneGap与Cordova联系
Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽离出的核心代码,是驱动PhoneGap的核心引擎。有点类似Webkit和GoogleChrome的关系。渊源就是:早在2011年10月,Adobe收购了NitobiSoftware和它的PhoneGap产品,然后宣布这个移动Web开发框架将会继续开源,并把它提交到ApacheIncubator,以便完全接受ASF的管治。当然,由于Adobe拥有了PhoneGap商标,所以开源组织的这个PhoneGapv2.0版产品就更名为Apache Cordova。(目前Adobe PhoneGap <===>ApacheCordova,似乎只是包名不一样而已,未来会有多大变化与改变,拭目以待吧!!)
大体了解下PhoneGap后,下面进入正题
Cordova安装
1. cordova的安装:
1.1 安装cordova需要先安装node.js 。
1.2 如果你没有安装git client ,需要下载并安装一个git客户端。
1.3 使用node.js的依赖包管理工具npm来进行cordova安装。
打开终端输入如下命令:
sudo npm install-g cordova
如果你觉得很慢的话 推荐使用淘宝NPM镜像
使用cnpm(gzip 压缩支持) 命令行工具代替默认的npm:
$ npm install-g cnpm--registry=https://registry.npm.taobao.org
笔者根据官方命令安装失败,然后改为如下命令
$ sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
然后成功
用淘宝镜像安装需要在终端使用以下命令行
$ sudo cnpm install -g cordova
安装成功
创建项目
2.1新建一个cordova的项目
打开终端输入如下命令,该命令可能需要一些时间来完成:
cordovacreatehellocom.example.helloHelloWorld[--template templatePath]
2.2 添加平台
所有后续命令需要在项目的目录中运行,其范围内或任何子目录:
cd hello
在构建项目之前,您需要指定一组目标平台。你能够运行这些命令取决于您的机器是否支持每一个SDK,和你是否已经安装SDK。从Mac运行这些:
cordova platform add ios
cordova项目运行
3.1 cordova默认使用的 index.html 文件说明
根据自己设置的路径,找到项目
运行效果如下
好了,下面就可以用cordova
开发你的程序了.