Develop web applications in C++

Wt is a web GUI library in modern C++.
Quickly develop highly interactive web UIs with widgets,
without having to write a single line of JavaScript.
Wt handles all request handling and page rendering
for you, so you can focus on functionality.

Useful Links

Why choose Wt?

You don't want to focus on details like request handling or page rendering.
You want your application to continue to work
even when JavaScript is unavailable.
You just want to write your web application in C++ without sacrificing interactivity.
Wt allows you to focus on functionality and create highly interactive, secure, and future proof applications
quickly.

Save Time

Wt handles all the nitty-gritty of requests and responses and
client-side JavaScript, and allows you to focus on functionality
in pure C++.

Secure

Contact us for more information
or a personalised quotation

Features

Wt has a lot to offer. It includes the essential basic widgets and building blocks to
build web applications, but also offers built-in security, PDF rendering, a 2D and 3D painting system,
an object-relational mapping library, a charting library, and an authentication framework.
You can see the full list of features here, but here's a short overview:

Server side, client optimized

Wt employs a signal-slot system. Instead of worrying about the sending of Ajax requests and serving of pages, you can simply connect the click of a button to a callback function on the server.
Take a look at this example in the widget gallery.
Wt will use whatever technology available for communication: Ajax or WebSockets, but will fall back on full HTML
page loads when JavaScript is unavailable. This makes Wt applications accessible to any browser or web crawler.

Built-in security

Wt automatically protects against misuse by only allowing visible and enabled widgets to be interacted with.
This also helps to avoid CSRF attacks, which are doubly avoided because Wt does not store session information in cookies.
By using the widget abstraction, Wt discourages the inserting of raw HTML into a web page, preventing XSS attacks.
Wt::Dbo prevents SQL injection by encouraging the use of prepared statements when accessing the database.
Wt also includes an authentication and registration system with support for OAuth
providers like Google, Facebook, and OpenID Connect.

PDF rendering

2D and 3D painting system

Use a single 2D drawing API with many backends (PNG, JPEG, SVG, HTML canvas, VML, and PDF) so you only need to write
your drawing code once to support any web browser and save to many formats. Write server-side (OpenGL) and
client-side (WebGL) 3D graphics with a uniform API. Wt's 2D and 3D charting libraries were built on top of this
graphics API.
Check out the examples in the widget gallery.