1.jQuery mobile框架

2.bootstrap框架

3.ionic框架

4.Mobile Angular UI框架

5.Intel XDK框架

6.Appcelerator Titanium框架

7.Sencha Touch框架

8.Kendo UI框架

9.PhoneGap框架

10.mui框架

整理目前流行的跨平台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发布,需要将证书上传至服务器

参考:
Phonegap VS AppCan

使用案例:
我爱我家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的开发框架相关推荐

  1. 如何用天纵手机APP快速开发框架开发手机APP

    标题:如何用天纵手机APP快速开发框架开发手机APP 简介: 使用天纵软件快速开发平台开发手机APP不需要懂开发语言和进行编码工作,只需配置业务逻辑和界面样式即可.她颠覆了传统手机APP开发成本高.难 ...

  2. 新建android项目导包,Cordova开发App入门(一)创建android项目

    前言Apache Cordova是一个开源的移动开发框架.允许使用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发. 应用在每个平台的具体执行被封装了起来,并依靠符合标准的AP ...

  3. 利用python开发app实战

    我很早之前就想开发一款app玩玩,无奈对java不够熟悉,之前也没有开发app的经验,因此一直耽搁了.最近想到尝试用python开发一款app,google搜索了一番后,发现确实有路可寻,目前也有了一 ...

  4. java安卓app开发教程_[Android教程] Cordova开发App入门(一)创建android项目

    前言 Apache Cordova是一个开源的移动开发框架.允许使用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发. 应用在每个平台的具体执行被封装了起来,并依靠符合标准的A ...

  5. 【windows8开发】开发平台与开发框架

    开门见山,先把windows8 开发平台和开发框架分享给大家.       win8 App开发主要分成两部分,desktop app和metro app.右边蓝色的部分就是desktop app的部 ...

  6. python 开发app应用

    1.kivy模块 kivy是一个开源的,跨平台的Python开发框架,用于开发使用创新的应用程序. 简而言之,这是一个python桌面程序开发框架(类似wxpython等模块),强大的是kivy支持l ...

  7. 开发App,如何更好的进行技术选型

    目前很多的小公司和小团队在选择App的开发框架时,往往会受到成本.时间和预期效果的限定.如何在各种场景中更好的找到一个平衡,可以一起来讨论看看. 1. 介绍 Web APP(网页应用) 基于Web的系 ...

  8. 利用Python开发App

    我很早之前就想开发一款app玩玩,无奈对java不够熟悉,之前也没有开发app的经验,因此一直耽搁了.最近想到尝试用python开发一款app,google搜索了一番后,发现确实有路可寻,目前也有了一 ...

  9. 利用Python开发App,来一起看看他是怎么做的。

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 本文来自腾讯云,作者:Python小二 最近想到尝试用python开发一款app, ...

最新文章

  1. 用 Redis 处理 jsonwebtoken 生成的 Token
  2. vector can通信源码_汽车电子CAN网络dbc文件
  3. nginx 学习笔记(5) nginx调试日志
  4. sklearn:auc、roc_curve、roc_auc_score
  5. 四道微软面试经典算法题
  6. pandas中inplace_pandas中inplace参数
  7. 游戏数仓分析(三)SpringBoot项目对数据进行可视化展示,每日注册用户
  8. python怎么实现类似#define宏定义_Python系列学习笔记
  9. TCP/IP通信程序设计方式
  10. 史上最简单的决策树模型讲解
  11. 离线提取目标机hash
  12. 2021最新最细致的IDEA集成SVN工具的使用 (入门到精通)
  13. Java dicom查看_验证DICOM文件
  14. Android实现AirPlay,DriodAirPlay开发
  15. Ubuntu 切换中文目录为英文目录
  16. 深度学习中 GPU 和显存分析
  17. 键盘轴体怎么选,HHKB键盘来告诉你
  18. 唐仲英基金会:从“钢铁大王”到“十大慈善家”,他的一生如此传奇
  19. SMS发送WapPush
  20. LeetCode刷题记录(一)

热门文章

  1. 爆火的ChatGPT到底能做什么?5分钟带你进入AI的大门
  2. forest_train训练文件的生成代码
  3. ab 发送post请求 测试API性能
  4. [洛谷多校第三场] T176282 Mana Eel‘s Problem [分段前缀积]
  5. E. Eggfruit Cake
  6. Java 调用ffmpeg 实现视频编辑
  7. CC2530+PA(CC2590)开启功率放大模块功能说明
  8. springboot异常:Unrecognized field xxx , not marked as ignorable 问题
  9. 使用EasyExcel实现excel导出,支持百万大数据量导出-----超简单
  10. delete和delete[]的理解