三大移动Web开发框架哪个适合你?
经常浏览Developer.com的读者也许注意到了这点:我最近特别关注JavaScript驱动的移动应用开发解决方案,先后撰文介绍了众多的相关话题,包括jQuery Mobile、jQTouch、Sencha Touch和PhoneGap。我得承认,要搞清楚这一批前沿技术并非易事,于是我这回概述一下这些主要的移动开发解决方案的主要特性和优点(51CTO注:PhoneGap未作介绍,欲了解更多PhoneGap内容请移步51CTO专题:跨平台移动web中间件PhoneGap开发入门)。但愿这篇概述多少可以帮你确定哪一种解决方案最适合你项目的具体要求。 jQuery Mobile适合你吗? 差不多二十年来,处理跨浏览器的HTML和CSS不一致问题一直让许多开发人员颇为苦恼。而Ajax的出现更是加剧了这些问题,因为开发人员现在要处理新的问题:无数与JavaScript有关的浏览器不兼容问题和异常现象。后来出现了jQuery:由于可以对基本的JavaScript任务进行强大的抽象处理,jQuery大大减轻了编写复杂的跨浏览器代码方面的压力。难怪jQuery一下子火了起来。 眼下移动应用开发人员面临可能更艰巨的挑战,这不仅是由于要处理各种各样的移动浏览器不兼容问题,还由于需要设计合理布局,以便适合移动设备所固有的各种外观尺寸和有限资源。这时候,jQuery Mobile应运而生,它自诩是“一种针对触摸而优化的Web框架,面向智能手机和平板电脑”,可以充分发挥jQuery和jQuery UI(51CTO注:查看jQuery UI实例http://jqueryui.com/)的优势。 虽然jQuery Mobile目前仍是测试版(第二个测试版在去年8月3日宣布发布),但已经支持数量多得惊人的移动平台,包括安卓、黑莓、iOS和Windows Mobile等其他平台。同样出色的是,它还支持众多的窗口组件:由于jQuery Mobile对渐进增强(progressive enhancement)很重视,开发人员可以利用这些窗口组件,轻松创建统一的、跨移动设备的界面。务必将演示程序(51CTO注:查看演示程序地址http://jquerymobile.com/demos/1.0b2/#/demos/1.0b2/)装入到众多不同的设备上(包括你的桌面浏览器),领略一下界面是如何变化以适合目标设备的。 此外,务必从桌面浏览器里面来查看演示程序的源代码;连刚入门的jQuery用户也会注意到该程序的代码很注重全面隔离页面布局和JavaScript驱动的功能。你会看到,整个应用程序都在一个文档里面,每个“页面”及其组成部分使用与自定义属性有关的DIV来定义。比如说: - <div id="home" target="_blank">
- <h1>WJGilmore, LLC</h1>
- </div>
- <div>
- <p>Check back regularly for the latest information about Jason's books!</p>
- </div>
- <div>
- <h1>Copyright © 2011 W.J. Gilmore, LLC</h1>
- </div>
- /div>
jQuery Mobile的主要特性 虽然使用jQuery Mobile的理由有多个,但是下面三个理由显得尤为突出: - jQuery开发人员使用jQuery Mobile时会觉得驾轻就熟,那是由于两者使用共享的代码库。
- 如果目标用户群并不局限于使用某一种设备,关注跨平台兼容性这个优点很理想。
- 社区和企业的广泛参与促使像Dreamweaver CS 5.5这些广受欢迎的开发产品和像非常出色的Photo Swipe这一批值得关注的插件内置了对jQuery Mobile的支持。
|