近来移动应用开发迅速受到很多公司的关注,他们寻求为现存的产品和应用程序添加移动展现或者“触点”。即便不是所有,大部分移动应用开发框架也都会适应某种现存的“桌面”开发平台。基于 Web 的框架则不同。业界当前采用 jQuery 来创建移动 web 应用程序(上个月发布了 jQuery Mobile Alpha 3 )。
在移动领域,除了对设备特定属性的支持之外,最主要的一个问题就是程序的大小,正如 Aaron Quint 所说:
压缩后的 jQuery 也大概有 40-50K,可能还会稍微多一些,此外,如果你想要 jQuery UI 和一些动画功能,那么就还需要 100K。对于移动设备来说,可能没有那么多空间。
JQM Alpha 3 现在已经精简到 17K,其中还有相关的 CSS 文件。
Enrique Ortiz还发现了 JQM 的其他优势:
- 总体上的简单性: 你可以主要使用标签驱动的方式开发页面,那样,你只需要使用很少或者不使用 JavaScript。
- 进一步改善和得体的降格: jQuery Mobile 哲学是要同时支持高端和性能较差的设备,包括那些不支持 JavaScript 的设备,并且还要尽可能提供最佳体验。
- 可访问性: jQuery 已经支持可访问的富 Internet 应用程序(WAI-ARIA),以有助于使用辅助技术让有残疾的访问者也能够访问网页。
- 小文件
- 主题
安装 JQM 很简单,只需要添加一个样式表文件和三个 JavaScript 文件:
此外,Frank 还提到,在移动领域 JQM 的关键优势就在于,它能够使用 AJAX 让用户界面更平滑:
JQM 把 Ajax 提升了一个层次,这是通过拦截页面请求,并在大多数情况下把这些请求转化为指定的 Ajax 调用达到的。最基本的结果是,当用户访问使用 JQM 构建的 web 应用程序时,只会修改页面的 DOM 结构,而不是每次都替换所有页面。
这种效果是通过使用 HTML5 的 data-* 属性达到的。在 HTML5 中,任何带有 data- 前缀的属性本质上都会被验证解析器忽略,而应用程序可以任意地拦截那些属性。JQM 依赖于 data-role 属性把它的核心功能组合成字符串。
当 JQM 应用程序从一个页面切换到下一个页面时,发生的主要动作就是内容 div 中的内容会换成新页面的内容。
我们可以使用 data-rel 属性请求窗口如何显示,当它显示出来的时候,data-transition 属性会告诉 JQM 做出相应的转换。我们可以使用 data-filter 属性来指定 data-role 列表的行为,而该列表可以基于输入的关键字来过滤列表的值。Frank 还说明了如何创建自定义的 data-* 属性,从而实现应用程序的特殊属性。
JQM 会在今年上半年发布。Frank 最后做出结论:
随着时间的推移,我们期望它能够整合到像 PhoneGap 之类的框架中,并且可能会整合到像 Appcelerator 的 Titanium 等开发环境中。
你认为基于 Web 的移动应用程序有前途吗? 这只是框架和开发是否简单的问题,还是移动应用程序非常特殊(因为用户会使用自己的客户端,并期望获得最好的用户体验和安全性)以致于基于 Web 的应用程序只会成为新平台上的边缘程序。
查看英文原文: Using JQuery Mobile and JSON to Create Mobile Applications
评论