从八个方面让你快速了解cordova(一)

整体内容介绍
1、移动开发框架阵营
2、cordova框架介绍
3、cordova与react native比较
4、cordova使用场景
5、cordova安装与启动
6、hooks开发
7、cordova事件使用
8、cordova插件使用

一、移动开发框架阵营

  一般认为移动开发框架分为三个阵营:原生框架、webview框架、react native。

1、原生阵营
  指的是使用各个平台的原生语言进行app开发,如android使用Java、kotlin开发,ios使用objective-c、swift开发。
  优势:运行速度快,性能好,可以试验丰富的硬件资源;
  劣势:不能跨平台运行,开发难度大;

2、webview框架
  以cordova、phonegap、ionic为代表,可以让Web开发人员使用他们已经具备的HTML、CSS和JavaScript技能来开发应用。
  优点:快速上手,跨平台支持,一次开发多平台部署;
  缺点:性能相比原生差,硬件资源使用受限,通过webview来渲染的UI不理想;

3、React Native
  结合原生和webview框架的优势,规避不足,UI层要比WebView框架更原生,其余部分处于模拟层,以实现其易用性。

二、Cordova框架介绍

1、Cordova简介
  2011年,Adobe把PhoneGap的核心代码贡献给了Apache软件基金会,但保留了PhoneGap的商标所有权。Apache将PhoneGap核心代码命名为Apache Callback项目,后又更 名为Apache Cordova。
  cordova是一个开源的移动开发框架。允许你用标准的web技术-HTML5,CSS3和JavaScript做跨平台(android、ios、windows等)开发。应用在每个平台的具体执行被封装了起来,并依靠符合标准的API绑定去访问每个设备的功能,比如说:传感器、数据、网络状态。
  而PhoneGap是cordova的发行版本。
  Ionic也集成了ApacheCordova框架,可以直接用Ionic的命令来调用Apache Cordova的创建,编译,打包等功能。

2、cordova内部架构
image
  整个cordova包含三部分:web app、webview和plugins。 其中web app是可以自己开发的web代码,webview是针对每个平台开发的浏览器引擎,plugins是cordova针对手机硬件(如相机、电池、存储等)解耦出来的插件组合。

三、Cordova与react native对比

  Cordova这样的框架可以使用Web技术来开发移动UI,是因为它们在每个应用中都内嵌了Web浏览器,包括按钮、菜单和动画,都是在浏览器的网页中运行的。Cordova应用的UI就是运行在Web浏览器中的模拟世界,而浏览器又是运行在原生框架里的另一个模拟世界。
  一方面:React Native的UI要比WebView框架低一个层级,它直接运行在原生框架里,比Webview更原生。React Native直接使用了原生UI组件,而WebView框架是使用 HTML/CSS的WebUI来模拟原生UI.
  另一方面:React Native还可以让我们使用JavaScript来编写应用,同时使用类似于HTML和CSS的语法来开发UI。这无疑降低了Web设计师和开发人员的门槛。

  文章《React Native vs. Cordova、PhoneGap、Ionic,等等》文章中的图片形象的描述了他们之间的层级关系。
image
image
四、Cordova使用场景
  1、已经有了服务器端Web应用,不需要涉及后端代码修改,想尽快地发布到应用商店中。这时只需要将web应用拖到cordova项目对应的目录中就可以将服务器端web应用发布到移动端。
  2、用用户体验要求不高,并且没有太多交互相关的东西。
  如果非常重视用户体验或者交互信息较多的话,建议使用react native。

后续笔者会不断输出相关领域的优质内容,希望大家持续关注本帐号!

你可能感兴趣的:(从八个方面让你快速了解cordova(一))