First App on Phonegap | Cordova
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的更多相关文章
- [Phonegap+Sencha Touch] 移动开发36 Phonegap/Cordova项目的图标和启动画面(splashscreen)配置
原文地址:http://blog.csdn.net/lovelyelfpop/article/details/40780111 Phonegap/Cordova项目中的config.xml文件.里面配 ...
- 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载五(使用PhoneGap获取设备信息)
除了能够将HTML页面打包成可以直接安装运行的APP外,PhoneGap的一个最大优势在于可以通过JavaScript调用设备来访问设备上的硬件信息,从而实现一些原本只有依靠原生SDK才能够达到的目的 ...
- WINDOWS下PhoneGap(Cordova)安装笔记
1.首先下载Node.js 安装nodejs很简单直接点击安装文件下一步直至成功即可,安装notejs的同时npm也会同时安装 成功后打开notejs的命令行工具 输入“node -v”," ...
- phonegap,Cordova 使用html5标签
某些安卓手机的webview使用location.href="tel:123456"不能调到打电话的界面,可以用下面的解决办法: config.xml文件最后加上一行: <a ...
- 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载四(使用程序载入事件)
在了解了PhoneGap中都有哪些事件之后,本节将開始对这些事件的使用方法进行具体地介绍.本节要介绍的是程序载入事件,也就是deviceready.pause和resume这3个事件. [范例4-2 ...
- 如何安装 PhoneGap / Cordova (for Win10)
最近需要配置 PhoneGap / Cordova 环境,折腾了一阵子,写篇博客 Mark 一下整个过程. 具体参照了:http://www.assortedgarbage.com/apigee/ 以 ...
- PhoneGap+Cordova+SenchaTouch-01-环境搭建
转http://my.oschina.net/zhongwenhao/blog/369465 环境搭建基于 windows ,mac系统可以借鉴 1.安装NodeJS 和ruby http://no ...
- 跨平台移动开发phonegap/cordova 3.3全系列教程-目录
目录(更新完成后会附上源码供参考) 第一章 android平台开发 phonegap/cordova简介 1.开发环境搭建 2.helloworld 3.启动画面 4.结合asp.net/jqmboi ...
- 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载三(通过实例来体验生命周期)
4.1.2 通过实例来亲身体验Activity的生命周期 上一小节介绍了Activity生命周期中的各个过程,本小节将以一个简单的实例来使读者亲身体验到Activity生命周期中的各个事件. 在Ec ...
随机推荐
- Linux下编译、安装并启动memcached
首先使用yum安装gcc make.autoconf.libtool系列工具,这几个工具是编译所需要的,命令如下: yum install gcc make autoconf libtool 然后到l ...
- 关于 warning CS0659:“***”重写Object.Equals(object o)但不重写Object.GetHashCode()
对象相等性和同一性 System.Object 类型提供了以下方法, namespace System { // // 摘要: // 支持 .NET Framework 类层次结构中的所有类,并为派生 ...
- C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值
转自goldeneyezhang原文 C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值 C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值总结: 对应某个类的 ...
- Mysql之数据库设计
一.三大范式 1.第一范式:消除一个字段包含多个数据库值,消除一个记录包含重复的组(单独的一列包含多个项目),即可满足1NF. 2.第二范式:消除部分依赖性即可转化为2NF.部分依赖性表示一个记录中包 ...
- **利用列表和super实现有序字典
class MyDict(dict): def __init__(self): self.temp_list = [] super(MyDict,self).__init__() def __seti ...
- Mybatis 针对ORACLE和MYSQL的批量插入与多参数批量删除
今天利用Mybatis的<for each>标签做oracle的批量插入数据时,发现和MySQL数据库有区别.在此记录下,以防之后再踩坑. 一.批量插入: 1.controller: /* ...
- 安装mongodb时报错 configure: error: Cannot find OpenSSL's libraries
请安装这些包以便继续: apt-get install build-essential libexpat1-dev libgeoip-dev libpng-dev libpcre3-dev libss ...
- Promethus安装指南
由于Prometheus是go语言写的,所以不需要编译,安装的过程非常简单,仅需要解压然后运行.Prometheus官方下载地址:https://prometheus.io/download/ 安装P ...
- rocketmq--消息的产生(普通消息)
与消息发送紧密相关的几行代码: 1. DefaultMQProducer producer = new DefaultMQProducer("ProducerGroupName") ...
- SVN的“Invalid authz configuration”错误的解决方法
公司有人离职后,我把他svn账号删除 然后就报这个错了,我检查了authz文件,完全看不出什么错误.... 网上的各种方法试一遍,无果. 蹲个厕所,继续查这个问题 看到一个答案: 给不存在的组配置权限 ...