最早接触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

应用程序将被安装到你的手机。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

Cordova探险系列(一个)的更多相关文章

  1. Cordova探险系列(三)

    自从3.0之后.Cordova默认是关闭全部关于设备原生特性功能的,所以我们要通过加入插件来启动原生特性. 这里以Accelerometer(加速度感应器)为例,来学习怎样使用设备原生特性. 1.加入 ...

  2. Cordova入门系列(二)分析第一个helloworld项目 转发 https://www.cnblogs.com/lishuxue/p/6015420.html

    Cordova入门系列(二)分析第一个helloworld项目   版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的 ...

  3. Cordova入门系列(三)Cordova插件调用 转发 https://www.cnblogs.com/lishuxue/p/6018416.html

    Cordova入门系列(三)Cordova插件调用   版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了cordova android项目是如何运行的,这一章我们介绍cordova的核心 ...

  4. Cordova入门系列(四)自定义Cordova插件--showToast

    前三篇Cordova入门系列,简单讲解了Cordova,以及如何调用Cordova插件,今天我们讲解一下如何自己做一个插件. 自定义插件,就是自己写一些安卓java代码,然后和js代码以及配置文件,封 ...

  5. Cordova入门系列(一)创建项目 转发 https://www.cnblogs.com/lishuxue/p/6008678.html

    版权声明:本文为博主原创文章,转载请注明出处 Cordova是什么? 初学Cordova的人,虽然了解一点点,知道Cordova是用来将html, css, js变成app的,但并不知道到底是怎么用的 ...

  6. Cordova入门系列(一)创建项目

    Cordova是什么? 初学Cordova的人,虽然了解一点点,知道Cordova是用来将html, css, js变成app的,但并不知道到底是怎么用的,原理是什么.经常会有这样的困惑: 它是一个可 ...

  7. Cordova入门系列(二)分析第一个helloworld项目

    版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的那个helloworld项目的代码,分析其运行. MainActiv ...

  8. Cordova入门系列(三)Cordova插件调用

    版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了cordova android项目是如何运行的,这一章我们介绍cordova的核心内容,插件的调用.演示一个例子,通过cordova插件, ...

  9. MVC系列——一个异常消息传递引发的思考

    前言:最近在某个项目里面遇到一个有点纠结的小问题,经过半天时间的思索和尝试,问题得到解决.在此记录一下解决的过程,以及解决问题的过程中对.net里面MVC异常处理的思考.都是些老生常谈的问题,不多说, ...

随机推荐

  1. WCF之添加自定义用户名密码认证

    1.创建WCF服务应用以及调用客户端(请自行google).  2.创建X509证书       cmd 进入  C:\Program Files\Microsoft SDKs\Windows\v6. ...

  2. mindmanager2012打开文件出现runtime error r6025 解决方式

    关于mindmanager 2012启动无法执行,提示c++错误 ---------------------------Microsoft Visual C++ Runtime Library---- ...

  3. C#之异步编程

    1 异步编程的重要性 C#5.0最重要的改进是提供了更强大的异步编程,C#5.0仅增加两个关键字Async和Await,使用异步编程,方法调用是后台运行(通常在线程和任务的帮助下),并且不会阻塞调用线 ...

  4. Eclipse中的SVN的冲突解决方案详解

    版本冲突原因: 假设A.B两个用户都在版本号为100的时候,更新了kingtuns.txt这个文件,A用户在修改完成之后提交kingtuns.txt到服务器,这个时候提交成功,这个时候kingtuns ...

  5. ecshop 后台批量上传商品 完整上传

    ecshop 后台批量上传商品,之所以无法上传,是因为后台上传php文件方法中没有导入商品原图路径 将ecshop根目录中的admin/goods_batch.php文件全部修改为 <?php ...

  6. 关于多线程的一个例子(UI实时显示)

    在开发Window应用程序的时候,经常需要在界面上显示出已经执行到什么步骤了,拿一个简单例子来说,创建一个Winform程序,在窗体上访一个Button和一个Label,点击Button时做100次循 ...

  7. windows phone 7 通过麦克风录音,并且播放

    原文:windows phone 7 通过麦克风录音,并且播放 //模拟XNA的框架(凡是在wp7中应用xna的都必须先模拟此类) public class XNAAsyncDispatcher : ...

  8. bestcoder Round#52 1001(最短路+状压dp)

    求从1点出发,走遍所有的点,然后回到1点的最小代价. 每个点可以走若干遍. 如果每个点只能走一遍,那么设dp[i][s]为走完s状态个点(s是状态压缩),现在位于i的最小花费. 然后枚举从哪个点回到原 ...

  9. java 线程 新类库中的构件 countDownLatch 使用

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlhbmdydWkxOTg4/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  10. 广东省-IT红黑榜排名公司名称

    红榜Top100 Order Company Name Point Change  1 百富计算机技术(深圳)有限公司  94.00 --  2 中国网通广州分公司  88.00 --  3 深圳市汇 ...