用PhoneGap开发移动程序

1.     什么是PhoneGap

PhoneGap是一个自由开放源码的开发工具和框架,允许利用HTML + JavaScript + CSS的强大功能在多个手机平台上开发程序,开发出来的程序经过在各自的平台上编译形成独立的安装程序。使程序看起来和native的程序一样。

 

2.     PhoneGap的优势和劣势
优势:

跨平台:一次开发,多个平台共用。现主要包括了android,iOS,Apple iOS, Google Android, Palm, Symbian, BlackBerry 等。WP7等平台也在逐步兼容中。

降低开发门槛。对于很多WEB开发人员来说,熟悉Objective-C语言和Java语言都是比较痛苦的事情。有了PhoneGap就不用担心这些了。用熟悉的Web前端技术就可以开发出很专业的手机应用程序。

提供强大的硬件访问控制。比起传统的Web程序,PhoneGap提供了一些列的JS 的类,可以直接访问硬件。比如加速,相机,指南针,GPS,文件访问等,可以让你用JS方便地调用系统的硬件。以弥补传统Web程序的一块错误。

方便的安装和使用。PhoneGap的架构很复杂,但对于大多数开发者来说,只用很简单的配置就可以搭好环境。只用专注写好自己的Web页面,拷贝进去就可以了。

劣势:

运行速度慢:程序的载入和UI界面的反应都比原生的程序慢,因为它实际上还是在展示Web页面,所以载入、页面刷新等肯定是需要一定时间的。

不适合部分程序。如果你的程序需要3D功能,或者对界面刷新有较高的要求,这样的程序现在来说还只是用原生的语言会比较好。

 

3.     PHONEGAP开发需要的基本知识
HTML:做为最基本的Web开发,HTML知识必不可少。现在很多移动终端已经支持HTML5了,所以最好学会HTML5相关的知识;

CSS:定义的页面的样式等等,不用CSS,你的页面会很难控制定位和样式等等。建议能掌握CSS3的相关知识,能写出更好的界面;

JavaScript:后台的交互都由JavaScript实现,读写数据库,载入Google Map等等;

PhoneGap的类库:都是JavaScript的库,使用很简单,有详细文档,可以参考官网:http://docs.phonegap.com/

基本的平台知识:比如要做iPhone的程序,就要知道XCode怎么安装,怎么编译,怎么获取授权证书,真机调试等等,要做android程序就要会搭建Ecllipse开发环境等等。会简单使用这些平台后,就可以安装PhoneGap的平台了,可以参考:http://www.phonegap.com/start

 

4.     jQuery …

Tags: 

29 二 12 eclipse配置phonegap

我的eclipse版本是3.7

phonegap版本是1.41

以下假设你已经安装好eclipse和android环境了

一、新建一个android项目

 

Tags: 

29 二 12 phonegap开发入门

PhoneGap官方网站上有详细的入门示例教程,这里,我针对使用PhoneGap进行Android移动应用的开发对其官网的Get Started进行一些介绍、补充。

Step1、选择你想要进行开发的移动平台,点击Android图标

Step2、需要安装的软件-Eclipse3.4以上版本

Step3、安装SDK+PhoneGap

(1)安装Eclipse3.4,我安装使用的为3.6版本中文语言包(如果你使用的是英文原版,下面的一些操作请自行和我的中文描述对应),ADT Plugin要求使用3.5.1以上版本 。如果你对Eclipse不了解,不知道使用哪种版本的,建议下载Eclipse Classic版本。Eclipse为绿色版软件,下载后解压到任意位置均可使用。

(2)下载安装JDK (java SDK)。android SDK 依赖于JDK,所以必须先安装JDK 。JDK1.6官方下载 。JDK 安装好以后,需要配置系统环境变量。配置系统环境变量.

(3)下载安装Android SDK (android官方下载地址不可直接访问,华军有当前最新版本的SDK下载,访问这里)。同JDK设置环境变量一样,需要设置ADK的环境变量为(以我安装ADK的路径为例) M:\Program Files\Android\android-sdk\platform-tools

(4)下载安装 ADT Plugin 是一款Eclipse的插件,用于快速开发Android应用。

(5)下载最新版本的PhoneGap

以上所有都安装好以后,再进行下一步

Step4

◆打开Eclipse,选择文件->新建->其他->Android Project

并建立一个专案本文以 [helloinside]为名称,分别输入专案的属性为

Application name:helloinside

Package name:com.phonegap.helloinside

Create Activity:app

打开Eclipse

这一步如果遇到No …

Tags: 

29 二 12 PhoneGap WP7 Mango开发环境搭建

1.简介:

微软App Hub网站宣布加入Nitobi,使PhoneGap支持WP7 Mango。PhoneGap是一个开源的移动框架,使开发者可以构建多个移动平台的Web应用,并且使用标准的HTML5,CSS和JavaScript。

PhoneGap刚刚为WP7的IE9提供了HTML5的支持。 PhoneGap当前版本有很多基础特色功能,包括JS API去使用WP7 Mango特性,例如: 访问设备信息(UDDI与stuff)添加与搜索联系人链接状态(网络和WIFI状态)报警或提醒框(alert,confirm)媒体捕获(图片和视频)摄像头加速器定位系统 。

2.配置要求:

Windows Phone SDK 7.1+ Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2010 Express

3.安装 PhoneGap

下载网址是 www.phonegap.com (点击右上角的 phonegap 1.1.0)。

解压到任意目录。

我们需要的是WP7文件夹下的

将其拷贝到

文件夹下。

打开 Microsoft Visual Studio 2010 选择 文件—新建—项目 点击 Visual C# 节点看到下图所示就表示你部署成功了!~

4.新建一个项目

我们新建一个项目看看它的目录结构并在模拟器中看看效果:

Tags: 

29 二 12 PhoneGap移动开发框架

移动这一块目前是iPhone遥遥领先,程序员是爱买Android,一般老百姓还是偏向iPhone。现在做手机程序的统统是iPhone优先策略——做一个程序,先写iPhone版,第二才考虑Android。在iPhone的带动下,Mac OS 在美国市场占有率都上升到9%了,相当可怕,有人认为苹果将成为九十年代带的微软。

但我不这么看。我看好Android超过iPhone。从根子上来讲,谷歌是一家广告公司,苹果是一家设计公司,如果只是他们俩在竞争,鹿死谁手还真不好说;可Android是一个开源程序,开源是IT界的倾销手段,因为它免费的正大光明。真正在背后支持Android的力量,是三星、摩托罗拉这些被苹果抢了市场分额的手机公司,没有Android,这些手机公司就活不了了(当然,现在又有了WP7……)。此外,因为Android是开源的,它会被大量应用到其他产品上,就是所谓的物联网。Android以后会成为高端的设备上的嵌入式开发平台,比如汽车App或者其他什么的。应用广就意味着更大的程序员群体,更大的群体意味着技术发展的更快……形成一种良性循环。苹果的系统只能在iPhone上跑,应用面就窄的多。所以我认为苹果不会成为就九十年代的微软,我认为苹果将成为……还是九十年代的苹果。孤芳自赏是没有好下场的。

不过,我觉得这俩平台都不是未来的Windows,Windows是一个不能被重复的传说。你看,就算Android能打赢iOS,它能垄断市场吗?不能。苹果也不是吃素的,Android和iOS在未来一段时间内应该都是齐头并进,更何况现在又出了Windows Phone,还有黑莓和诺基亚……不能因为过气了你就当人家不存在呀,俗话说瘦死的骆驼比马大不是?也就是说,移动平台注定是百花齐放的局面,不可能出现当年Windows一统江山的情景。那么,如果没有统一的操作系统,开发程序就是一件麻烦的事情,同一个软件要写好几个版本,这事儿效率太低。当多平台并存已成定局的时候,群众最需要的就是跨平台的技术。

目前开发移动程序框架选择很多,从Web App,到PhoneGap,Titanium,MonoTouch,再到Native App,总有一款适合你。规律是,兼容性越强的技术,成本越低,性能越差;兼容性越差的技术,成本越高,性能越好。在众多框架里,我最看好PhoneGap。有以下两个原因:

  1. 兼容性。完全做到了written once, run everywhere。
  2. 标准化。PhoneGap用W3C标准,特别标准,Web App直接一字不改就能运行。尤其是和JQ Mobile结合在一起使用,实在是威力无穷啊!
  3. 用JavaScript+HTML5。你说这和iOS以及Anroid的代码加XML有区别吗?我看都差不多。

当然目前PhoneGap缺陷还是蛮多的,比如运行速度慢,UI反应延时——这是个致命伤。不过嘛,这种问题是会随着技术的进步而消失的。它的优势是无以伦比的:开发成本低——我个人估计,至多是Native App的五分之一吧。伟大导师马克思教导我们说,资本有了300%的利润,就敢践踏一切人间法律。跨平台的流行是不可避免的。当然,Native App永远会有一席之地,比如高端游戏。

有的技术虽然高明,如果找不到切入点也流行不起来。就算再有潜力的种子,没有生存的土壤也长不成大树。最典型的例子就是标准Qwerty键盘,再不好使大家也一直在用。PhoneGap是不会成为空中楼阁的,它现在已经遍地开花了,网上很多招工都指明要PhoneGap做。表面上看来,做PhoneGap的是温哥华的一家小公司,但是……和Android一样,PhoneGap也是开源项目,这里头猫腻可就多了去啦。现在,IBM给PhoneGap贡献的代码,比PhoneGap母公司还多!为啥大家这么支持PhoneGap呢?我觉得JQ Mobile主页上的一张合作伙伴的图特别说明问题,请看:

这张图片的名字就叫……找找少了谁?咦,怎么没有谷歌呀。谷歌不是一直支持JQuery,最Web Centric吗,怎么不支持JQ Mobile了?是了,谷歌有Android,不需要Web App也可以分到一大块市场,甚至Web App会降低开发门槛,反而会削弱Android的竞争力。利益当前,谷歌把不作恶这事儿也忘了。但是,就像新闻联播里经常说的,人民,只有人民才是这世界的主人。历史潮流是挡不住的,谁都不行,谷歌也不行。看看上面图片里这些公司,黑莓、诺基亚、Palm……他们都是曾经的强者,现在却是被Android和iOS边缘化的弱者。如果你想做移动开发,你可能选择Android,也可能选择iOS,但你会选择黑莓吗?诺基亚?——没有应用程序是操作系统最大的痛啊。因此,他们才是最需要跨平台技术的。每多一个跨平台技术的程序员,就等于多了一个黑莓程序员、诺基亚程序员……跨平台也是符合生产力发展规律的,是进步的,是革命的,是人民的呼声!弱者单独看起来很弱,团结起来便力量惊人,可以战胜一切,可以推翻霸权,伟大领袖都是这么做的。…

Tags: 

29 二 12 PhoneGap开发环境搭建

项目中要用PhoneGap开发,了解了下基本规则,记录一下,以备后查。(只针对Android平台)

 

一、安装
在安装PhoneGap开发环境之前,需要先安装以下框架:
1.Java SDK
2.Eclipse
3.Android SDK
4.ADT Plugin
5.PhoneGap

 

说明:
1.Java SDK直接下载安装即可,没什么可说的,安装不了就是人品问题了;
2.Eclipse 也是直接下载安装,建议为classic版的;
3.Android SDK和ADT Plugin安装完成后,重启eclipse进入Window->Android SDK Manager进行选择要安装的Android开发框架进行安装

 

 

4.PhoneGap包不用安装,直接解压。

 

二、第一个PhoneGap项目
1.在eclipse中新建Android Project,名字神马的随便取吧;

 

2.在项目的目录下,建两个文件夹:
/libs
/assets/www

 

3.进入将刚刚下载并解压的PhoneGap包里Anroid目录,我们需要的资源都在这个目录下。
  将phonegap-x.x.x.js这个js文件(具体名称视当时下载的版本而定)copy到/assets/www目录下,
  把phonegap.jar文件copy到/libs目录下。
  再把xml目录copy到android项目的res目录下。

 …

Tags: 

29 二 12 PhoneGap Geolocation用法

geolocation对象提供了对设备GPS传感器的访问。
Geolocation提供设备的位置信息,例如经度和纬度。位置信息的常见来源包括全球定位系统(GPS),以及通过诸如IP地址、RFID、WiFi和蓝牙的MAC地址、和GSM/CDMA手机ID的网络信号所做的推断。不能保证该API返回的是设备的真实位置信息。
这个API是基于W3C Geo location API Specification实现的。有些设备已经提供了对该规范的实现,对于这些设备采用内置实现而非使用PhoneGap的实现。对于没有地理位置支持的设备,PhoneGap的实现应该是完全兼容W3C规范。

 

方法:
geolocation.getCurrentPosition
geolocation.watchPosition
geolocation.clearWatch
参数:
geolocationSuccess
geolocationError
geolocationOptions
对象(只读):
Position
PositionError
Coordinates

geolocation.getCurrentPosition


返回一个Position对象表示设备的当前位置。

    navigator.geolocation.getCurrentPosition(geolocationSuccess,
                                [geolocationError],
                                [geolocationOptions]);
复制代码

参数:

  • geolocationSuccess:获取位置信息成功时调用的回调函数,参数为当前的位置信息。
  • geolocationError:(可选项)获取位置信息出错时调用的回调函数。
  • geolocationOptions:(可选项)地理位置选项。

说明:
geolocation.getCurrentPositon是一个异步函数。它回传一个包含设备当前位置信息的Position对象给geolocationSuccess回调函数。如果发生错误,触发geolocationError回调函数并传递一个PositionError对象。
支持的平台:

  • Android
  • BlackBerry (OS 4.6)
  • BlackBerry WebWorks (OS

Tags: 

29 二 12 iphone phonegap跨域问题解决

在phonegap 中是可以使用jquery 的$.ajax 来实现跨域的,

但仅仅是这样是不够的,还需要在项目/Supporing Files/PhoneGap.plist

的ExternalHosts 中添加一项,把你要跨的域名或者ip加入。…

Tags: 

29 二 12 PhoneGap多平台开发

早在7月份就听说PhoneGap.移动应用产品往往常常考虑多个平台的支持.单一平台很难保证应用的覆盖面或者换句话说就是用户群体的量和持续的活跃性上从长期的角度而言往往存在短板.另外从开发的角度而言.多平台的支持往往需要建立不同的技术团队.而平台之间开发技术也是完全迥异的. 开发一个具有相同业务的应用Natural-Application需要使用到不同平台的框架和开发语言.使用 C/C++ 的 Symbian、使用 Object C 的 iOS 和使用 Java 的 Android 应用开发技术,几乎是完全无法融合的. PhoneGap跨平台移动应用开发框架正是应运而生.

Well .在介绍PhoneGap前关于移动平台Application 需要搞清楚几个概念:Web App,Native App,Hybird App:

移动平台Application几个概念:

Web App:这个主要是采用统一的标准的HTML,JavaScript.CSS等web技术开发.通过不同平台的浏览器访问来实现跨平台.同时可以通过浏览器支持充分使用HTML5特性,缺点是这些基于浏览器的应用无法调用系统API来实现一些高级功能,也不适合高性能要求的场合.

 

Native APP:就是所谓的原生应用.指的是用平台特定的开发语言所开发的应用.使用它们的优点是可以完全利用系统的API和平台特性,在性能上也是最好的。缺点是由于开发技术不同,如果你要覆盖多个平台,则要针对每个平台独立开发,无跨平台特性.

 

Hybird App:则是为了弥补如上两者开发模式的缺陷的产物.分别继承双方的优势.首先它让为数众多的web开发人员可以几乎零成本的转型成移动应用开发者;其次,相同的代码只需针对不同平台进行编译就能实现在多平台的分发,大大提高了多平台开发的效率;而相较于web App,开发者可以通过包装好的接口,调用大部分常用的系统API.

而PhoneGap正是Hybird APP目前框架中集大成者. 一方面以标准HTML JavaScript技术开发应用通过浏览器的方式实现跨平台的概念.另外它也满足在能够应用直接调用核心功能的API.用PhoneGap官方的一句话概况其特点是:”written once, run everywhere”-一次编译到处运行.

e0f269be-9caf-363e-bac9-90995b823586

<1>PhoneGap发展历程

本篇我并不打算介绍一些PhoneGap基础概念.而是想说说最近几天在体验PhoneGap中碰到一些困惑.以及找到一些关于这些问题的答案.如果你不了解PhoneGap是什么可以通过如下链接:…

Tags: 

29 二 12 phonegap详细介绍

1.1 什么是phonegap

PhoneGap是一个自由开放源码的开发工具和框架,允许利用HTML + JavaScript + CSS的强大功能在多个手机平台上开发程序,开发出来的程序经过在各自的平台上编译形成独立的安装程序。使程序看起来和native的程序一样。

1.2 PhoneGap的优势和劣势

优势:

l  跨平台:一次开发,多个平台共用。现主要包括了android,iOS,Apple iOS, Google Android, Palm, Symbian, BlackBerry 等。WP7等平台也在逐步兼容中。

l  降低开发门槛。对于很多WEB开发人员来说,熟悉Objective-C语言和Java语言都是比较痛苦的事情。有了PhoneGap就不用担心这些了。用熟悉的Web前端技术就可以开发出很专业的手机应用程序。

l  提供强大的硬件访问控制。比起传统的Web程序,PhoneGap提供了一些列的JS 的类,可以直接访问硬件。比如加速,相机,指南针,GPS,文件访问等,可以让你用JS方便地调用系统的硬件。以弥补传统Web程序的一块错误。

l  方便的安装和使用。PhoneGap的架构很复杂,但对于大多数开发者来说,只用很简单的配置就可以搭好环境。只用专注写好自己的Web页面,拷贝进去就可以了。

劣势:

l  运行速度慢:程序的载入和UI界面的反应都比原生的程序慢,因为它实际上还是在展示Web页面,所以载入、页面刷新等肯定是需要一定时间的。

l  不适合部分程序。如果你的程序需要3D功能,或者对界面刷新有较高的要求,这样的程序现在来说还只是用原生的语言会比较好。

1.3 PHONEGAP开发需要的基本知识

l  HTML:做为最基本的Web开发,HTML知识必不可少。现在很多移动终端已经支持HTML5了,所以最好学会HTML5相关的知识;

l  CSS:定义的页面的样式等等,不用CSS,你的页面会很难控制定位和样式等等。建议能掌握CSS3的相关知识,能写出更好的界面;

l  JavaScript:后台的交互都由JavaScript实现,读写数据库,载入Google Map等等;…

Tags: 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值