使用 Ruby on Rails 和 Eclipse 开发 iPhone 应用程序之 2 :向客户端显示 iPhone 内容

来源:互联网 发布:中国网络零售市场规模 编辑:程序博客网 时间:2024/05/01 19:28

本系列的 第 1 部分 采用了一个现有的 Ruby on Rails Web 应用程序,然后对它进行增强,供 iPhone 用户使用。第 1 部分集中讲解必要的客户端支持,这种支持允许向 iPhone 用户发送不同的内容,并允许接受方选择特定的内容,然后全屏显示该站点。第 2 和第 3 部分集中讲解了实际发送给用户的内容,以及如何使这些内容符合 iPhone 或 iPod touch 用户的期望。第 2 部分集中讲解将下钻列表作为导航方法的常见用途,第 3 部分集中讲解表单、分组及其他更高级的特性。

在本文中,您将使用层叠样式表(CSS)和 JavaScript 库 iUI 处理 iPhone 内容。iUI 库拥有与 Apple 的 iPhone 人机界面指南(human-interface guidelines)相匹配 CSS 类,以及处理模仿原始 iPhone OS 应用程序界面的向侧面滑动(sideswipe)效果的 JavaScript。然而,我们通常不希望在应用程序中使用 iUI,所以我将讨论一些处理这些通用元素的实用 CSS 和 JavaScript。与出色的 Rails 实践一致,我为 Ruby helper 方法的通用 iUI 模式构造了 HTML。这些方法绑定在一个 Rails 插件中,可以下载并添加到任何 Rails 应用程序。

您将继续基于 第 1 部分 使用的 Soups OnLine 示例进行构建。Soups OnLine 是我的著作 Professional Ruby On Rails 中的一个示例,同时也是一个列出了 “汤的烹饪方法” 的站点。在多数情况下,这个站点的具体细节与本文没有多大关系。整合 iPhone 界面所需要的步骤与 Soups OnLine 示例的具体细节没有什么关联。最重要的细节是这个应用程序(由于保留了早期的 iPhone 形式)包含一个控制器 RecipesController,它通过 index 方法处理食谱清单。在 第 1 部分 添加了 BrowsersController,用于管理 Mobile Safari 版本的站点中的各种选择。

要在本文使用这些示例,需要一个 Ruby 编辑器或 IDE,比如 Eclipse。模仿 iPhone 显示的浏览器模拟器能提供不少帮助。有以下模拟器可供选择:用于 Eclipse 的 Aptana iPhone 插件、用于 Mac 的 iPhoney 以及官方 iPhone 软件开发工具箱(SDK)模拟器。本系列的第 1 部分讨论了各个模拟器的安装、用法和优缺点。本文的示例使用 iUI 工具箱和 rails_iui plug-in。

iPhone 和用户体验

第一次接触 iPhone 时,一般人都会立即注意到它与传统的桌面浏览器区别不大。例如,要把普通的笔记本电脑装在口袋里则是件非常困难的事情。这些差别深刻地影响到应该如何在 Iphone 上构建 Web 应用程序,给用户带来最佳的体验。最重要的差别包括:

  • iPhone 的屏幕尺寸(320x480)比用于桌面电脑 Web 应用程序的最小目标应用程序还要小得多。iPhone 屏幕的高宽比也与典型的桌面或笔记本电脑的显示器有巨大的差别。
  • iPhone 的像素密度比桌面电脑显示器要高得多,便于阅读小文本或更改图像的相对尺寸。
  • 用户可以 90° 旋转 Mobile Safari 视图,更改图像的大小,更重要的是,还可以更改屏幕的高宽比。
  • Mobile Safari 的触摸屏界面不如鼠标界面精确,这意味着它的按钮、链接等目标及它们之间的距离应该比桌面电脑应用程序的大。
  • iPhone 所使用的网络环境通常比较慢。但是用户却热切期望网络能够即时响应他们请求。


本文转自IBM Developerworks中国

      请点击此处查看全文


 
原创粉丝点击