Awesome
What is Wt ?
Wt is a C++ library for developing web applications. It consists of:
- libwt, a widget/rendering library
- libwthttp, an (async I/O) HTTP/WebSockets server
- libwtfcgi, a FastCGI connector library (Unix)
- libwtisapi, an ISAPI connector library (Windows)
- libwttest, a test connector environment
It also contains a C++ ORM, which can be used in a web application (obviously), but can also be used on its own:
- libwtdbo, a C++ ORM
- libwtdbopostgres, PostgreSQL backend
- libwtdbosqlite3, Sqlite3 backend
- libwtdbomysql, MySQL and MariaDB backend
- libwtdbomssqlserver, Microsoft SQL Server backend
- libwtdbofirebird, Firebird backend
For more information, see the homepage.
Dependencies
To build Wt from source you will need at least CMake, boost, and a C++ compiler like GCC, Clang or MSVC. See the minimum dependency versions for an explanation about which versions Wt supports.
Optionally, you may want to add:
- OpenSSL for SSL and WebSockets support in the built-in httpd, the HTTP(S) client, and additional cryptographic hashes in the authentication module
- Haru PDF library which is used for painting to PDF
- GraphicsMagick which is used for painting to PNG, GIF (on Windows, Direct2D can be used instead)
- PostgreSQL for the PostgreSQL Dbo backend
- MySQL or MariaDB for the MySQL Dbo backend
- An ODBC driver for the Microsoft SQL Server Dbo backend, and unixODBC on Unix-like platforms
- Firebird for the Firebird Dbo backend
- Pango for improved font support in PDF and raster image painting. On Windows, DirectWrite can be used instead.
- ZLib for compression in the built-in httpd.
For the FastCGI connector, you also need:
- FastCGI development kit: you need the C/C++ library (libfcgi++)
Building
Generic instructions for Unix-like platforms or Windows platforms.
Bug Reporting
Bugs can be reported here http://redmine.webtoolkit.eu/projects/wt/issues/new
Demos, examples
The homepage, itself a Wt application, contains also various examples.
License
Wt is available under two licenses:
- the GNU General Public License, Version 2, with OpenSSL exception. Only version 2 of the GPL applies. See the
LICENSE
file for more information. - a commercial license, which does not require you to distribute the source code of your application. Request a quotation online or contact sales@emweb.be for more information.
See doc/licenses.md
for an exhaustive list of the licenses
used by Wt, source code from external sources included in Wt
and common (optional) external dependencies.