原文地址:https://www.cnblogs.com/songxingzheng/p/6482697.htmlhtml
整理目前流行的跨平台WebApp开发技术的特色,仅供参考。前端
每一个框架几乎都包含如下特性:react
- 使用 HTML5 + CSS + JavaScript 开发
- 跨平台重用代码
- 丰富的UI库
- 提供访问设备原生API的 JavaScript API 包装器
- 解决原生开发中机型适配的难题
- 提供打包、部署的工具或服务
- 都须要学习自身封装的 JavaScript API
筛选框架的要求:android
- 性能:运行速度快
- UI:提供接近原生的UI体验
- 插件多,文档丰富,开发效率高,容易扩展和维护
- 知足业务需求
Cordova
Cordova 和 PhoneGap 的区别?
PhoneGap 是 Apache Cordova 的一个分发版,就像 Ubuntu 是 基于 Linux 的一个发行版,其代码库也基于 Cordova,只是 PhoneGap 关联了 Adobe 的一些额外的商业工具或服务,例如 PhoneGap Build 和 Adobe Shadow,来帮助开发者简化开发。
此外,二者提供的CLI工具、项目结构有差别,如:
Cordova 把 config.html 放在项目目录下,而 PhoneGap 把它放在www 目录下。git
优势:程序员
- 开源免费,社区生态成熟,插件丰富
- 支持离线场景应用
- 开发工具选择空间大
缺点:github
- 只提供基础访问设备的接口,须要本身搭配其余UI框架和JavaScript框架来搭配
UI框架web
参考资料
Cordova中文文档
建立第一个App(英文)
利用 Cordova+Famous 建立高性能跨平台APP
使用 Cordova 和 Vue.js 建立移动应用apache
Ionic
官网地址:http://www.ionic.wang/ (有案例)
Ionic = Cordova + AngularJS + 一套样式库。react-native
技术要求
优势:
- 基于 Cordova
- 漂亮的界面,追求性能,专一原生,免费开源
- Angular JS MVVM 开发理念,数据双向绑定
- 继承自 Cordova,可使用 Cordova 的插件
缺点:
- Angular JS 学习路线陡峭
- Ionic 框架相比于原生的 Cordova 有所差别,Cordova 某些官方插件可能不适用于Ionic
AppCan
经过AppCan IDE集成开发系统、云端打包器等,快速开发出Android、iOS、WP平台上的移动应用。
有两种方式建立项目:IDE 和云端,而且IDE能够同步到云端。
免费用户有100M空间、50个应用的限制。
优势
- 提供一体化解决方案,方便环境搭建、开发、调试、发布
- 框架自带UI包,包含经常使用控件样式
- 框架对UI、动画渲染进行过优化,反应速度快
- 支持本地打包、云端打包
- 基于密钥的代码加密
缺点
- 不开源,没法修改、优化底层代码
- 分大众版和企业版,大众版免费,但功能有缺失,详细见附录
- 暂不支持自行开发控件/,没法调取android原生功能
- 框架自带功能过多,致使应用安装包偏大。
- 文档偏少
- 部分系统没法使用IDE进行调试
- 只能在服务器端发布,没法在本地发布
- IOS发布,须要将证书上传至服务器
参考:
Phonegap VS AppCan
使用案例:
我爱我家App 等
附录:
企业版和大众版主要有如下几点区别:
- 开发环境:
企业版走独立的开发环境与打包环境,企业版配备macmini打包服务器,能够实现本地环境下建立项目,调试,打包;
大众版不论是建立项目仍是打包都须要依托于官方的服务器,须要在联网的状况下进行,打包须要将源码上传到官方服务器进行打包;
- 版本控制:企业版独立控制引擎插件的版本;
大众版官方统一维护,官方换哪一个版本开发者就须要使用哪一个版本,没有选择;
- 协同开发:企业版可经过macmini后台分配开发者或者应用管理员账号,可实现协同开发。
大众版不能知足协同开发
- 企业版有推送API接口
大众版没有
- 售后服务:企业版有独立的售后团队
大众版的入口是论坛
Dcloud


特色:
云编译必须联网获取AppId
优势:
- 国内厂商,中文文档
- 对HTML5的性能、工具、能力都作了深刻扩展,提供 IDE 、云服务等帮助节省时间
- MUI 更贴近国内App使用习惯,提供模块的详细例子,如登陆,我的中心
缺点:
- 部分操做须要具有原生开发经验,如离线打包App
- 新产品仍然有bug,还需改进
学习路线:

APICloud
优势:
缺点:
- 更新速度快,版本不够稳定
- 面向不懂App开发人群,不适合程序员和科技公司,过分依赖会下降技术水平
- 涉嫌抄袭DCloud大量代码
React Native
可以在Javascript和React的基础上得到彻底一致的开发体验,构建世界一流的原生APP。
仅需学习一次,编写任何平台。(Learn once, write anywhere)
缺点:
- 初次学习成本高
- 必须在不一样平台下写两套代码,依赖暴露的接口
总结
通过一番对比,感受 Cordova 和 DCloud 更适合本次项目。
缘由:
Cordova
- 生态成熟,有更多可搭配工具使用,开源代码可自由定制;
- 前端框架: famous 或 Framework7
DCloud
- 国产中的开源,免费,性能不错
- 提供云服务帮助打包和部署、测试,下降一部分门槛,减小时间;
- 前端框架:MUI
其余框架不适合的缘由:
APICloud
AppCan
Ionic
React Native