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.
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++.
![]()
Built to Maintain
Wt's widget abstraction represents HTML elements as C++ objects, allowing them to be easily composable and extendable.
![]()
Future Proof
Stay up to date with the latest web technologies without changing your code, thanks to Wt's stable API.
![]()
Secure
Wt is designed to be resilient against the most common types of exploits: SQL injection, XSS and CSRF vulnerabilities.
Contact us for more information
or a personalised quotation
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.
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.
(J)Wt 4.12.2
(J)Wt 4.12.2 is a bigger patch release that fixes a couple of issues, and also introduces some improvements. Check the release notes for more info.
The main points of attention are:
-
some improvements for bot handling
-
several fixes to layouts
-
several fixes to the models and views
Here are the links:
-
Wt 4.12.2 (C++): download wt-4.12.2.tar.gz (release notes)
-
JWt 4.12.2 (Java): download jwt-4.12.2-rc1.zip (release notes)
Binary builds for Windows are available on the GitHub releases page.