基于Html5的移动端开发框架的研究
下面统计信息部分来自网络,不代表个人观点。请大家参考。
| 基于Html5移动端开发框架调查 | ||||||||||
| 序号 | 框架 | 简介 | 优点 | 缺点 | 备注 | 侧重点 | ||||
| 1 | PhoneGap | PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以调用。 | 1.可跨平台。phonegap框架帮我们解决了差异性,javascript与平台系统的连接由phonegap框架完成。成为连接移动终端的适配器,或者说中间件。 2.提供硬件访问控制。可调用加速计、摄像头、罗盘、通讯录、文档、地理定位、媒体、网络、通知(警告、声音和振动)、存储。 3.可利用成熟javascript框架。如:Ext js、jQuery。 |
1.性能差。运行速度慢,UI反应延时——这是个致命伤。(高端机影响不大) 2.不能完全跨平台。不同平台代码需要微调。 3.内存消耗大。 4.调试难度大。 |
官网:http://phonegap.com/ | 侧重于对硬件的访问控制 | ||||
| 2 | Ionic | Ionic 是一个强大的 HTML5 应用程序开发框架,号称 Advanced HTML5 Hybrid Mobile AppFramework 是 AngularJS 移动端解决方案 可以帮助您使用 Web 技术,比如 HTML、 CSS 和Javascript 构建接近原生体验的移动应用程序。 Ionic 主要关注外观和体验,以及和你的应用程序的 UI 交互,特别适合用于基于 Hybird 模式的 HTML5 移动应用程序开发。 Ionic 是一个轻量的手机 UI 库,具有速度快,界面现代化、美观等特点。为了解决其他一些UI 库在手机上运行缓慢的问题。 | 1.追求性能 运行速度快 2.轻量级框架 3.基于 Angularjs,支持 Angularjs的特性, MVC ,代码易维护 4.通过 SASS 构建应用程序。它提供了很多 UI 组件来帮助开发者开发强大的应用。 5.接近原生。 6.强大的命令行工具 |
1.Ionic是一个前段框架。不能完全取代PhoneGap和JavaScript框架的作用 2.需要结合插件使用。 |
官网:http://ionicframework.com/ | 侧重于前端的交互 | ||||
| 3 | Hbuilder(国产) | HBuilder是DCloud(数字天堂)推出一款支持HTML5的Web开发IDE。“快,是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块及很多配套,HBuilder能大幅提升HTML、js、css的开发效率。 | 1、HTML5语法、HTML5+语法、三大浏览器扩展语法,尽收HBuilder中。 2、每个浏览器发布新版后,一周内,其新增语法就收录入HBuilder。 3、强大到令你震惊的Jquery语法提示! 4、每个语法在哪个浏览器、哪个版本上是否可运行,这里都有。 5、没有比这里更全的语法库,也没有比这里更全的浏览器兼容性数据库。 |
1.云端编译,无法保证安全性。 2.不能完全跨平台。不同平台代码需要微调。 |
官网:http://dcloud.io/ | 侧重于编码实现 | ||||
| 4 | appcan(国产) | AppCan是国内Hybrid App混合模式开发的倡导者,AppCan应用引擎支持Hybrid App的开发和运行。并且着重解决了基于HTML5的移动应用"不流畅"和"体验差"的问题。使用AppCan应用引擎提供的Native交互能力,可以让HTML5开发的移动应用基本接近Native App的体验。 与Phonegap支持单一webview使用div为单位开发移动应用不同。AppCan支持多窗口机制,让开发者可以像最传统的网页开发一样,通过页面链接的方式灵活的开发移动应用。基于这种机制,开发者可以开发出大型的移动应用,而不是只能开发简易类型的移动应用。 AppCan提供强大的设备调用能力,电话、短信、相机、LBS、传感器、数据库等常用的手机功能,开发者可以通过JS接口调用,轻松构建移动应用。 |
1.跨平台:同时支持iOS、Android、Symbian、Windows Phone 2.原生体验:引入原生UI控件与交互支持(如Action Sheet等) 3.开发工具:基于Eclipse的开发工具,集成UI控件与应用管理 4.UI框架:提供强大的UI框架,更加易于实现页面布局与交互 5.设备API:支持各种手机设备调用,如电话、相机、传感器、定位等 6.本地打包:无需配置环境,无需编译,本地一键打包 7.插件机制:支持第三方原生插件,支持JS插件 8.代码加密:基于密钥的加密方式,无法破解,像混编一样保护html代码 统计分析:应用分平台安装数统计,应用启动和使用情况统计 9.开放平台:更具本土优势,已经对接Sina、QQ、百度等开放平台 10.技术支持:技术支持及时响应,重视开发者建议和反馈 |
1.AppCan免费版因需要把源代码上传到厂商的服务器上打包,对于企业开发来说源代码泄露安全性上有一定风险。企业版虽然可以解决,但企业版稳定尚待观察。 2.AppCan采用封装的组件,依赖性比较高。不是开源代码。 3.AppCan 不能很好的解决原生代码的功能。 |
官网;http://www.appcan.cn/ | |||||
| 5 | Wex5(国产) | WeX5应用快速开发框架(含完整的SDK API及全部源码),一次开发、跨端运行。 【定位】开发面向消费者和公众的开放应用系统 【适用】一般app、电商app、客服app、会员app、微店微商等 【前端】安卓app/苹果app/微信服务号/PC web app 【后端】后端数据处理组件,对接各主流技术平台 【费用】完全开源,彻底免费,无任何限制 |
1.高效精致的UI组件体系,基于jquery和bootstrap技术,采用增强的RequireJS模块化技术。 2.基于phonegap(cordova)框架,如相机、地图、LBS定位、指南针、通讯录、文件、语音、电池等。 3.可视化拖拽式集成开发环境IDE,全能力的调试支持和智能代码提示 |
1.使用范围有限:适用:一般app、电商app、客服app、会员app、微店微商等 2.用户量小,存在不稳定因素。 |
官网:http://wex5.com/ | |||||
| 6 | ApiCloud(国产) | APICloud是中国领先的“云端一体”的移动应用云服务提供商。APICloud推行“云端一体”的理念,重新定义了移动应用开发。APICloud为开发者从“云”和“端”两个方向提供API,简化移动应用开发技术,让移动应用的开发周期从一个月缩短到7天。APICloud由“云API”和“端API”两部分组成,可以帮助开发者快速实现移动应用的开发、测试、发布、管理和运营的全生命周期管理。 APICloud致力成为中国领先的移动垂直领域云服务商,帮助传统软件公司从B/S架构成功走向APP,帮助中国数百万web开发者转化成移动APP专家!。 |
1.提供开发的IDE。 2.提供数据云API、统计云API、推送云API |
与Hbuilder存在版权问题,抄袭Hbuilder | 官网:http://www.apicloud.com/ | |||||
| 结论: | ||||||||||
| 1.跨平台方面:大部分框架针对android和ios平台,需要做或多或少的代码调整,不能达到完全跨平台。 | ||||||||||
| 2.性能方面:根据不完全统计,Ionic的性能会更好一点。 | ||||||||||
| 3.代码实现方面:Hbuilder具有更高的效率。 | ||||||||||
| 4.PhoneGap出现最早,国内框架都是基于Phonegap开发出来的。 | ||||||||||
| 注意: | ||||||||||
| *关于框架的优缺点众说纷纭,从总体看,hybrid app并没有达到native app的实现效果。 | ||||||||||
| *各框架在实现过程中都会遇到不同程度的坑,请根据框架的侧重点谨慎选择应用的框架。 | ||||||||||
| *如果要基于Html5开发App,还需要进一步根据需求验证框架的可实施性、并进行不同框架的效果对比。 | ||||||||||
基于Html5的移动端开发框架的研究的更多相关文章
- 基于Html5的移动端APP开发框架
快速增长的APP应用软件市场,以及智能手机的普及,手机应用:Native(原生)APP快速占领了APP市场,成为了APP开发的主流,但其平台的不通用性,开发成本高,多版本开发等问题,一直困扰着专业AP ...
- 比较了一下基于PhoneGAP/JQ Mobile 等基于HTML5的Phone 开发框架
比较了一下基于PhoneGAP/JQ Mobile 等基于HTML5的Phone 开发框架,如果做APP客户端的化,想达到Native UI的效果,都是胡扯的,根本不可能. PhoneGAP 如果想达 ...
- B/S 端基于 HTML5 + WebGL 的 VR 3D 机房数据中心可视化
前言 在 3D 机房数据中心可视化应用中,随着视频监控联网系统的不断普及和发展, 网络摄像机更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用. 在监控摄像机数量的不断庞大的 ...
- 随应潮流-基于ABP+Angularjs现代化应用软件开发框架(1)-总体介绍
系列文章目录 随应潮流-基于ABP+Angulsrjs现代化应用软件开发框架(1)-总体说明 随应潮流-基于ABP+Angulsrjs现代化应用软件开发框架(2)-abp说明 随应潮流-基于ABP+A ...
- 赞!jsPDF – 基于 HTML5 的强大 PDF 生成工具
jsPDF 是一个基于 HTML5 的客户端解决方案,用于生成各种用途的 PDF 文档.使用方法很简单,只要引入 jsPDF 库,然后调用内置的方法就可以了.浏览器兼容性: IE 10, Firefo ...
- 基于HTML5技术的电力3D监控应用(三)
继(一)和(二)之后不少,不少网友问我移动终端的使用问题,因为我们项目这次采用Android平板终端,所以我对这方面有点肤浅的研究,这篇分享些项目经验总结,希望对大家有所帮助. 电力3D项目去年底刚立 ...
- 目前几款基于html5的前端框架:如Bootstrap、Foundation、Semantic UI 、Amaze UI
Bootstrap是由Twitter在2011年8月推出的开源WEB前端框架,集合CSS 和HTML,使用了最新的浏览器技术,为快速WEB开发提供了一套前端工具包,包括布局.网格.表格.按钮.表单.导 ...
- Wizard Framework:一个自己开发的基于Windows Forms的向导开发框架
最近因项目需要,我自己设计开发了一个基于Windows Forms的向导开发框架,目前我已经将其开源,并发布了一个NuGet安装包.比较囧的一件事是,当我发布了NuGet安装包以后,发现原来已经有一个 ...
- easyconf——基于AugularJS的配置管理系统开发框架
目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 ...
随机推荐
- 给Macbook装系统的网址
- 一些在IOS中关于JS、H5开发的网站
1.JSPatch 2.
- 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(三)Activity Indicators视图 学习笔记
当我们应用程序执行一个比较耗时的操作,我们需要给用户一个提示,那么这个提示比较好的方式方法呢就是 进度条 或者 一个齿轮转.我们就需要Activity Indicators组件 Indicato ...
- Android分辨率适配心得
关于Android分辨率适配,这个是Android开发很头疼的一个问题,也需要花费相当一部分开发时间处理的一个问题,往往一个界面怎么适配就得想半天,特别是新手,也经常有人问我是怎么适配分辨率的,我也不 ...
- linux下修改系统时间
一.查看时间: [root@localhost ~]# date2016年 11月 19日 星期六 12:46:37 CST 二.修改时间,修改系统时间 [root@localhost ~]# dat ...
- Android Design Support Library——Floating Action Button
Floating Action Button是一种悬浮操作的圆形按钮,继承自ImageView,可以通过android:src或者ImageView的任意方法,来设置FloatingActionBut ...
- 2013MPD上海6.22 PM 陆宏杰:通往卓越管理的阶梯 & 6.23AM Ray Zhang 产品创新管理的十八般武艺
MPD2天的内容,参加了5个课程,其中2个是管理的,分别是陆宏杰老师的<通往卓越管理的阶梯>和Ray Zhang大师的<产品创新管理的十八般武艺>.他们2个人都谈到了一个关于招 ...
- 编译时:virtual memory exhausted: Cannot allocate memory
一.问题 当安装虚拟机时系统时没有设置swap大小或设置内存太小,编译程序会出现virtual memory exhausted: Cannot allocate memory的问题,可以用swap扩 ...
- hibernate一对一关系实现
按照主键映射,按照外键映射 Address.hbm.xml: <?xml version="1.0"?><!DOCTYPE hibernate-mapping P ...
- java常用开发工具类之 图片水印,文字水印,缩放,补白工具类
import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...