Wt is a C++ library, so you link it in your executable as a DLL. It consists of a convenient set of building blocks (text, buttons, trees, charts, graphics, ...) that you can combine to create a web UI in an object oriented way. You use the building blocks to build a tree which represents your interface (e.g. a Dialog containing a text and two buttons). It works much like traditional C++ GUI toolkits, such as Qt. But instead of rendering on a desktop screen, Wt uses the browser to render. Event handling is transparent: if a user clicks a button in the browser, a function is automatically invoked at the server. The programmer specifies which functions need to be invoked by means of a signal/slot mechanism. From those functions, you can easily interact with your existing application. If you run a Wt application, it will behave like a web server and listen on a TCP port. When a user surfs to a Wt application, Wt investigates the browser capabilities and renders your widget tree in the most optimal way to your browser (JavaScript, AJAX, browser-specific dialects, ...). But why don't you take a look at Wt's hello world example? http://www.webtoolkit.eu/wt/examples/ Or an interactive demonstration of the available widgets: http://www.webtoolkit.eu/widgets/basics/wpanel