使用 jQuery Mobile 和 JSON 创建移动应用程序

  • Jean-Jacques Dubray
  • 侯伯薇

2011 年 3 月 20 日

话题:SOA移动PHP架构语言 & 开发

近来移动应用开发迅速受到很多公司的关注,他们寻求为现存的产品和应用程序添加移动展现或者“触点”。即便不是所有,大部分移动应用开发框架也都会适应某种现存的“桌面”开发平台。基于 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 文件:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a1 /jquery.mobile-1.0a1.min.css" />

<script src="http://code.jquery.com/jquery-1.4.3.min.js"></script>

<script src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"> </script>

<script src="http://jquery.ibm.navitend.com/utils.js"></script> 

此外,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

SOA移动PHP架构语言 & 开发