cordova Ionic 和cordova的区别是什么(项目总结)
来源:互联网 发布:正规矩阵奇异值 编辑:程序博客网 时间:2024/06/09 01:55
现在的项目是移动端的,所以需要用cordova调用原生的设备,例如摄像头等,然后就是由于之前接触过ionIC,所以就它们之间的区别特意总结了一下。
很多新朋友ionic基础教程都学完了,还是不知道ionic 和cordova 是什么关系
ionic是什么:
Ionic(ionicframework)一款开源的HTML5移动App开发框架,是AngularJS移动端解决方案,Ionic以流行的跨平台移动app开发框架phoengap为蓝本,让开发者可以通过命令行工具快速生成Android iOS移动app应用
phoengap是什么?
PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,android,Palm,Symbian,WP7,WP8,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动.
可能有些新手还是不明白,继续往下看:
通俗的讲:ionic是一款基于angularjs的html5移动app开发框架
phonegap就是一款可以打包并且可以让js调用原生的移动app框架
问题来了?
那我不用命令安装ionic 可以使用ionic开发app吗?答案是可以得。
就可以把ionic当作一款Html5 移动app框架,把phonegap/cordova 当作打包 并且调用原生的框架就可以了
至于:为什么ionic也可以打包,上面也说了,ionic的打包插件是基于phonegap/cordova的
首先我们需要明确以下几个概念:
1.即使我们将移动端web页面做得和原生应用及其相似,在我们的页面中也无法像原生应用那样调用原生的能力,当然通过输入框触发键盘、图库、拍照等操作不在这里“调用原生能力”的范畴。
2.单纯的web页面不能提交到应用商店被用户使用。
然后,我们分别就它们之间的关系做出解释:
Ionic和Angular
首先要明确的是Ionic是Angular的衍生品,Angular是单独的js库,和jQuery一样能够独立用于开发应用,而Ionic只是对Angular进行了扩展,利用Angular实现了很多符合移动端应用的组件,并搭建了很完善的样式库,是对Angular最成功的应用样例。即使不使用Ionic,Angular也可与任意样式库,如Bootstrap、Foundation等搭配使用,得到想要的页面效果。
Ionic/Angular和Cordova
可能会有人被问道:“Cordova比Ionic/Angular好吗?”,这就很尴尬了,根本是毫无意义的问题。它们在混合开发中扮演的是不同的角色–Ionic/Angular负责页面的实现,而Cordova负责将实现的页面包装成原生应用(Android:apk;iOS:ipa)。就像花生,最内层的花生仁是Angular,花生仁的表皮是Ionic,而最外层的花生壳则是Cordova。包装完成之后我们的页面才有可能调用设备的原生能力,最后才能上传到应用商店被用户使用。
Ionic/Angular和Cordova插件
关于Cordova插件要明确以下几点:
Cordova插件的作用是提供一个桥梁供页面和原生通信,首先我们的页面不能直接调用设备能力,所以需要与能够调用设备能力的原生代码(android:Java;ios:OC)通信,此时就需要Cordova插件了。
Cordova插件能够再任何Cordova工程中使用,和使用什么前端框架(如Ionic)无关。
Ionic 2中封装了Ionic Native,方便了Cordova插件的使用,但在Ionic 2中仍然可以像Ionic 1中一样使用Cordova插件,Ionic Native不是必须的。
即使在Ionic 2中使用了Ionic Native,也首先需要手动添加插件,如:cordova plugin add cordova-plugin-pluginName。
- cordova Ionic 和cordova的区别是什么(项目总结)
- cordova Ionic 和cordova的区别是什么(项目总结)
- cordova和ionic安装总结
- ionic cordova 创建自定义项目
- ionic+angularjs+cordova项目说明
- ionic与Cordova的学习(补充)
- PhoneGap和Cordova的区别
- win 安装ionic和cordova
- npm安装Ionic和Cordova
- nodejs安装cordova和ionic
- Mac下安装ionic和cordova,并生成iOS项目
- cordova+Ionic的安装配置
- 基于Ionic+Cordova+Bmob的开源项目实战
- ionic项目之cordova自定义插件的配置
- 关于搭建cordova和ionic环境过程中遇到的坑总结
- MAC OSX环境下cordova和ionic的安装配置
- cordova和ionic 中使用碰到的问题
- 混合开发项目总结一 (cordova插件的定义和使用)
- 知识点--String、StringBuilder、StringBuffer
- java中tomcat重启时加载动态库XXX.dll报错“java.lang.UnsatisfiedLinkError: already loaded in another classloader”
- 并查集入门
- matplotlib学习之scatter()函数--颜色印射
- comma.ai实践2
- cordova Ionic 和cordova的区别是什么(项目总结)
- Linux下编译安装python3
- python 条件,循环
- Linux 的Apache服务之https与网页重写
- sftp上传文件
- org.springframework.dao.InvalidDataAccessApiUsageException: (错误记录,级联删除错误)
- 多目标进化算法(MOEAs)概述
- Hive2.0函数大全(中文版)
- iOS 关于不死后台