混合app开发用什么技术
混合app开发的技术有以下6种:1. Cordova;2. Lonic;3. React Native;4. 阿里weex;5. 谷歌 Flutter;6. AppCan。混合app是指介于网页app、原生应用之间的app,混合app只有一个WebView,里面访问的是一个网页app。
一、Cordova
Apache Cordova是一个开源的移动开发框架。允许你用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发。应用在每个平台的具体执行被封装了起来,并依靠符合标准的API绑定去访问每个设备的功能,比如说:传感器、数据、网络状态等
优点:
1) 跨平台,开发简单,学习成本低
2) 框架多,插件多,可自定义插件
3) 发展最早,社区资源丰富
缺点:
1) WebView性能低下时,用户体验差,反应慢
2) 毕竟是老外的框架,中文文档资源少
3) 调试不方便,既不像原生那么好调试,也不像纯web那种调试
4) 只提供基础访问设备的接口,需要自己搭配其他UI框架和JavaScript框架来搭配
学习资料:
Cordova中文文档
创建第一个App
利用 Cordova+Famous 创建高性能跨平台APP
使用 Cordova 和 Vue.js 创建移动应用
二、lonic
ionic是一个轻量的手机UI库,具有速度快,界面现代化、美观等特点。为了解决其他一些UI库在手机上运行缓慢的问题,它直接放弃了IOS6和Android4.1以下的版本支持,来获取更好的使用体验
Ionic = Cordova + AngularJS + 一套样式库
优点:
1) 基于 Cordova
2) 漂亮的界面,追求性能,专注原生,免费开源
3) Angular JS MVVM 开发理念,数据双向绑定
4) 继承自 Cordova,可以使用 Cordova 的插件
5) 轻量级框架,专注原生,让你看不出混合应用和原生的区别
缺点:
1) Angular JS 学习路线陡峭
2) Ionic 框架相比于原生的 Cordova 有所差异,Cordova 某些官方插件可能不适用于Ionic
学习资料:
ionic 官方网站
ionic 官方文档
Github 地址
三、React Native(facebook开源的基于reactJs的RN)
优点:
1) 能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP。
2) 仅需学习一次,编写任何平台。(Learn once, write anywhere)
缺点:
3) 初次学习成本高
4) 必须在不同平台下写两套代码,依赖暴露的接口
学习资料:
中文官方网站
四、阿里weex(阿里巴巴开源的基于Vue.js)
Weex是2016年6月由阿里巴巴推出的一个动态化的高扩展跨平台解决方案,支持iOS、安卓、YunOS及Web等多端开发部署。
优点:
1) Weex 的结构是解耦的,渲染引擎与语法层是分开的,也不依赖任何特定的前端框架
2) 目前主要支持 Vue.js 和 Rax 这两个前端框架。
3) 渲染 Weex 页面时和渲染原生页面一样。
4) 一套基础的内置组件
5) 不需要安装复杂的环境,运行环境简洁、调试工具也还好,容易做降级处理,特别适合开发单个页面
缺点:
1) 文档更新不及时,资料不多
2) 坑比较多,前端
学习资料:
Weex开发教程
五、谷歌 Flutter(Flutter是谷歌的移动UI框架, Dart 语言)
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。
优点:
1) 快速开发,Flutter的热重载可帮助您快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以在亚秒内重载,并且不会丢失状态
2) UI界面比较漂亮,使用Flutter内置美丽的Material Design和Cupertino(iOS风格)widget、丰富的motion API、平滑而自然的滑动效果和平台感知,为您的用户带来全新体验。
3) 不会原生可以直接开发
4) 原生性能比较好
六、AppCan(移动云平台)
AppCan是基于HTML5技术的Hybird跨平台移动应用开发工具。开发者利用HTML5+CSS3+JavaScript技术,通过AppCan IDE集成开发系统、云端打包器等,快速开发出Android、iOS、WP平台上的移动应用。
有两种方式创建项目:IDE 和云端,并且IDE可以同步到云端。
免费用户有100M空间、50个应用的限制。
优点:
1) 支持四大主流系统:Android,IOS,Symbian,Windows Phone
2) 提供一体化解决方案,方便环境搭建、开发、调试、发布
3) 框架自带UI包,包含常用控件样式
4) 框架API丰富
5) 支持本地打包、云端打包
6) 基于密钥的代码加密
7) 技术支持相应及时
8) 框架对UI、动画渲染进行过优化,反应速度快
缺点:
1) 不开源,无法修改、优化底层代码
2) 分大众版和企业版,大众版免费,但功能有缺失,详细见附录
3) 暂不支持自行开发控件/,无法调取android原生功能
4) 框架自带功能过多,导致应用安装包偏大。
5) 文档偏少
6) 部分系统无法使用IDE进行调试
7) 只能在服务器端发布,无法在本地发布
8) IOS发布,需要将证书上传至服务器
学习资料:
Phonegap VS AppCan
官方网站