Cordova是什么? 初学Cordova的人,虽然了解一点点,知道Cordova是用来将html, css, js变成app的,但并不知道到底是怎么用的,原理是什么。经常会有这样的困惑: 它是一个可以把H5代码变成iOS、安卓等原生代码的东西? 它是一个封装了H5浏览器的壳?可以装在iOS、安卓等平台的app,一打开这个APP就会访问我web app的内容? 还是一个web前端框架,用户使用手机自带浏览器访问我的web app就可以调用他手机的摄像头和麦克风?
1.它不会把你的前端页面变成 ios 原生的 objective-c 或者 android 的 java 代码,你的界面还是以网页形式呈现的,渲染在 Android 的 WebView 或 iOS 的UIWebView 中。 2.不太像壳,只是在运行在 WebView 中的 javascript 代码和原生代码之间建了一座沟通的桥梁,通过它可以用js去访问原生应用。 3.不是前端框架, bootstrap、angularjs、jqueryUI 这些是前端框架。cordova更像一个工具。
简单点理解,Cordova是一个工具,通过它可以将你做的html网页显示在WebView里面,而你网页中用到的JS可以通过他的API去调用原生的东西,比如照相机等。
但它做出来的app比原生做出来的app好在哪里呢,直白点说,简便,省钱。因为cordova app显示的页面全是你做的html页面,所以说你写一套code,就可以用在Android上,IOS上,以及Web上。不用去分别找Android工程师,IOS工程师。
接下来我们一步一步的介绍如何使用Cordova。学习Cordova做app,首先你要会html,js,还要会安卓的原生的东西。不然你还是别往下看了。
Cordova安装:
先安装Nodejs,再通过npm去安装cordova,npm install -g cordova。不会的自行百度。安装完成后执行cordova -v,如果显示cordova的版本,则安装成功。当然,做cordova app,也需要首先在电脑上将安卓的那些环境搭建起来,如sdk等。
创建第一个Cordova项目helloworld:
首先cd到一个指定目录下,执行cordova create hello com.example.hello HelloWorld,会为我们创建一个cordova项目hello。
接下来我们cd到hello下,执行cordova platform add android --save,会在platform下为我们添加一个android项目。(我写的所有的关于cordova的,都是针对Android的,iOS的几乎不会涉及)。
然后将android项目导入到我们的开发工具中,如eclipse。导入之后会有两个项目CordovaLib和MainActivity。我们只需要去关注这个MainActivity就行。运行这个项目,然后在我们的模拟器里显示cordova的欢迎页。至此,cordova android项目创建成功。下一章解释代码,介绍这个项目是如何运行的。