示例

欢迎浏览Wt的一些在线示例。

这些示例的源代码均包含在Wt的源代码发行包中。你可以通过每个示例下的 源代码浏览器查看。

示例源代码也以交叉链接的形式出现在 Wt示例doxygen文档中(自动开启新窗口)。

Wt网站示例

Wt首先为己所用了,本网站自身即是一个Wt应用实例。

虽然不是一个交互性很强的应用,但Wt的网站不仅展示了Wt如何实现高度交互的Ajax应用, 同时说明Wt适合于内容驱动的网站建设。Wt为纯HTML会话和Ajax提供良好的URL支持, 这允许浏览器导航、书签等操作,还有利于搜索引擎优化。另外,Wt使用WViewWidget 来最小化服务器端内存使用以提高应用的规模。

导航功能由WMenuWTabWidget提供。这些widgets分享了共同的特性集。 对于Ajax会话,他们均支持导航条目关联内容的预先载入滞后载入, 同时可以针对不同子条目分别指定载入模式。 需要说明的是,预先载入不会增加载入时间,因为Wt渲染引擎总是首先传输可见的 widget和某些变化,以此来优化应答时间。不可见部分(如其他预先载入的导航子项目的内容) 则进行隐式传输,而且这种传输是在渲染可见部分完成之后进行。

菜单导航栏部分采用C++无状态槽,其实现结果是客户端事件处理。

WMenu的内部路径特点允许为每个菜单条目生成URL, 这可以用于形成浏览器历史记录和书签操作。当用户通过历史记录浏览时, 应用可以通过监听WApplication对象的 内部路径变化信号(internalPathChanged),直接引起菜单条目指向内容的变化。同样地, 当用户将一个URL加入书签中,并在日后重新访问时,widgets将读取该URL初始的内部路径,并创建 相应的内容以显示。

虽然说Wt占用很小的服务器CPU使用,但它确实也需要一部分内存来保持widget状态。当然,如果 我们能够提供足够的内存(和交换空间),这将不成问题。另外,由于Wt网站部署在虚拟专用服务器 (VPS)上,所以我们对此非常小心,并通过 WViewWidget 尽可能地减小服务器资源使用。

查看源代码