Wt (pronounced as witty) is a C++ library for developing web applications.
The API is widget-centric and uses well-tested patterns of desktop GUI
development tailored to the web. To the developer, it offers abstraction of
many web-specific implementation details, including client-server protocols
(HTTP, Ajax, WebSockets), and frees the developer from tedious JavaScript
manipulations of HTML and dealing with cross-browser issues. Instead, with Wt,
you can focus on actual functionality with a rich set of feature-complete
widgets. Unlike old-school page-based frameworks or current-day single-page
JavaScript "frameworks", Wt allows you to create stateful applications that are
at the same time highly interactive (using WebSockets and Ajax for everything)
but still support plain HTML browsers or web crawlers using automatic graceful
degradation or progressive enhancement. Things that are natural and simple
with Wt would require an impractical amount of development effort otherwise:
switching widgets using animations, while retaining clean URLs and browser
navigation functions, or having a persistent chat widget open throughout the
entire application, that even works in legacy browsers like Microsoft Internet
Explorer 6.
The library comes with an application server that acts as a stand-alone
Http(s)/WebSocket server or integrates through FastCGI with other web servers.
===> The following configuration options are available for wt-4.12.2_2:
DEBUG=off: Build with debugging support
EXAMPLES=on: Install examples (implies SQLITE3 and WTHTTP)
HARU=on: Enable Haru Free PDF Library
LIBWTTEST=on: Build Wt::Test for automated (integration/unit) tests
OPENGL=on: 2D/3D rendering support via OpenGL
PANGO=on: Pango rendering library support
RESOURCES=on: Install resources directory
SAML=on: Build built-in SAML service provider for Wt::Auth
THEMES=on: Install the source files for Wt's themes
UNWIND=off: Build Wt with stacktrace support using libunwind
====> Connector
FASTCGI=on: Build FastCGI connector
WTHTTP=on: Build Wt stand-alone httpd connector
====> Wt::DBO
FIREBIRD=off: Build Wt with FirebirdSQL support
MYSQL=on: Build Wt with MariaDB or MySQL support
PGSQL=on: Build Wt with PostgreSQL support
SQLITE3=on: Build Wt with SQLite 3 support
====> Wt C++ Features Implementations
STDANY=on: Use std::any instead of bundled thelink2012::any
STDFS=on: Use std::filesystem instead of boost::filesystem
===> Use 'make config' to modify these settings