当前位置: 代码迷 >> Web前端 >> 搬动Web App流行框架比较分析
  详细解决方案

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

热度:548   发布时间:2012-06-20 20:37:21.0
移动Web App流行框架比较分析
前段时间做HTML5 Web App的研究和设计,仔细了解了以下的流行Web app框架

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

 

 

 

 

 

Frameworks PhoneGap Titanium jQueryMobile jQTouch Sencha 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.com http://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都支持jquery
Sencha SDK Tools,包括slicer(用于把CSS3的图片) 和JSBuilder(合并和压缩js代码) 
开源许可 Apache 2.0 license 商业授权 Apache 2.0 license Apache 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基本一样,但特别针对现代的浏览器做了优化

  相关解决方案