Phonegap简介

  PhoneGap是一能够让你用普通的web技术编写出能够轻松调用api接口和进入应用商店的

html5应用开发平台,是唯一支持7个平台的开源移动框架。

优势:

1.兼容性:多平台支持

2.标准化;

3.易学:html5+js

劣势:

1.性能:图形、数据处理等

2.还是性能,如果需要使用OpenGL进行图形编程,使用插件形式加载,还是需要根据各个平台定制插件开发

安装PhoneGap

本文以v2.9 为例,

解压即可。

创建PhoneGap项目

进入PhoneGap目录,创建项目指令./Create {Project Dir} {Package} {Project Name},如图:

                          图1

创建成功后,通过Finder可以看到目录结构,如图2:

                                图2

XCode打开项目,如图3:

                                              图3

图3为项目结构,详解如下:

1.从v2版本开始config.xml取代了原有的Cordova.plist,作为标准配置文件,我的理解就是Win8项目里的app.config。

2.config.xml定义了PhoneGap的API映射,代码如下:

<feature name="InAppBrowser">
<param name="ios-package" value="CDVInAppBrowser"/>
</feature>

该节点定义引用PhoneGap内置浏览器。

3.config.xml可配置自定义插件,代码如下:

<plugins>
<param name="skydrivecommand" value="skydrivecommand"/>
</plugins>

4.V2.9合并了一些常用插件,如用InAppBrowser取代了常用插件ChildBrowser。PhoneGap常用插件可从https://github.com/phonegap/phonegap-plugins 获取。

5.项目Plugins文件夹下放置自定义插件文件,Ios环境包括一组Bundle, .m, .h, .xib和Js文件。Android、Win系统环境参考API文档

6.项目www文件夹下,即为PhoneGap编写代码的放置目录,我们可以使用Html5+css5+引用各类Js框架实现不同的应用。

点击Run,即可看到模拟器效果,如图4:

至此,第一个PhoneGap App成功。:)

下篇来点干货,探索验证在真机环境下phonegap运行图形,大数据的性能。

PS:

1.如果感觉模拟器不爽,想用IPhone/IPad真机调试,那也是没有任何问题的。

真机调试配置请参见:

具体步骤:

  • XCode Setting
  • Project Setting

2.撰写本文时,Adobe已经发布了最新的PhoneGap 3.0

安装前置条件就是需要Node.js。

前往http://nodejs.org/下载相关版本的Node,并安装。

然后在Mac环境下开启命令行:输入 npm -v,看下Node是否安装成功。

继续输入sudo npm install -g phonegap,进入最新版本的安装。

参考文档:

First App on Phonegap | Cordova的更多相关文章

  1. [Phonegap+Sencha Touch] 移动开发36 Phonegap/Cordova项目的图标和启动画面(splashscreen)配置

    原文地址:http://blog.csdn.net/lovelyelfpop/article/details/40780111 Phonegap/Cordova项目中的config.xml文件.里面配 ...

  2. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载五(使用PhoneGap获取设备信息)

    除了能够将HTML页面打包成可以直接安装运行的APP外,PhoneGap的一个最大优势在于可以通过JavaScript调用设备来访问设备上的硬件信息,从而实现一些原本只有依靠原生SDK才能够达到的目的 ...

  3. WINDOWS下PhoneGap(Cordova)安装笔记

    1.首先下载Node.js  安装nodejs很简单直接点击安装文件下一步直至成功即可,安装notejs的同时npm也会同时安装 成功后打开notejs的命令行工具 输入“node -v”," ...

  4. phonegap,Cordova 使用html5标签

    某些安卓手机的webview使用location.href="tel:123456"不能调到打电话的界面,可以用下面的解决办法: config.xml文件最后加上一行: <a ...

  5. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载四(使用程序载入事件)

    在了解了PhoneGap中都有哪些事件之后,本节将開始对这些事件的使用方法进行具体地介绍.本节要介绍的是程序载入事件,也就是deviceready.pause和resume这3个事件. [范例4-2 ...

  6. 如何安装 PhoneGap / Cordova (for Win10)

    最近需要配置 PhoneGap / Cordova 环境,折腾了一阵子,写篇博客 Mark 一下整个过程. 具体参照了:http://www.assortedgarbage.com/apigee/ 以 ...

  7. PhoneGap+Cordova+SenchaTouch-01-环境搭建

    转http://my.oschina.net/zhongwenhao/blog/369465 环境搭建基于 windows  ,mac系统可以借鉴 1.安装NodeJS 和ruby http://no ...

  8. 跨平台移动开发phonegap/cordova 3.3全系列教程-目录

    目录(更新完成后会附上源码供参考) 第一章 android平台开发 phonegap/cordova简介 1.开发环境搭建 2.helloworld 3.启动画面 4.结合asp.net/jqmboi ...

  9. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载三(通过实例来体验生命周期)

    4.1.2  通过实例来亲身体验Activity的生命周期 上一小节介绍了Activity生命周期中的各个过程,本小节将以一个简单的实例来使读者亲身体验到Activity生命周期中的各个事件. 在Ec ...

随机推荐

  1. 【图片】机器学习--名画风格 neural-style

    neural-style 学习画作风格,将风格施加到另外一张图片中 例如将名画<星夜>的风格施加到一副建筑照片中: 源码 https://github.com/jcjohnson/neur ...

  2. Rhythmk 一步一步学 JAVA(8) JUnit 使用

    1. 创建被测试类: package com.rhythmk; public class Man { public Man(){ } public void Move() { System.out.p ...

  3. K2 Blackpearl中从数据库直接删除流程实例之K2Server表

    转:http://www.cnblogs.com/dannyli/archive/2012/11/29/2794772.html /********************************** ...

  4. 流程管理软件(BPM)功能简介

    易协流程管理系统实现将人为控制的业务活动,通过信息化手段实现系统控制,降低人为控制管理的风险以及促进企业的各项决策方针的顺利实施. 系统目标: 实现管理的规范化.制度化.程序化: 帮助企业将内控制度流 ...

  5. 管理Entity Framework中的树结构

    很多时候您需要在数据库中存储逻辑树的层次结构.这个问题有很多种实现方式,但最常见的是使用一个简单自关联的表,如下图所示 如果您映射此表与实体框架您将自动获得一个树状结构,您需将关系字段重命名,因为他们 ...

  6. python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

    python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess ...

  7. HTTP 1.0 & 1.1

    简介: HTTP ( HyperText Transfer Protocol ) 超文本传输协议,是互联网上应用最广泛的一种网络协议. HTTP 是一个客户端和服务端请求.应答的标准.使用 WEB 浏 ...

  8. iOS开发基础控件--UIButton

    01 //这里创建一个圆角矩形的按钮 02     UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 03 ...

  9. Spring3开发(一)

    1 Ioc是什么? Ioc:Inversion of Control,控制反转,控制权从应用程序转移到框架(如Ioc容器),是框架的共有特性. 1.1 为什么需要IoC容器?IoC容器是如何演变的? ...

  10. 附上SQL Server的存储过程例子

    代码如下,看了就明白: --添加项目大类存储过程 use chaiqianD2 go if object_id('p_InsertBigType', 'p') is not null drop pro ...