什么是cordova?

目录

  • 什么是cordova?
    • 历史和对比
    • cordova有什么?
    • cordova支持系统
    • 安装
    • 基本命令
      • 1.创建项目
      • 2.添加平台
      • 3.运行app
    • 注意事项
    • cordova插件
    • cordova优化
    • 相关资料

cordova是PhoneGap贡献给Apache的开源项目,是一个可以使用标准WEB技术:HTML5、CSS3、JavaScript,进行移动app开发的跨平台核心引擎。

他能使你的一套代码同时运行在多个平台上,属于第一代混合应用开发解决方案。相比其他方案,这个学习成本最低。适合做较小的项目。如果是大规模的复杂项目,使用cordova方案会有一定的性能问题和兼容性问题。

历史和对比

从时间出现顺序上来看,主流的混合应用开发方案如下:
Cordova ->React Native -> Weex -> Flutter
cordova是基于web技术实现,仍然有大量的轻量级项目在使用这个技术。特别是如果项目使用vue作为主要开发技术,选择跨平台方案时,往往会首选cordova。最早出现于2012年,于2012-2015年间非常活跃。(事实上我也好久不用这个东西了,最近翻出来完全是因为VUE的火爆,而Cordova可以将VUE跨平台发布)
RN是JavaScript开发+原生渲染的开发方案,由Facebook主导开源。出现于2015年。
Weex和RN一样,是JavaScript开发+原生渲染的开发方案,由阿里巴巴主导。出现于2016年。
Flutter是使用自绘UI+原生的开发方案,属于第三代方案(2019年开始流行),使用的语言是Dart,由google主导。

比较特别的是uni-app相对小众(但是在国内流行,因为可以开发微信小程序),其vue部分,实际上还是使用了cordova的相关技术和思路,而其nvue部分,说白就是weex,因此属于一二代技术方案混合的产物。

具体的对比,另写一篇。

cordova有什么?

Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。

除此之外,你还可以:
1.使用别人的cordova插件,进而使用相关跨平台功能。
2.自定义cordova插件,完成js代码到app平台原生代码的交互。

cordova支持系统

Cordova支持如下移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。
一般情况下,我们只需要用到iOS和Android就可以了。

安装

可以直接使用npm进行安装。

npm install -g cordova.

基本命令

1.创建项目

cordova create <path>。

查询命令相关选项

cordova help create

2.添加平台

创建项目之后,你需要给项目添加平台,使得其可以在某个平台上运行。

cordova platform add <platform name>。
## for example
cordova platform add android

如果你想知道可以添加哪些平台,可以运行。

cordova platform

3.运行app

完成相关开发之后,使app运行在相关平台上。

cordova run <platform name>
## for example
cordova run browser.

注意事项

cordova只是提供了一个跨平台的工具,并不能帮你解决不同平台上的所有开发问题,特别是每当平台出现新的版本,例如iOS发布新版本,android发布新版本,这时候你的代码也许需要做相应调整。所以拥有一定的不同平台上的开发经验也是必须的。

cordova的插件也是一样,如果某个插件太久没有更新,那么你使用的时候,就要小心了。

cordova插件

cordova只是提供了基础的跨平台功能,前文提到,还可以引用别人的插件,这部分网上很容易搜索到相关使用方法。

但是,很多时候,我们需要自己定制一些功能,
那么,我们如何自己制作并且使用插件呢?请看此文:
如何创建cordova插件
如何创建一个引入Module的Cordova插件

cordova优化

修改cordova底层以支持input直接打开照相机或图片库

相关资料

官网:https://cordova.apache.org/
中文官网:http://cordova.axuer.com/

开发文档:https://cordova.axuer.com/docs/zh-cn/latest/index.html

Cordova使用入门简介入门教程相关推荐

  1. android 教程概要,Android精通教程-第一节Android入门简介

    前言 大家好,我是 Vic,今天给大家带来Android精通教程-第一节Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cea ...

  2. Android精通教程-Android入门简介

    前言 大家好,我是 Vic,今天给大家带来Android精通教程-Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cease ...

  3. Android视频录制从不入门到入门系列教程(一)————简介

    一.WHY Android SDK提供了MediaRecorder帮助开发者进行视频的录制,不过这个类很鸡肋,实际项目中应该很少用到它,最大的原因我觉得莫过于其输出的视频分辨率太有限了,满足不了项目的 ...

  4. python爬虫教程入门-零基础入门Python爬虫不知道怎么学?这是入门的完整教程

    原标题:零基础入门Python爬虫不知道怎么学?这是入门的完整教程 这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑 ...

  5. 「刘一哥GIS」系列专栏《QGIS入门实战精品教程(配套案例数据)》

    「刘一哥GIS」系列专栏<QGIS入门实战精品教程(配套案例数据)>全新上线了,欢迎广大GISer朋友关注,一起探索GIS奥秘,分享GIS价值! 本专栏以实战案例的形式,深入浅出地介绍了Q ...

  6. 人工智能 - paddlepaddle飞桨 - 入门之安装教程

    人工智能 - paddlepaddle飞桨 - 入门之安装教程 快速安装 PaddlePaddle支持使用pip快速安装, 执行下面的命令完成CPU版本的快速安装: pip install -U pa ...

  7. 掌握 Ajax,第 1 部分: Ajax 入门简介

    2019独角兽企业重金招聘Python工程师标准>>> 掌握 Ajax,第 1 部分: Ajax 入门简介 理解 Ajax 及其工作原理,构建网站的一种有效方法 Ajax 由 HTM ...

  8. python零基础入门教程-零基础入门Python爬虫不知道怎么学?这是入门的完整教程...

    原标题:零基础入门Python爬虫不知道怎么学?这是入门的完整教程 这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑 ...

  9. python教程吾爱破解_2020年最新python入门到精通教程

    2020年最新python入门到精通教程 资源共享吧良心论坛,一直用心为每位会员服务,希望大家能学有所成,今天为大家分享一套2020年最新python入门到精通教程,如果你是0基础想学习python这 ...

最新文章

  1. SpringBoot面试题及答案 110道(持续更新)
  2. 查看OpenStack版本
  3. 密码学基础知识(五)序列密码
  4. 路易斯安那州立大学计算机科学,西北路易斯安那州立大学
  5. 使用Synchronized块同步方法
  6. arcgis在面内创建随机点
  7. 清华大学《操作系统》(十八):管程于信号量
  8. phpcms 怎样实现PC端、手机端的双模版
  9. 关于MFC下多线程,在线程中创建非模态对话框以及消息传递
  10. 地统计之检查空间自相关
  11. java jxl.jar_jxl.jar官方下载-jxl.jar(java操作excel) 免费版 - 河东下载站
  12. MATLAB中画柱状图
  13. win10没有realtek高清晰音频管理器_Win10如何让电脑睡眠不断网?电脑睡眠状态不断网继续下载的方法...
  14. Excel读写工具类
  15. ip地址转换htonl的用法
  16. 深度学习速成版01---神经网络
  17. 融云红包上线 要让每一款App都能“抢红包”
  18. 转 c#性能优化秘密
  19. IIS中FTP登陆用户名密码都对但进不去的另一种原因
  20. 51单片机小车的立项书_毕业论文:基于51单片机智能避障小车的设计报告(范文1)...

热门文章

  1. Windows下编译Android安卓版QGroundcontrol
  2. java中如何删除文件或清除文件夹下的所有文件
  3. python快速入门【五】---- 面向对象编程、python类
  4. 【Win11尝鲜】Win11安装需求检测、iso镜像文件、直接升级助手
  5. Linux常用开源库
  6. 小心隔墙有眼!Wi-Fi 变狗仔还能全息成像?
  7. matlab if语句解函数,Matlab:if语句和abs()函数在变步长ODE求解器中
  8. easyui常用图标
  9. Safari 浏览器 16.0 发布(含独立安装包下载)
  10. 【论文解读--力控电机+四足机器人载体设计】(Cheetah mini)A Low Cost Modular Actuator for Dynamic Robots