基于Html5的移动端APP开发框架

快速增加的APP应用软件市场,以及智能手机的普及,手机应用:Native(原生)APP快速占领了APP市场,成为了APP开发的主流,但其平台的不通用性,开发成本高,多版本开发等问题,一直困扰着专业APP开发企业,和APP服务提供商。 安卓和IOS的操做方式,开发模式,界面UI显示方面的差异,也使得原生APP的不一样版本体验有很大的区别,光是作兼容性调测,都要花费开发企业很多的时间。

   近年来,另外一种应用形态——基于HTML5技术的Web App也如雨后春笋般出现,因而关于原生APP与HTML5 APP 谁将成为将来的王者,APP开发者们一直争论不休。

html5最主要的优点: 
一、一套HTML5 APP 便可同时适用安卓及IOS平台,甚至WP平台,适配性和统一体验较好。
  二、版本服务器端更新,用户永远看到的都是最新的APP端信息。
  三、手机客户端及存储数据较少,节约用户手机空间
  四、技术难度较低,开发工做量小,开发成本低。
 **局限性:**
 用户体验大幅落后于原生APP,操做的流畅度,程序的执行效率,与原生APP都有较大差距;HTML5 APP 受网速的影响较大,在网络状况较差的状况下,HTML5 APP 每每连打开都困难,而原生程序,基本都能顺利打开运行(只是速度较慢)。

 因公司项目需求,近端时间研究html5 app开发框架,发现有不少,查资料总结下。

介绍那些app适合HTML5开发:http://www.educity.cn/wenda/11971.htmljavascript

1.框架:PhoneGap
官网:http://phonegap.com/
简介: PhoneGap是一个用基于HTML,CSS和JavaScript的,建立移动跨平台移动应用程序的快速开发平台。它使开发者可以利用iPhone,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,能够调用。
优势:1.可跨平台。phonegap框架帮咱们解决了差别性,javascript与平台系统的链接由phonegap框架完成。成为链接移动终端的适配器,或者说中间件。
2.提供硬件访问控制。可调用加速计、摄像头、罗盘、通信录、文档、地理定位、媒体、网络、通知(警告、声音和振动)、存储。
3.可利用成熟JavaScript框架。如:Ext jsjQuery
缺点:1.性能差。运行速度慢,UI反应延时——这是个致命伤。(高端机影响不大)
2.不能彻底跨平台。不一样平台代码须要微调。
3.内存消耗大。
4.调试难度大。css

2.框架:Ionic
官网:http://ionicframework.com/
简介: 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.强大的命令行工具
3.可利用成熟javascript框架。如:Ext js、jquery
缺点:1.Ionic是一个前段框架。不能彻底取代PhoneGap和JavaScript框架的做用
2.须要结合插件使用。html

3.框架:Hbuilder(国产)
官网:http://dcloud.io/
简介: HBuilder是DCloud推出一款支持HTML5的Web开发IDE。“快,是HBuilder的最大优点,经过完整的语法提示和代码输入法、代码块及不少配套,HBuilder能大幅提高HTML、js、css的开发效率。
优势:一、HTML5语法、HTML5+语法、三大浏览器扩展语法,尽收HBuilder中。
二、每一个浏览器发布新版后,一周内,其新增语法就收录入HBuilder。
三、强大到令你震惊的Jquery语法提示!
四、每一个语法在哪一个浏览器、哪一个版本上是否可运行,这里都有。
五、没有比这里更全的语法库,也没有比这里更全的浏览器兼容性数据库
缺点:1.云端编译,没法保证安全性。
2.不能彻底跨平台。不一样平台代码须要微调。前端

4.框架:appcan(国产)
官网:http://www.appcan.cn/
简介:AppCan是国内Hybrid App混合模式开发的倡导者,AppCan应用引擎支持Hybrid App的开发和运行。而且着重解决了基于HTML5的移动应用”不流畅”和”体验差”的问题。使用AppCan应用引擎提供的Native交互能力,可让HTML5开发的移动应用基本接近Native App的体验。
与Phonegap支持单一webview使用div为单位开发移动应用不一样。AppCan支持多窗口机制,让开发者能够像最传统的网页开发同样,经过页面连接的方式灵活的开发移动应用。基于这种机制,开发者能够开发出大型的移动应用,而不是只能开发简易类型的移动应用。
AppCan提供强大的设备调用能力,电话、短信、相机、LBS、传感器、数据库等经常使用的手机功能,开发者能够经过JS接口调用,轻松构建移动应用。
优势:1.跨平台:同时支持iOSandroid、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 不能很好的解决原生代码的功能。html5

5.框架:Wex5(国产)
官网:http://wex5.com/
简介: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.用户量小,存在不稳定因素。java

6.框架:ApiCloud(国产)
官网:http://www.apicloud.com/
简介:APICloud是中国领先的“云端一体”的移动应用云服务提供商。APICloud推行“云端一体”的理念,从新定义了移动应用开发。APICloud为开发者从“云”和“端”两个方向提供API,简化移动应用开发技术,让移动应用的开发周期从一个月缩短到7天。APICloud由“云API”和“端API”两部分组成,能够帮助开发者快速实现移动应用的开发、测试、发布、管理和运营的全生命周期管理。
APICloud致力成为中国领先的移动垂直领域云服务商,帮助传统软件公司从B/S架构成功走向APP,帮助中国数百万web开发者转化成移动APP专家!。
优势:1.提供开发的IDE。
2.提供数据云API、统计云API、推送云API
缺点:与Hbuilder存在版权问题,抄袭Hbuildermysql

七、JQuery Mobile
1.官方网站:http://jquerymobile.com/
2.性质:UI框架
3.说明:这个大名鼎鼎的JQuery的移动版本。跟JQuery同样是一个轻量级的JS库,同样使用HTML5+CSS+JS的技术。应为轻量级,因此在web加载时比Sencha有一点优点。缺点显而易见,UI控件太少了。由于JQuery Mobile 太普及了,也有不少第三方的扩展控件库例如JQuery Mobile Touch。比较有意思的是Sencha Touch 也融合了JQuery Mobile Touch。
4.受权:彻底开源,放心使用jquery

不一样的开发框架有不一样的优缺点,使用哪一个还须要根据需求针对性的选用android