最近常被问到是用 jQuery Mobile还是Sencha Touch,本人也比较关注这两个框架,试图从以下两方面发表点儿见解:
身家背景,都系出名门
1、jQuery Mobile 建立在jQuery 和 jQuery UI框架之上,很好的继承了jQuery支持多浏览器的特性,官方介绍支持 iOS, Android, Blackberry, Palm WebOS, Nokia/Symbian, Windows Mobile, Opera Mobile/Mini, Firefox Mobile。
优点:超多平台支持、入门简单传统div布局。
缺点:目前处于Beta阶段性能有待加强、UI支持比较简单不适合复杂交互。
2、ExtJS更名为Sencha后,Sencha Touch便是其中重要的一员,继承大哥ExtJS优点,SenchaTouch 同样具有整体UI布局的解决方案、华丽的界面,这些只需要JavaScript全部搞定。
优点:针对触摸屏丰富的UI设计支持复杂交互、纯JavaScript搞定布局、版本稳定性能尚可。
缺点:入门较不易需要javascript基础、支持平台较少(以Webkit浏览器为核心的Android,IOS,BlackBerry平台)。
从需求出发做选择
1、功能简单,只想让现有网站支持手机和平板电脑等移动设备,可考虑jQuery Mobile框架,入门简单而且支持较多平台。
2、想做客户端而且跨平台、丰富的交互,如果项目组有熟悉ExtJS的开发人员就更好了,请选择Sencha Touch。
各自的优缺点:
Sencha Touch 的优缺点
前不久基于JavaScript编写的Ajax框架ExtJS,将现有的ExtJS整合JQTouch、Raphaël库,推出适用于 最前沿Touch Web的Sencha Touch框架,该框架是世界上第一个基于HTML5的Mobile App框架。同时,ExtJS更名为Sencha,JQTouch的创始人David Kaneda,以及Raphaël的创始人也已加盟Sencha团队
- 这是一个独立的库,包括 UI 部件、DOM 操作、Ajax 以及其他
- 无需依赖其他库
- 采用以 JavaScript 为核心的方法,基本上不需要写 HTML
- 提供大的对象模型,提供更多的功能,但是学习周期很长
- 统一的编程代码结构和要求,良好组织的代码易于维护
- 提供内置的服务器和本地存储的抽象层,可在关系数据基础上轻松执行 CRUD 操作。
- 提供内置的工具用于创建 iOS 和 Android 本地运行的程序
- 比 jQuery Mobile 支持的设备要少
jQuery Mobile的优缺点
jQuery Mobile是jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。此框架简单易用。页面开发主要使用标记,无需或仅需很少 JavaScript。
此框架简单易用。页面开发主要使用标记,无需或仅需很少 JavaScript。
- JM 只是一个 UI 库,依赖于 jQuery 和 jQuery UI 的 DOM 操作、Ajax 和其他库
- 为了创建 UI 部件,你只需要编写 HTML 即可,JM 为了对这些 HTML 元素进行修饰
- 可方便的重用已有的 HTML 代码
- 一些简单的应用直接用 HTML 即可实现,无需 JavaScript
- JM 具有相对小的对象模型,可以快速轻松学习,特别是他是一个 jQuery 的插件
- JM 对代码没有特定的要求,这可能是非常灵活的,但维护难度也加大
- 易于和其他框架进行集
- 比 Sencha Touch 支持更多的设备
- 不依赖某个特定的供应商