移动Web App流行框架比较分析

来源:互联网 发布:心事谁人知歌词意思 编辑:程序博客网 时间:2024/05/17 15:18
前段时间做HTML5 Web App的研究和设计,仔细了解了以下的流行Web app框架

Native APP、Web APP、Hybrid APP特性对比     Native AppWeb AppHybrid App开发成本跨平台需要安装首次安装实时增量更新支持支持系统API调用开发灵活度对AppStore依赖

 

 

 

 

 

FrameworksPhoneGapTitaniumjQueryMobilejQTouchSencha Touch介绍PhoneGap是一个开源的开发框架,使用HTML、CSS和JavaScript来构建跨平台的的移动应用程序,它使开发者能够利用iPhone、Android、Palm、Symbian、WP7、Bada和Blackberry智能手机的核心功能——包括地理定位、加速器、联系人、声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。Titanium 是一个跟手机平台无关的开发框架,用来开发具有本地应用效果的Web应用。当前主要支持 iPhone 和 Android 手机。
主要提供的API包括:

2D/3D animations
Geo-location, compass, and maps
Augmented reality features
Social app authentication and native client support for email
SOAP or REST API calls
Audio, video, and image capture and playback
Taps into local filesystem and SQL lite databases
Accesses photo gallery or address data针对所有流行移动设备平台的统一的,基于HTML5的跨平台UI框架,构建在稳定的jQuery and jQuery UI基础上。轻量级代码,重视渐进增强,支持灵活,简单的主题设计jQTouch 是一个 jQuery 的插件,主要用于手机上的 Webkit 浏览器上实现一些包括动画、列表导航、默认应用样式等各种常见UI效果的 JavaScript 库。支持包括 iPhone、Android 等手机。Sencha Touch2是高性能的HTML5移动应用开发框架,让开发者能开发可以运行在iOS, Android, BlackBerry快速和有表现力的应用
提供了50个内置组件,状态管理和内建MVC系统网站http://phonegap.com/http://www.appcelerator.com/http://jquerymobile.com/http://jqtouch.comhttp://www.sencha.com/设计目标实现跨平台的基于HTML的移动应用,使用JavaScript来调用API与对应平台的SDK进行交互,以启动手机的GPS、震动、重力感应等功能Titanium更注重提供原生的UI而只支持iOS+Android
Titanium框架具有如下几个方面的特点:

支持多平台(Linux、Mac、Windows、移动设备)
使用Web技术加快软件开发速度
支持Web中内嵌多种编程语言
支持对本地APIs的访问
通过Appcelerator网络云服务,基于Titanium的应用可以更容易的打包、测试和部署
本地功能的模块化,可动态加载指定的功能模块
强大灵活的语言扩展,用户在Titanium框架中可以很方便的扩展多种动态语言Jquery mobile秉行"write less, do more"的原则,致力于帮助开发者开发出兼容最多平台与设备的高质量,自定义的web应用.无须针对每个设备或OS单独开发。目前Jquery Mobile已经支持所有A级浏览器,尽管有少部分的css3以及动画不能很少的执行基于jQuery,但是其侧重点主要是为基于WebKit的浏览器提供经过优化的支持。因而,如果你打算一心锁定使用基于iOS或安卓的设备的用户,那么jQTouch可能比较合适。基于EXTJS的全功能框架框架类型设备能力框架设备能力框架+js代码转化原生代码的能力UI框架UI框架基础框架+UI框架支持的平台iPhone、Android、Palm、Symbian、WP7、Bada和Blackberry等iOS+Android支持iPhone、Android、Palm、Symbian、WP7、Bada和Blackberry等,具体参考
http://jquerymobile.com/gbs/http://jquerymobile.com/gbs/针对IOS、Android提供经过优化 浏览器兼容性浏览器无关浏览器无关支持常见的主流浏览器,不限于webkit内核
Firebox Mobile (10 Beta)
Skyfire 4.1 
Opera Mobile 11.5
Dolphin browser
UC Browser
Chrome Desktop 11-17 - Tested on OS X 10.6.7 and Windows 7
Firefox Desktop 4-9 - Tested on OS X 10.6.7 and Windows 7
Internet Explorer 7-9 - Tested on Windows XP, Vista and 7
Opera Desktop 10-11 - Tested on OS X 10.6.7 and Windows 7基于WebKit的浏览器提供经过优化的支持(Chrome和Safari) 性能一般好具备英文和中文文档,demo,wiki和社区现在已经被Sencha合并,可能后续会不再支持 文档和示例支持具备英文文档,demo,wiki和社区资料一般网上资料比较多资料少一般集成IDE和云端打包支持使用各平台自己的IDE打包
Dreamweaver CS5.5支持android和IOS打包
Adobe PhoneGap Build云端打包使用Titanium IDE打包不需要特定IDE
很多IDE都支持jquery和jquery Mobile不需要特定IDE
很多IDE都支持jquerySencha SDK Tools,包括slicer(用于把CSS3的图片) 和JSBuilder(合并和压缩js代码) 开源许可Apache 2.0 license商业授权Apache 2.0 licenseApache 2.0 license 开源许可是GNU GPL license v
如果用于商业,则有3种商业许可证,视发行数量付费与否
参考http://www.sencha.com/products/touch/license/学习曲线低
提供设备能力相关的13组API,并且支持Plugin
开发时需要使用各平台自己的IDE打包高
所有的东西都通过调用js API实现,然后在发布时编译成native code
需要使用Titanium IDE打包一般
采用了以HTML和CSS为中心的方法来开发页面一般
与jQuery Mobile一样,jQTouch也采用了以HTML和CSS为中心的方法来开发页面,使用JavaScript专门致力于添加事件、动画及其他功能高
使用ExtJs方式实现界面
Sencha Touch是开发框架当中功能最丰富的,不过学起来比较困难


最后提一下 JQ.Mobi 和 Zepto.js,这2个都是针对webkit优化的类jquery框架,api和jquery基本一样,但特别针对现代的浏览器做了优化