/wt

Wt, C++ Web Toolkit

Primary LanguageCOtherNOASSERTION

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:

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.