Cordova探索之旅系列(一)

最早接触PhoneGap平台是在1年多之前,能够使用HTML、CSS和JavaScript跨平台来编写Android或者IOS设备程序,并且应用的核心代码不需要多少修改就可以移植,确实让我感觉的到它应该是未来移动设备开发的趋势。Web程序员,特别是前端程序员,能够轻松的通过Web技术来编写移动设备软件。

但是当时给我带来的感觉是应用的响应速度太慢,提供的API不全,能够实现的功能不多。PhoneGap经过1年多的沉淀,如今过头再来看PhoneGap,它又是什么样的呢?有哪些进步呢?

Cordova是什么?

Apache Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。

Cordova是一个设备API的集合,它允许手机开发者通过JavaScript去访问设备原生功能,例如相机,重力感应等。结合UI框架,例如jQuery Mobile,Dojo Mobile或者Sencha Touch,可以让开发者通过HTML,CSS和JavaScript开发手机应用。

当使用Cordova的API时,应用可以在没有任何原生代码(Java,Object-C等)的情况下构建。并且,虽然使用着Web开发技术,但是该应用却是在本机运行,而不是远程的Web应用)。

并且因为提供的JavaScript的API在多个设备平台都保持一致性并且基于web标准,所以,应用可以在几乎没有任何修改的情况下应用到各个不同的设备平台。

使用Cordova开发的应用仍然是使用平台的SDK打包,可以放置到每个设备平台的应用商店中。

Cordova提供了一套统一的JavaScript库,其背后使用平台对应的代码来驱动设备。Cordova支持的平台有:IOS,Android,Blackberry,Windows Phone,Palm WebOS,Bada和Symbian。

如何开始Cordova编程?

1.下载并安装node.js(如果你已经安装过,就不用了)

http://nodejs.org/

2.安装Cordova

1
sudo npm install -g cordova

3.创建应用程序

1
cordova create hello com.example.hello HelloWorld

4.添加应用平台

这里添加的是Android应用程序

你可能会得到如下信息:

Error: ERROR : executing command ‘ant’, make sure you have ant installed and added to your path.

说明你需要安装ant,方法如下:

1
2
brew update
brew install ant

然后添加应用平台

1
cd hello

首先进入到hello目录下

1
cordova platform add android

这里也可以删除一个应用平台

1
cordova platform rm android

通过ls命令

1
cordova platforms ls

可以查看你安装关于平台的信息,例如,我的是:

Installed platforms: android 3.3.0

Available platforms: blackberry10, firefoxos, ios

5.构建应用程序

在进行构建之前,先确保你的Android SDK配置好了。

需要下载Android的SDK,并设置Path到系统路径下。

安装Android SDK(Mac平台,下载解压缩就行)

配置SDK的Path到系统路径

1
touch ~/.bash_profile; open ~/.bash_profile

在profile文件中加一句话:

export PATH=${PATH}:/Users/twer/Downloads/adt-bundle-mac-x86_64-20131030/sdk/platform-tools:/Users/twer/Downloads/adt-bundle-mac-x86_64-20131030/sdk/tools

记得要指定你自己的路径。

最后还要执行profile将它更新到你的系统path下。

1
source ~/.bash_profile

然后你就可以开始构建了:

1
cordova build

当然你也可以正对某一个平台构建:

1
cordova build android

6.在模拟器上运行

1
cordova emulate android

此时,模拟器会启动,并自动安装应用,效果应该如下:

7.实体机上运行

将你的设备插到电脑上,然后运行命令:

1
cordova run android

会将应用安装到你的手机上。

时间: 2024-10-25 20:57:28

Cordova探索之旅系列(一)的相关文章

Cordova探索之旅系列(二)

在Cordova中有一个很重要的概念:插件. 插件会提供访问Cordova核心API的接口. 插件是一些附加的代码,它能够提供访问原生组件的接口.一般情况下,你都需要添加一些插件以启动Cordova设备级别的特性. 插件由官方和社区提供,可以在plugins.cordova.io上找到,当然还可以在命令行中去搜索插件. 从3.0之后,Cordova将所有设备的API都作为插件,并默认设置为是不启动的. 那么,如何添加插件呢?两种方式. 第一种是使用CLI命令行. 第二种是使用更低级别的命令行Pl

Cordova探索之旅系列(三)

自从3.0之后,Cordova默认是关闭所有关于设备原生特性功能的,所以我们要通过添加插件来启动原生特性. 这里以Accelerometer(加速度感应器)为例,来学习如何使用设备原生特性. 1.添加插件 首先,需要在工程目录下,通过CLI命令添加插件. 1 cordova plugin add org.apache.cordova.device-motion 通过ls命令,可以查看当前项目下,已经安装的插件. 1 cordova plugin ls 2.在config.xml文件中配置该特性

WCF探索之旅(五)——WCF与WebService的异同

前几篇文章我们简单的介绍了WCF以及如何使用它,今天我们来讨论一下WCF和WebService的异同. 相信大多数同学跟我一样,对于WebService有所了解,而且应该说你是先听说WebService,后听说还有个WCF的,对不对?那好,我们今天来一起看看,这两者有何不同. WebService是标准,是一种规范.严格来说WebService是一种行业标准,不是一种特定的技术.而WCF是一种WebService的实现.在WCF之前,微软系列中有ASP.NET Web Service,后来微软做

【Web探索之旅】第一部分:什么是Web?

内容简介 1.Web探索之旅:开宗明义 2.第一部分第一课:什么是Web? 3.第一部分第二课:Web,服务和云 4.第一部分第三课:Web的诞生史 Web探索之旅:开宗明义 大家好. 我们这个系列课程相对比较简单,比[C语言探索之旅],[C++探索之旅],[Linux探索之旅],[TCP/IP网络探索之旅]简单,会让大家在轻松中理解关于Web的方方面面. 您是否对Web感兴趣但是不知道什么是Web呢? 您是否觉得"网络黑客"很神秘? 您是否不清楚Internet和Web有什么区别?

【C语言探索之旅】 第二部分第二课:进击的指针,C语言的王牌!

内容简介 1.课程大纲 2.第二部分第二课: 进击的指针,C语言的王牌 3.第二部分第三课预告: 数组 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量类型

【C++探索之旅】第一部分第六课:控制流程,随心所至

内容简介 1.第一部分第六课:控制流程,随心所至 2.第一部分第七课预告:函数效应,分而治之 控制流程,随心所至 上一课<[C++探索之旅]第一部分第五课:简易计算器>比较简单,这一课也不难,却很重要. 其实目前来说,基础部分和<C语言探索之旅>有些类似.难免有些重复,毕竟C++从C语言借鉴了不少.不过小编保证之后进入C++的面向对象编程部分,才是精彩中的精彩.敬请期待~ 好了,扯回正题. 大家应该看过不少科幻片吧,其中很大一部分是说电脑发展起来成为人工智能和人类打架的(反正最终都

【C++探索之旅】第一部分第三课:第一个C++程序

 内容简介 1.第一部分第三课:第一个C++程序 2.第一部分第四课预告:内存的使用 第一个C++程序 经过上两课之后,我们已经知道了什么是编程,编程的语言,编程的必要软件,C++是什么,我们也安装了适合自己的一个IDE(Integrated Development Environment,就是"集成开发环境"的意思). 如果你真的要开始在Linux下编写程序,除了使用IDE之外(IDE集成了文本编辑器,编译器,调试器,运行程序等),也可以选择另一种难一些的方式:自己用某一种文本编辑

【C++探索之旅】第一部分第十二课:指针一出,谁与争锋

内容简介 1.第一部分第十二课:指针一出,谁与争锋 2.第一部分第十三课预告:第一部分小测验 指针一出,谁与争锋 上一课<[C++探索之旅]第一部分第十一课:小练习,猜单词>中,我们用一个小游戏来总结了之前几课学习的知识点. 现在,终于来到第一部分的最后一个知识点了,也是C++的基础部分的最后一个讲题.之后进入第二部分,就会开始面向对象之旅.因此,这一课也注定不平凡.系好安全带吧,因为马力要加足了! 指针这个C系语言的难点(著名的C语言里也有指针),令无数英雄"尽折腰",也

【Linux探索之旅】第四部分第三课:文件传输,潇洒同步

内容简介 1.第四部分第三课:文件传输,潇洒同步 2.第四部分第四课:分析网络,隔离防火 文件传输,潇洒同步 这一课的内容相对简单,所以我们慢慢享用. 经过上一课的学习,我们已经知道如何远程连接到其他电脑了.从今以后,你就可以在自己的电脑上运行命令,来控制远方的另一台电脑了,很酷吧. 我们继续探究Linux的奇幻网络世界.这个网络世界比较特别,也许你已经有所体会:前辈们做了大量努力,靠加密方法来保证网络间传输的数据的安全,以防我们私人的信息泄露,例如密码. 这一课我们来学习文件传输,主要分为以下