几款移动跨平台App开发框架比较
整理目前流行的跨平台WebApp开发技术的特点,仅供参考。
每个框架几乎都包含以下特性:
- 使用 HTML5 + CSS + JavaScript 开发
- 跨平台重用代码
- 丰富的UI库
- 提供访问设备原生API的 JavaScript API 包装器
- 解决原生开发中机型适配的难题
- 提供打包、部署的工具或服务
- 都需要学习自身封装的 JavaScript API
筛选框架的要求:
- 性能:运行速度快
- UI:提供接近原生的UI体验
- 插件多,文档丰富,开发效率高,容易扩展和维护
- 满足业务需求
Cordova
Cordova 和 PhoneGap 的区别?
PhoneGap 是 Apache Cordova 的一个分发版,就像 Ubuntu 是 基于 Linux 的一个发行版,其代码库也基于 Cordova,只是 PhoneGap 关联了 Adobe 的一些额外的商业工具或服务,例如 PhoneGap Build 和 Adobe Shadow,来帮助开发者简化开发。
此外,两者提供的CLI工具、项目结构有差异,如:
Cordova 把 config.html 放在项目目录下,而 PhoneGap 把它放在www 目录下。
优点:
- 开源免费,社区生态成熟,插件丰富
- 支持离线场景应用
- 开发工具选择空间大
缺点:
- 只提供基础访问设备的接口,需要自己搭配其他UI框架和JavaScript框架来搭配
UI框架
- Framework7
- MSUI | Github
- Famous
为任意屏幕创建流畅、复杂的UI。
免费和开源的JavaScript渲染引擎。着名引擎的独特之处在于其JavaScript渲染引擎和3D物理引擎。
官网 | Github | Hello World
使用 Famo.us 创建高性能移动 UI
参考资料
Cordova中文文档
创建第一个App(英文)
利用 Cordova+Famous 创建高性能跨平台APP
使用 Cordova 和 Vue.js 创建移动应用
Ionic
官网地址:http://www.ionic.wang/ (有案例)
Ionic = Cordova + AngularJS + 一套样式库。
技术要求
- HTML + CSS + AngularJS
优点:
- 基于 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发布,需要将证书上传至服务器
使用案例:
我爱我家App 等
附录:
企业版和大众版主要有以下几点区别:
- 开发环境:
企业版走独立的开发环境与打包环境,企业版配备macmini打包服务器,可以实现本地环境下创建项目,调试,打包;
大众版不管是创建项目还是打包都需要依托于官方的服务器,需要在联网的情况下进行,打包需要将源码上传到官方服务器进行打包; - 版本控制:企业版独立控制引擎插件的版本;
大众版官方统一维护,官方换哪个版本开发者就需要使用哪个版本,没有选择; - 协同开发:企业版可通过macmini后台分配开发者或者应用管理员帐号,可实现协同开发。
大众版不能满足协同开发 - 企业版有推送API接口
大众版没有 - 售后服务:企业版有独立的售后团队
大众版的入口是论坛
Dcloud
特点:
云编译必须联网获取AppId
优点:
- 国内厂商,中文文档
- 对HTML5的性能、工具、能力都做了深入扩展,提供 IDE 、云服务等帮助节省时间
- MUI 更贴近国内App使用习惯,提供模块的详细例子,如登录,个人中心
缺点:
- 部分操作需要具备原生开发经验,如离线打包App
- 新产品仍然有bug,还需改进
学习路线:
APICloud
优点:
- 不懂原生开发,不懂后台语言就可完成APP
缺点:
- 更新速度快,版本不够稳定
- 面向不懂App开发人群,不适合程序员和科技公司,过度依赖会降低技术水平
- 涉嫌抄袭DCloud大量代码
React Native
能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP。
仅需学习一次,编写任何平台。(Learn once, write anywhere)
缺点:
- 初次学习成本高
- 必须在不同平台下写两套代码,依赖暴露的接口
总结
经过一番对比,感觉 Cordova 和 DCloud 更适合本次项目。
原因:
Cordova
- 生态成熟,有更多可搭配工具使用,开源代码可自由定制;
- 前端框架: famous 或 Framework7
DCloud
- 国产中的开源,免费,性能不错
- 提供云服务帮助打包和部署、测试,降低一部分门槛,减少时间;
- 前端框架:MUI
其他框架不适合的原因:
APICloud
- 生态不好,名声不好,面向群体不适合;
AppCan
- 闭源,商业化产品,免费版限制太多;
Ionic
- AngularJS 学习曲线陡峭,需要时间;
React Native
- 学习成本高
几款移动跨平台App开发框架比较的更多相关文章
- 【转】几款移动跨平台App开发框架比较
原文地址:https://www.cnblogs.com/songxingzheng/p/6482697.html 整理目前流行的跨平台WebApp开发技术的特点,仅供参考. 每个框架几乎都包含以下特 ...
- 十款APP开发框架
对于大部分Web开发人员,HTML.CSS和 Java是他们最熟练的开发技能.然而,开发一个原生的移动App,对他们来说却是完全陌生的领域.因为开发Android,iOS 或 Windows Phon ...
- Sublime插件库新成员基于APICloud快速开发跨平台App
互联网时代强调用户体验,那什么是HTML5跨平台App开发者的编程体验?“不剥夺.不替换开发者喜欢的开发工具,就是人性化的用户体验”,APICloud给出了这样的答案! 重磅发布“多开发工具支持策略” ...
- Reapp - 下一代的 Hybrid App 开发框架
Reapp 与 React Native 有着惊人的相似之处,二者都使用 React 来创建应用程序用户界面的框架.然而,在底层机制上这两个框架之间却具有明显的哲学差异.React Native 将 ...
- 用于HTML5移动开发的10大移动APP开发框架【转】
今天给大家介绍10款有关HTML5移动开发APP开发框架,这几款框架都是比较优秀的移动 Web 开发框架,能够帮助开发者更加高效的开发移动Web应用.. 十款移动APP开发框架: 1.jquery m ...
- 基于Html5的移动端APP开发框架
快速增长的APP应用软件市场,以及智能手机的普及,手机应用:Native(原生)APP快速占领了APP市场,成为了APP开发的主流,但其平台的不通用性,开发成本高,多版本开发等问题,一直困扰着专业AP ...
- 混合APP开发框架资料汇总
Ionic(ionicframework)一款接近原生的Html5移动App开发框架 会html css js就可以开发app,Ionic基于angualrjs框架是一个专注于开发移动wap以及app ...
- 几个移动web app开发框架
几个移动web app开发框架 一.总结 1.有amaze ui,有app.js(登录注册界面用到的) 二.几个移动web app开发框架 jQuery Mobile jQuery Mobile框架 ...
- 去它的h5,我还是用js写原生跨平台app吧
智能手机功能越来越强大,已经在逐渐替代电脑的作用.百度.腾讯.阿里的移动端日活数也在逐步的赶上甚至超越电脑端用户.叫喊着“mobile first”的公司越来越多,App开发者应运而生,且队伍日趋庞大 ...
随机推荐
- 9款原型设计工具与Sketch的强强组合,轻松构建交互原型!
原型设计的发展历史经历了纸上原型.静态线框设计.到现在的可交互式原型.作为设计过程中最初始的阶段,设计师们对原型设计的要求也越来越高.因此,如今的原型设计工具格局也发生了很大的变化. Sketch对于 ...
- 利用PHP脚本辅助MySQL数据库管理3-删除重复表索引
<?php $dbi = new DbMysql; $dbi->dbh = 'mysql://root:mysql@127.0.0.1/coffeetest'; $map = array( ...
- Emacs, Nano, or Vim 编辑器“三剑客”
# Vim 强大,多种模式相互切换,不同于传统“录入式“写东西 对后续两个编辑器不熟悉 # nano 退出ctrl + x http://man.linuxde.net/nano # emacs ht ...
- Java环境编写
首先安装jdk,本系统中jdk安装在D:\jdk:jre安装在D:\Jre: 然后开始配置环境变量: JAVA_HOME:D:\jdk; JRE_HOME:D:\jre; CLASSPATH:.;%J ...
- Oracle导入的常见语句
登录sql > sqlplus / as sysdba 创建表空间sql > create tablespace TABLESPACE datafile 'e:\tables1.dbf' ...
- Mathematics | Mean, Variance and Standard Deviation
Mean is average of a given set of data. Let us consider below example These eight data points have t ...
- 1-10假期训练(hdu-2059 简单dp)
题目一:传送门 思路:水题,模拟即可 题目二:传送门 思路:dp,决策每个充电站是否要充电.(决策只有搜索,DP两种解决方法) (1)考虑状态的个数,n+2个,因为除了n个还有位置0,终点len两种状 ...
- Java数据类型的转换
Java数据类型,从小到大排序 byte ,short ,int ,long ,float, double,char 1.小数据类型转换大的数据类型,自动转换 int a = 3; double b ...
- exec函数
概念 当进程调用一种exec函数时,该进程执行的程序完全替换为新程序,新程序从main函数开始执行.调用exec并不创建新进程,所以前后的进程ID并未改变.exec只是用磁盘上的一个新程序替换了当前进 ...
- VSCode 设置侧边栏字体大小;Visual Studio Code改变侧边栏大小
1.代码改写,进入默认安装的如下路径 C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\resources\app\out ...