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