用 Eclipse 开发 iPhone Web 应用程序
来源:百度文库 编辑:神马文学网 时间:2024/04/28 01:11:20
使用 Aptana 的 iPhone Development 插件和 iUi 框架创建 iPhone Web 应用程序
文档选项
打印本页
将此页作为电子邮件发送
级别: 中级
Adam Houghton (adam@adamhoughton.com), 高级软件开发人员, SAS Institute, Inc.
2008 年 3 月 05 日
学习如何使用 Eclipse、Aptana 的 iPhone Development 插件及 iUi 框架创建 iPhone Web 站点。了解如何开发 iPhone 的 Javadoc 查看器,用户界面设计的技巧,以及 iPhone 应用程序开发的前景。
Apple 的 iPhone 平台为开发人员提供了一个有趣的机会。借助其小型的交互式触摸屏,iPhone 和 iPod Touch 在很短的时间内迅速吸引了数百万用户。但是这种新颖的设计和专利平台给应用程序开发人员带来了一系列新的挑战。在 2008 年 2 月 Apple 发布其软件开发包 (SDK) 以前,想要在该平台上进行研究的开发人员必须创建模拟 iPhone 的本机界面外观的 Web 应用程序。
幸 运的是,使用一系列新的开源工具可以更轻松地完成这项工作。Aptana 的针对 Eclipse 的 iPhone Development 插件可以生成特定于 iPhone 的项目,并在可旋转取景器中预览应用程序。Joe Hewitt 的 iUi、层叠样式表(Cascading Style Sheets,CSS)和 JavaScript 框架包含模拟本机 iPhone 体验的部件和页面集。
在 本文中,我们使用 Aptana 和 iUi 创建一个新应用程序:针对 iPhone 的简单 Javadoc 查看器。首先,设计一个在 iPhone 中浏览 Javadoc 的用户界面 (UI),然后创建用于从任何源代码生成 Javadoc 页面的定制 doclet。在此过程中将描述针对 iPhone 的 UI 问题,如何使用这些开源工具简化开发和调试,以及 iPhone 开发的未来趋势。
首先安装 Aptana 并下载 iUi:
在 Eclipse V3.2 中,选择 Help > Software Updates > Find and Install。
选择 Search for new features to install。此窗口列出了可以从中下载插件的站点以及 Eclipse 预定义的插件。
单击 New Remote Site 将 Aptana 添加到此列表中,并使用 URL http://update.aptana.com/3.2 对其进行定义。
从列表中选择新定义的 Aptana 站点,单击 Next,然后安装所有可用功能。完成此窗口安装基本的 Aptana Editor。
重新启动 Eclipse。
选择 Window > Open Perspective > Other,然后从窗口选择 Aptana。工具栏中将显示一组新图标。
单击主页图标。将显示 Aptana 功能的概览。
在 Apple iPhone Development 部分中,单击 Download and Install。
安装所有功能,然后完成此窗口以用特定于 iPhone 的功能配置 Aptana。
重新启动 Eclipse。
下载最新版本的 iUi(请参阅参考资料)。
一切就绪之后,请使用 Eclipse 创建一个名为 iDoc 的新 iPhone Project,如图 1 所示。
图 2 显示了生成的项目,其中包含简单 iPhone 应用程序。
注意由 Aptana 的基本编辑器提供的突出显示的语法,它支持 HTML、CSS 和 JavaScript。
在文本编辑器的底部,您将看到 Source、iPhone Preview 选项卡,以及系统中安装的所有浏览器(例如,Safari Preview、Firefox Preview)。单击 iPhone Preview 查看示例应用程序在 iPhone 中的外观。在浏览器外部单击可以旋转电话,单击电话标题栏可以隐藏导航栏。下面显示了水平显示的 iPhone Preview 模式。
使用 iPhone Preview 模式可以节省大量时间:可以快速测试新设计想法并重复进行开发而无需离开计算机。当应该在实际的 iPhone 上测试您的应用程序时,Aptana 的内置应用服务器将十分有用。单击 Eclipse 工具栏中的 Run 图标启动服务器。图 4 显示了在 Eclipse 中运行的应用服务器。
如果通过 WiFi 连接将 iPhone 连接到本地网络,则可以访问服务器窗口中显示的 URL。单击 E-mail this url 并向 iPhone 中的电子邮件帐户发送一条消息,这可以省去一个步骤。单击电子邮件中的链接,应用程序将在 iPhone 的 Web 浏览器中启动。
虽 然 Aptana 的启动应用程序包含特定于 iPhone 的 HTML 和 CSS 文件,但是这些文件的功能有限。一种更好的备用解决方案是使用 iUi 框架,此框架拥有一组丰富的自定义部件和 JavaScript 效果,可以精确地模拟本机 iPhone 界面。
解压缩已下载的 iUi 发行版 iui-0.13.tar,然后把文件复制到 Eclipse 的 iDoc Project 中。图 5 显示了包含 iUi 的项目。
iUi 的演示 Web 应用程序可以在上面展开的 samples 文件夹中找到。其中包括音乐浏览器、剧院清单和类似 Digg 的站点。使用 Aptana 的 iPhone Preview 模式,我们可以在 Eclipse 中查看这些组件。图 6 显示了剧院清单 Web 应用程序 (samples/theaters/index.html) 的搜索页面。
注意,该演示与本机 iPhone 的界面外观极为相似。使用这些预打包的部件可以快速开发 iPhone Web 应用程序。
回页首
在本例中,将为 iPhone 创建一个名为 iDoc 的 Javadoc 查看器。由 Sun Microsystems 的标准 Javadoc 生成器创建的紧密 HTML 文件在台式机上一切正常,但是在 iPhone 中却很难导航和读取。iDoc 将生成 iPhone 支持的 Javadoc —— 非常适合于在地铁中浏览应用程序编程接口 (API) 或者让合作的编程团队中的观察员帮助解决困难。
在开始设计 iDoc 的 UI 之前,一定要先了解 iPhone 开发与普通 Web 开发的不同之处。图 7 来自 Apple 的 iPhone Dev Center(请参阅参考资料),很好地总结了两者的不同之处:手指不是鼠标。这样做得不到桌面应用程序中的像素精度,但是通过轻敲、轻弹和轻压将开启一个丰富的新用户交互模型。此外,iPhone 与用户一起移动并且通常用于有干扰的环境中,因此应用程序需要能够快速容易地访问目标信息。
Apple 的 iPhone 人机接口指南(请参阅参考资料)定义了三种类型的 iPhone Web 内容。
与 iPhone 中的 Safari 兼容
可以正确显示的任意类型的 Web 页面,即使页面的一部分依赖于诸如 Adobe Flash 或 Java™ applet 之类的不受支持的插件
最适于 iPhone 中的 Safari
为 iPhone 正确缩放内容并且不依赖于不受支持插件的 Web 页面
iPhone 应用程序
通过模拟 iPhone 界面外观来模拟本机应用程序的 Web 页面,并且在适当的时候,与诸如电话、电子邮件或 Google Maps 之类的 iPhone 服务集成
标 准 Javadoc 页面属于第一种类型,与 iPhone 中的 Safari 兼容。这些页面可以正确显示,但是要求很好地处理轻压和轻弹才能找到相关信息。iDoc 针对的是完整的 iPhone 应用程序。虽然不能与其他服务集成,但是 iDoc 的接口能够在 iPhone 中很好地使用。
针 对 iPhone 进行开发时,必须只关注 iPhone。应用程序应当快速地完成特定任务,不应该尝试包括所有可能的功能。使用 iDoc,用户必须找到关于 Java 类的基本文档,例如类名、方法名、方法签名和注释。通过指向目标详细信息页面的三个导航级别显示这些信息。
包导航
顶层包
类导航
包内的类、接口、异常和错误
类细节导航
类中的描述、字段、构造函数和方法
详细信息页面
注释、签名和参数
为了使 iDoc 保持整齐并且以任务为目的,需要省略一些传统 Javadoc 功能。例如,不显示包描述注释。由于这些功能通常不包含有用信息(例如,acme.client 包含客户机代码),并且有时被同时省略,因此把它们从 iDoc 中移除并简化接口就显得十分有意义。
要获得三个导航级别,请使用边对边 (edge-to-edge) 列表。这是在本机 iPhone 应用程序中常用的构造,用于浏览联系人、电子邮件和音乐。边对边列表将在 44 像素的等高行中显示项,并且有助于在大量信息中滚动查找。Apple 的 iPhone 人机接口指南 提供了构造边对边列表的规格,包括字体、字体大小和边框间距。iUi 框架用 CSS 和 JavaScript 语言实现这些规格,允许您创建像本机 iPhone 组件那样显示的简单 HTML 列表。
清单 1 显示了页眉,以及 java.applet 和 java.rmi 包的前两个导航级别。
iDoc
图 8 显示了使用边对边列表生成的顶层选择包导航级别。
图 9 显示了在 iPhone Preview 模式下显示的最终的 java.rmi 包。
对 于 iDoc 的目标详细信息页面,使用另一种 iPhone 构造:圆角矩形列表。这些列表对于分组信息十分有用,并且 iPhone 中的设置面板都使用这种列表。使用圆角矩形列表可以分隔方法签名与参数及异常清单。在 V0.13 中,iUi 只支持将圆角矩形列表用于表单输入;将其元素用于静态文本将生成格式错误的块。 使用定制的 iDoc.css 文件扩展这些 CSS(如清单 2 所示),以添加用于显示带有静态文本的圆角矩形列表的 textRow 元素。
/* Adding a new row CSS style to iUi for displaying blocks of text */ .textRow { position: relative; border-bottom: 1px solid #999999; -webkit-border-radius: 0; text-align: right; } .textRow > p { text-align: left; margin: 5px 8px 5px 10px; padding: 0px 0px 0px 0px; } fieldset > .textRow:last-child { border-bottom: none !important; }
清单 3 显示了 java.math.BigDecimal 的一种构造方法的详细信息页面。
文档选项
打印本页
将此页作为电子邮件发送
级别: 中级
Adam Houghton (adam@adamhoughton.com), 高级软件开发人员, SAS Institute, Inc.
2008 年 3 月 05 日
学习如何使用 Eclipse、Aptana 的 iPhone Development 插件及 iUi 框架创建 iPhone Web 站点。了解如何开发 iPhone 的 Javadoc 查看器,用户界面设计的技巧,以及 iPhone 应用程序开发的前景。
Apple 的 iPhone 平台为开发人员提供了一个有趣的机会。借助其小型的交互式触摸屏,iPhone 和 iPod Touch 在很短的时间内迅速吸引了数百万用户。但是这种新颖的设计和专利平台给应用程序开发人员带来了一系列新的挑战。在 2008 年 2 月 Apple 发布其软件开发包 (SDK) 以前,想要在该平台上进行研究的开发人员必须创建模拟 iPhone 的本机界面外观的 Web 应用程序。
幸 运的是,使用一系列新的开源工具可以更轻松地完成这项工作。Aptana 的针对 Eclipse 的 iPhone Development 插件可以生成特定于 iPhone 的项目,并在可旋转取景器中预览应用程序。Joe Hewitt 的 iUi、层叠样式表(Cascading Style Sheets,CSS)和 JavaScript 框架包含模拟本机 iPhone 体验的部件和页面集。
在 本文中,我们使用 Aptana 和 iUi 创建一个新应用程序:针对 iPhone 的简单 Javadoc 查看器。首先,设计一个在 iPhone 中浏览 Javadoc 的用户界面 (UI),然后创建用于从任何源代码生成 Javadoc 页面的定制 doclet。在此过程中将描述针对 iPhone 的 UI 问题,如何使用这些开源工具简化开发和调试,以及 iPhone 开发的未来趋势。
首先安装 Aptana 并下载 iUi:
在 Eclipse V3.2 中,选择 Help > Software Updates > Find and Install。
选择 Search for new features to install。此窗口列出了可以从中下载插件的站点以及 Eclipse 预定义的插件。
单击 New Remote Site 将 Aptana 添加到此列表中,并使用 URL http://update.aptana.com/3.2 对其进行定义。
从列表中选择新定义的 Aptana 站点,单击 Next,然后安装所有可用功能。完成此窗口安装基本的 Aptana Editor。
重新启动 Eclipse。
选择 Window > Open Perspective > Other,然后从窗口选择 Aptana。工具栏中将显示一组新图标。
单击主页图标。将显示 Aptana 功能的概览。
在 Apple iPhone Development 部分中,单击 Download and Install。
安装所有功能,然后完成此窗口以用特定于 iPhone 的功能配置 Aptana。
重新启动 Eclipse。
下载最新版本的 iUi(请参阅参考资料)。
一切就绪之后,请使用 Eclipse 创建一个名为 iDoc 的新 iPhone Project,如图 1 所示。
图 2 显示了生成的项目,其中包含简单 iPhone 应用程序。
注意由 Aptana 的基本编辑器提供的突出显示的语法,它支持 HTML、CSS 和 JavaScript。
在文本编辑器的底部,您将看到 Source、iPhone Preview 选项卡,以及系统中安装的所有浏览器(例如,Safari Preview、Firefox Preview)。单击 iPhone Preview 查看示例应用程序在 iPhone 中的外观。在浏览器外部单击可以旋转电话,单击电话标题栏可以隐藏导航栏。下面显示了水平显示的 iPhone Preview 模式。
使用 iPhone Preview 模式可以节省大量时间:可以快速测试新设计想法并重复进行开发而无需离开计算机。当应该在实际的 iPhone 上测试您的应用程序时,Aptana 的内置应用服务器将十分有用。单击 Eclipse 工具栏中的 Run 图标启动服务器。图 4 显示了在 Eclipse 中运行的应用服务器。
如果通过 WiFi 连接将 iPhone 连接到本地网络,则可以访问服务器窗口中显示的 URL。单击 E-mail this url 并向 iPhone 中的电子邮件帐户发送一条消息,这可以省去一个步骤。单击电子邮件中的链接,应用程序将在 iPhone 的 Web 浏览器中启动。
虽 然 Aptana 的启动应用程序包含特定于 iPhone 的 HTML 和 CSS 文件,但是这些文件的功能有限。一种更好的备用解决方案是使用 iUi 框架,此框架拥有一组丰富的自定义部件和 JavaScript 效果,可以精确地模拟本机 iPhone 界面。
解压缩已下载的 iUi 发行版 iui-0.13.tar,然后把文件复制到 Eclipse 的 iDoc Project 中。图 5 显示了包含 iUi 的项目。
iUi 的演示 Web 应用程序可以在上面展开的 samples 文件夹中找到。其中包括音乐浏览器、剧院清单和类似 Digg 的站点。使用 Aptana 的 iPhone Preview 模式,我们可以在 Eclipse 中查看这些组件。图 6 显示了剧院清单 Web 应用程序 (samples/theaters/index.html) 的搜索页面。
注意,该演示与本机 iPhone 的界面外观极为相似。使用这些预打包的部件可以快速开发 iPhone Web 应用程序。
回页首
在本例中,将为 iPhone 创建一个名为 iDoc 的 Javadoc 查看器。由 Sun Microsystems 的标准 Javadoc 生成器创建的紧密 HTML 文件在台式机上一切正常,但是在 iPhone 中却很难导航和读取。iDoc 将生成 iPhone 支持的 Javadoc —— 非常适合于在地铁中浏览应用程序编程接口 (API) 或者让合作的编程团队中的观察员帮助解决困难。
在开始设计 iDoc 的 UI 之前,一定要先了解 iPhone 开发与普通 Web 开发的不同之处。图 7 来自 Apple 的 iPhone Dev Center(请参阅参考资料),很好地总结了两者的不同之处:手指不是鼠标。这样做得不到桌面应用程序中的像素精度,但是通过轻敲、轻弹和轻压将开启一个丰富的新用户交互模型。此外,iPhone 与用户一起移动并且通常用于有干扰的环境中,因此应用程序需要能够快速容易地访问目标信息。
Apple 的 iPhone 人机接口指南(请参阅参考资料)定义了三种类型的 iPhone Web 内容。
与 iPhone 中的 Safari 兼容
可以正确显示的任意类型的 Web 页面,即使页面的一部分依赖于诸如 Adobe Flash 或 Java™ applet 之类的不受支持的插件
最适于 iPhone 中的 Safari
为 iPhone 正确缩放内容并且不依赖于不受支持插件的 Web 页面
iPhone 应用程序
通过模拟 iPhone 界面外观来模拟本机应用程序的 Web 页面,并且在适当的时候,与诸如电话、电子邮件或 Google Maps 之类的 iPhone 服务集成
标 准 Javadoc 页面属于第一种类型,与 iPhone 中的 Safari 兼容。这些页面可以正确显示,但是要求很好地处理轻压和轻弹才能找到相关信息。iDoc 针对的是完整的 iPhone 应用程序。虽然不能与其他服务集成,但是 iDoc 的接口能够在 iPhone 中很好地使用。
针 对 iPhone 进行开发时,必须只关注 iPhone。应用程序应当快速地完成特定任务,不应该尝试包括所有可能的功能。使用 iDoc,用户必须找到关于 Java 类的基本文档,例如类名、方法名、方法签名和注释。通过指向目标详细信息页面的三个导航级别显示这些信息。
包导航
顶层包
类导航
包内的类、接口、异常和错误
类细节导航
类中的描述、字段、构造函数和方法
详细信息页面
注释、签名和参数
为了使 iDoc 保持整齐并且以任务为目的,需要省略一些传统 Javadoc 功能。例如,不显示包描述注释。由于这些功能通常不包含有用信息(例如,acme.client 包含客户机代码),并且有时被同时省略,因此把它们从 iDoc 中移除并简化接口就显得十分有意义。
要获得三个导航级别,请使用边对边 (edge-to-edge) 列表。这是在本机 iPhone 应用程序中常用的构造,用于浏览联系人、电子邮件和音乐。边对边列表将在 44 像素的等高行中显示项,并且有助于在大量信息中滚动查找。Apple 的 iPhone 人机接口指南 提供了构造边对边列表的规格,包括字体、字体大小和边框间距。iUi 框架用 CSS 和 JavaScript 语言实现这些规格,允许您创建像本机 iPhone 组件那样显示的简单 HTML 列表。
清单 1 显示了页眉,以及 java.applet 和 java.rmi 包的前两个导航级别。
- Interfaces
- AppletContext
- AppletStub
- AudioClip
- Classes
- Applet
- AccessibleApplet
- Interfaces
- Remote
- Classes
- MarshalledObject
- Naming
- RMISecurityManager
- Exceptions
- AccessException
- AlreadyBoundException
- ConnectException
- ConnectIOException
- MarshalException
- NoSuchObjectException
- NotBoundException
- RemoteException
- RMISecurityException
- ServerError
- ServerException
- ServerRuntimeException
- StubNotFoundException
- UnexpectedException
- UnknownHostException
- UnmarshalException
图 8 显示了使用边对边列表生成的顶层选择包导航级别。
图 9 显示了在 iPhone Preview 模式下显示的最终的 java.rmi 包。
对 于 iDoc 的目标详细信息页面,使用另一种 iPhone 构造:圆角矩形列表。这些列表对于分组信息十分有用,并且 iPhone 中的设置面板都使用这种列表。使用圆角矩形列表可以分隔方法签名与参数及异常清单。在 V0.13 中,iUi 只支持将圆角矩形列表用于表单输入;将其元素用于静态文本将生成格式错误的块。 使用定制的 iDoc.css 文件扩展这些 CSS(如清单 2 所示),以添加用于显示带有静态文本的圆角矩形列表的 textRow 元素。
/* Adding a new row CSS style to iUi for displaying blocks of text */ .textRow { position: relative; border-bottom: 1px solid #999999; -webkit-border-radius: 0; text-align: right; } .textRow > p { text-align: left; margin: 5px 8px 5px 10px; padding: 0px 0px 0px 0px; } fieldset > .textRow:last-child { border-bottom: none !important; }
清单 3 显示了 java.math.BigDecimal 的一种构造方法的详细信息页面。