1、jQuery Mobile
jQuery
Mobile 是 jQuery 在手机上和平板设备上的版本。jQuery Mobile
不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery
Mobile开发团队说:能开发这个项目,我们非常兴奋。移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站。
2、jQTouch
jQTouch 是一个 jQuery 的插件,主要用于手机上的 Webkit 浏览器上实现一些包括动画、列表导航、默认应用样式等各种常见UI效果的 JavaScript 库。支持包括 iPhone、Android 等手机。
3、DHTMLX Touch
DHTMLX
Touch是一个免费的HTML5/JavaScript框架,专门为触摸屏设备而优化。为您带来快速开发工艺精美的移动Web应用程序的能力。
DHTMLX Touch UI
Designer是一个可视化的编辑器用于构建移动用户界面。它能够帮您以最少的编码构建一流的用户界面。在其主页上提供一些示例可以展示DHTMLX
Touch强大的用户界面。包括一个menu app for the iPad (适用于开发餐厅应用) 和Book Shop
(一个电子书店应用)。
常用的移动APP开发框架:
框架:PhoneGap
PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。
优点:
可跨平台。phonegap框架帮我们解决了差异性,javascript与平台系统的连接由phonegap框架完成。
提供硬件访问控制。可调用加速计、摄像头、罗盘、通讯录、文档、地理定位、媒体、网络、通知。
可利用成熟javascript框架。如:Ext js、jQuery。
缺点:
性能差。运行速度慢,UI反应延时。
不能完全跨平台。不同平台代码需要微调。
内存消耗,调试难度大。
框架:Ionic
Ionic 是一个强大的 HTML5 应用程序开发框架, Ionic 主要关注外观和体验,以及应用程序的 UI 交互,特别适合用于基于 Hybird 模式的 HTML5 移动应用程序开发。 Ionic 是一个轻量的手机 UI 库,具有速度快,界面现代化、美观等特点。
优点:
轻量级框架,运行速度快。
于 Angularjs,支持 Angularjs的特性, MVC ,代码易维护。
通过 SASS 构建应用程序,接近原生。
缺点:
Ionic是一个前段框架。不能完全取代PhoneGap和JavaScript框架的作用。
需要结合插件使用。
框架:Hbuilder(国产)
HBuilder是DCloud(数字天堂)推出一款支持HTML5的Web开发IDE。“快,是HBuilder的最大优势。
优点:
跨平台:同时支持iOS、Android、Symbian、Windows Phone。
开发工具:基于Eclipse的开发工具,集成UI控件与应用管理。
本地打包:无需配置环境,无需编译,本地一键打包。
代码加密:基于密钥的加密方式,无法破解,像混编一样保护html代码。
技术支持:技术支持及时响应,重视开发者建议和反馈。
缺点:
AppCan免费版因需要把源代码上传到厂商的服务器上打包,对于企业开发来说源代码泄露安全性上有一定风险。企业版虽然可以解决,但企业版稳定尚待观察。
AppCan采用封装的组件,依赖性比较高。不是开源代码。
ppCan 不能很好的解决原生代码的功能。
Wex5(国产)
WeX5应用快速开发框架(含完整的SDK API及全部源码),一次开发、跨端运行。
优点:
高效精致的UI组件体系,基于jquery和bootstrap技术,采用增强的RequireJS模块化技术。
基于phonegap(cordova)框架,如相机、地图、LBS定位、指南针、通讯录、文件、语音、电池等。
可视化拖拽式集成开发环境IDE,全能力的调试支持和智能代码提示。
缺点:
使用范围有限:适用:一般app、电商app、客服app、会员app、微店微商等。
用户量小,存在不稳定因素。
总结:
跨平台方面:大部分框架针对android和ios平台,需要做或多或少的代码调整,不能达到完全跨平台。
性能方面:根据不完全统计,Ionic的性能会更好一点。
PhoneGap出现最早,国内框架都是基于Phonegap开发出来的。
注意:
各框架在实现过程中都会遇到不同程度的坑,请根据框架的侧重点谨慎选择应用的框架。如果要基于Html5开发App,还需要进一步根据需求验证框架的可实施性、并进行不同框架的效果对比。
下面给出部分框架的具体优势,比较后可以选出适合自己的1, jQTouch
jQTouch易用性强,相关文档也很全面。它的特色是在 使用HTML,CSS和JavaScript创建iPhone App方面拥有出色的能力。jQTouch使用渐进增强的方案,在您相应的HTML顶层来实现像iPhone那样的用户体验。它简单易用,提供了一个基础的小工具集以及动画方案,开发人员只需要编程控制其动态行为即可。
不过有简单测试中发现app的性能存在一定的问题,页面在转换时可能出现跳转或者缺失的情况,以及在响应tap事件的时候还有周期性延迟。该项目在技术上还活跃着,不过原作者的进展和部署都显得太慢了。
只需要遵守MIT的license许可就可以使用jQTouch了
2, jQueryMobile
jQuery Mobile是这个领域的新丁,2010年8月才正式宣布成立,但是已经迅速进展到功能丰富的Alpha 2测试版本了。jQuery Mobile跟jQTouch相比很相似,但是更加标准,更有适应性,感觉很像jQTouch的后继版本,对用户接口和style的支持范围更加宽广了。
jQuery Mobile的性能是不稳定的,(虽然比jQTouch好一些)特别是在响应TAP事件的动画延迟补偿的时候。此外,还缺少一些关键的程序hook,所以不能轻松地让app更加具有动态性能。例如:当一个页面启动的时候事件触发了,这时候却无法通知响应的代码页面将转向哪个用户接口,也不能传递附加的信息给处理模块。针对上述问题,创建工作区来解决还是可行的,但是在这里作者希望其将来的版本能从jQTouch那里学习一下,并把现在的功能缺陷处理掉。
jQuery Mobile的相关文档资料很零散但是有所改进,,(请注意,jQuery Mobile是和jQuery UI相辅相成的,并不是建在单纯jQuery之上的)
想获得jQuery Mobile只需获得MIT或者GPL2 license。
3, Sencha Touch
这是个与Ext JS框架完全不同的产物,其方案与jQTouch/jQuery完全不同:Sencha生成自己的DOM(基于用JavaScript创建的对象)代替了先前存在的HTML增强方式。如此,使用Sencha工作的感觉不像是web编程,而更像是使用Java或者Flex等技术来做app的样子。比起jQuery来,Sencha的感觉更像是YUI。
sencha跟其竞争对手们相比,扩展性强了很多:它拥有大量的用户接口组件,直接的iPad支持,拥有JSON和HTML5线下存储技术使得存储和数据绑定更加方便。(使用Sencha的数据结构来操作app的数据十分酷~它可以实时响应列表的更新)此外,Sencha还是唯一在工具栏上支持内嵌的对象支持,其他方式都是滚轮列表的样子。
在测试程序中,使用Sencha与jQTouch/jQuery相比,虽然app很明显地不那么轻量级,但是其性能和可靠性方面明显提高了,不过其初始化加载时间略慢。
当使用库library或者框架frame进行开发的时候,不遵守框架或者用自己的方式通常都不会获得成功。但Sencha的支持范围足够宽广,这意味着可以使用Sencha的开发方式来实现任何需求。
在文档方面,Sencha做的不太好,虽然很广泛,但是又有很多旧版本的老漏洞没有及时更新,在这些框架中与bug作斗争,调试过程浪费了很多时间,因为文档不够健全,很多问题难以追踪或理解。而在开发者论坛响应作者提问的频率还算较高,不过最终感觉还是不太够。Sencha提供的付费技术支持起价是$300每年,
获取Sencha需要遵守GPL3 license,以及在某种不是GPL标准又很相似LGPL的授权下也能用,以及遵循非商业license也可以获得。
4,TitaniumMobile
与Sencha Touch很相似,Appcelerator公司的Titanium Mobile可以让您使用Javascript API来编写app。不过与Sencha不同的是,Titanium把代码编译成Native的iPhone或Android app,这意味着它并不是一个真正的Web框架,而是一个兼容层或者编译器。(请注意Titanium Mobile的近亲Titanium Desktop是一个基于web的,可以使用HTML /js来编写桌面封装的本地应用的一款软件)
这么说来Titanium允许web开发人员使用JavaScript和一点点XML之类的其他相关技术,可以实现高性能、更换皮肤很方便的Native App,而不需要额外去学习Objective-C或者Cocoa Touch等技术了。
不过这个优点也是其致命的缺点,只能作出Titanium所支持的平台上面的应用,被它们的开发工具限制住了。想证明这一点只需要换一个不是iPhone的平台上来跑一下就知道了。同时,Titanium的调试器也不怎么样,不能使用XCode方式运行或者调试,就算在其仿真器上面程序跑的还算不错,还是需要自己去实际机器上自己再找问题。