A C++ library for building web applications with a widget-based approach and built-in HTTP server.
Wt is a C++ web toolkit for developing interactive web applications using a widget-based programming model. It provides a comprehensive library for building UI components, an integrated HTTP/WebSockets server, and a C++ ORM for database interactions. The framework enables developers to write web applications entirely in C++ with automatic AJAX updates and server-side rendering.
C++ developers who want to build web applications without learning JavaScript frameworks, and teams looking for a desktop-like programming model for web development with strong type safety and performance.
Wt offers a unique approach by allowing C++ developers to use familiar GUI programming patterns for the web, with built-in security, scalability, and automatic AJAX handling. Its integrated ORM and multiple database backends provide a full-stack solution without requiring external web frameworks.
Wt, C++ Web Toolkit
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables C++ developers to use a widget-based programming model similar to desktop frameworks like Qt, reducing the learning curve for web development as highlighted in the philosophy.
Includes libwthttp for an HTTP/WebSockets server, libwtdbo ORM with multiple database backends, and rendering options, providing a comprehensive toolkit without external dependencies.
Manages AJAX updates automatically, simplifying interactive web application development without manual JavaScript coding, as emphasized in the value proposition.
Leverages C++'s compile-time type checking for robust server-side logic, appealing to developers seeking performance and reliability over dynamic languages.
Building from source requires CMake, Boost, and optional libraries like OpenSSL and Haru PDF, which can be cumbersome compared to simpler web frameworks with package managers.
Has a smaller user base and fewer third-party extensions than popular JavaScript frameworks, potentially hindering support, tutorials, and plugin availability.
Dual licensing with GPL and commercial options may require careful evaluation for proprietary projects, as the GPL with OpenSSL exception could impose redistribution terms.
All UI updates are handled server-side, which can increase server load and latency for highly interactive applications compared to client-side rendering approaches.