WT-C++Web工具包

2020-07-13 02:06:42

WT有很多东西可以提供。它包括构建Web应用程序所必需的基本小部件和构建块,但还提供内置安全性、PDF呈现、2D和3D绘图系统、对象关系映射库、制图库和身份验证框架。你可以在这里看到完整的功能列表,但这里是一个简短的概述:

Wt中包含许多小部件。对于每个HTML元素,都有一个相应的小部件。这些小部件在交互时可以发出信号,因此您可以像编写桌面应用程序一样编写Web应用程序。请查看小部件库,了解Wt必须提供的小部件的概览。

WT采用信号时隙系统。无需担心Ajax请求的发送和页面的服务,只需将单击按钮连接到服务器上的回调函数即可。请看小部件库中的这个示例。WT将使用任何可用于通信的技术:Ajax或WebSockets,但是当JavaScript不可用时,WT将依靠完整的HTML页面加载。这使得任何浏览器或网络爬虫都可以访问WT应用程序。

WT只允许与可见的和启用的小部件交互,从而自动防止误用。这还有助于避免CSRF攻击,因为WT不将会话信息存储在cookie中,因此可以加倍避免。通过使用小部件抽象,Wt不鼓励将原始HTML插入到网页中,从而防止了XSS攻击。dbo通过鼓励在访问数据库时使用预准备语句来防止SQL注入。WT还包括一个认证和注册系统,支持Google、Facebook和OpenID Connect等OAuth提供商。

使用Wt';的PDF呈现系统创建PDF并将HTML呈现为PDF。在小部件库中查看PDF渲染。

使用具有多个后端(PNG、JPEG、SVG、HTML Canvas、VML和PDF)的单个2D绘图API,因此您只需编写一次绘图代码即可支持任何Web浏览器并保存为多种格式。使用统一的API编写服务器端(OpenGL)和客户端(WebGL)3D图形。WT';的2D和3D制图库就是建立在这个图形API之上的。请查看小部件库中的示例。

使用wt::dbo将C++中的类映射到数据库中的表,wt::dbo是一种ORM,它只需要纯C++,并且不依赖于预处理器魔术或代码生成。通过入门教程体验Wt::dbo。