开始之前
本教程将向您介绍实时 web,并详细介绍之所以要构建实时 web 应用程序的几个原因。您将学到一些技术,这些技术将帮助您创建响应及时、持续更新的 web 应用程序,这些应用程序既能保护服务器资源,又能提供良好的用户体验。
实时 web 应用程序允许用户在信息发布时及时接收通知,无需手动检查原始源获取更新。通过 Twitter 和 Friendfeed 这样的社交通知工具,Google Wave 这样的基于 web 的协作工具,以及 Meebo 这样的基于 web 的聊天客户端,实时 web 应用程序逐渐流行起来。
Extensible Messaging and Presence Protocol (XMPP) 是一组基于 XML 的技术,用于实时应用程序,定义为持续更新以响应新数据或更改数据的联网应用程序。它最初作为一个框架研发,以支持企业环境内的实时消息传递和联机状态(presence)应用程序。
在本教程中,您将构建一个简单的工具 Pingstream,它在 RSS 提要更新发布时使用它们持续更新自身(参见 下载 获取 Pingstream 源代码)。在此过程中,您将:
- 了解 XMPP 为何特别适合 web 应用程序;
- 了解 XMPP 通信的组件;
- 安装和配置 Openfire XMPP 服务器;
- 使用 PHP 和 XMPPHP 库连接到 XMPP 服务器;
- 检查并通过 XMPP 传输 RSS 提要中的新项目;
- 借助 Bidirectional-streams Over Synchronous HTTP (BOSH),使用 Strophe 和 jQuery 通过 HTTP 连接到 XMPP 服务器;
- 在 web 页面中显示 XMPP 通知。
本教程假定您比较熟悉使用 PHP 开发 web 应用程序,但也会涉及一些高级编程方法。您还应该拥有一定的 HTML 和 JavaScript 经验。拥有 jQuery JavaScript 框架经验可能会有所帮助。但本教程不要求熟悉 XMPP 或类似的技术。
要跟随本教程操作,必须安装和运行以下服务器软件:
- PHP 5.2 或更高版本
- Apache HTTP Server
- MySQL
在本教程中,您还将下载和安装以下软件和库:
- Openfire
- jQuery
- Strophe
- XMPPHP
- Last RSS
您可能会发现 MySQL 服务器工具 phpMyAdmin 能够派上用场。如果您使用一台桌面机器来本地测试您的实时 web 应用程序,您可能会发现 XAMPP 对于管理一个测试 web 服务器基础设施的安装和运行很有用。
参见 参考资料 获取所有这些工具下载的链接。
