欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Wt/en
Wt (pronounced 'witty') is a C++ library and application server for developing and deploying web applications.
GNU GPL
The API is widget-centric, and inspired by existing C++ Graphical User Interface (GUI) APIs. To the developer, it offers complete abstraction of any web-specific implementation details.
Page-based frameworks (such as based on PHP or JSP/JSF (+ servlets + struts)) for developing web application do not make abstraction of the peculiarities of the underlying technologies (HTML, JavaScript, CSS, AJAX, Forms, DHTML). As a consequence, a developer must gain familiarity with all of these (evolving) technologies. Moreover, when choosing to use a technology (such the currently popular AJAX), the developer is responsible for graceful degradation when the technology is not available or disabled in the browser. At the same time, the structure of the application follows mostly the page-centric paradigm of early day HTML.
Exposing the underlying technologies, such as JavaScript, to the developer also brings real security threats such as XSS (Cross-Site-Scripting).
In contrast, a web application developed with Wt is written in only one compiled language (C++), from which the library generates the necessary HTML, Javascript, CGI, and AJAX code. The responsibility of writing secure and browser-portable web applications is taken care of by Wt. For example, if available, Wt will maximally use JavaScript and AJAX, but applications developed using Wt will also function correctly when AJAX is not available, or when JavaScript is disabled, reverting to a plain HTML/CGI mechanism for communication between browser and server.