Why choose Wt?
You don't want to focus on details like request handling or page rendering. You want your application to continue to work even when JavaScript is unavailable. You just want to write your web application in C++ without sacrificing interactivity. Wt allows you to focus on functionality and create highly interactive, secure, and future proof applications quickly.
Save Time
Wt handles all the nitty-gritty of requests and responses and client-side JavaScript, and allows you to focus on functionality in pure C++.
Built to Maintain
Wt's widget abstraction represents HTML elements as C++ objects, allowing them to be easily composable and extendable.
Future Proof
Stay up to date with the latest web technologies without changing your code, thanks to Wt's stable API.
Secure
Wt is designed to be resilient against the most common types of exploits: SQL injection, XSS and CSRF vulnerabilities.
Features
Wt has a lot to offer. It includes the essential basic widgets and building blocks to build web applications, but also offers built-in security, PDF rendering, a 2D and 3D painting system, an object-relational mapping library, a charting library, and an authentication framework. You can see the full list of features here , but here's a short overview:
Widget library
Many widgets are included in Wt. For every HTML element there's a corresponding widget. These widgets can emit signals when interacted with, so you can write web applications like desktop applications. Check out the widget gallery for an overview of the widgets that Wt has to offer.
Server side, client optimized
Wt employs a signal-slot system. Instead of worrying about the sending of Ajax requests and serving of pages, you can simply connect the click of a button to a callback function on the server. Take a look at this example in the widget gallery. Wt will use whatever technology available for communication: Ajax or WebSockets, but will fall back on full HTML page loads when JavaScript is unavailable. This makes Wt applications accessible to any browser or web crawler.
Built-in security
Wt automatically protects against misuse by only allowing visible and enabled widgets to be interacted with. This also helps to avoid CSRF attacks, which are doubly avoided because Wt does not store session information in cookies. By using the widget abstraction, Wt discourages the inserting of raw HTML into a web page, preventing XSS attacks. Wt::Dbo prevents SQL injection by encouraging the use of prepared statements when accessing the database. Wt also includes an authentication and registration system with support for OAuth providers like Google, Facebook, and OpenID Connect.
PDF rendering
Create PDFs and render HTML as PDF with Wt's PDF rendering system. Check out PDF rendering in the widget gallery.
2D and 3D painting system
Use a single 2D drawing API with many backends (PNG, JPEG, SVG, HTML canvas, VML, and PDF) so you only need to write your drawing code once to support any web browser and save to many formats. Write server-side (OpenGL) and client-side (WebGL) 3D graphics with a uniform API. Wt's 2D and 3D charting libraries were built on top of this graphics API. Check out the examples in the widget gallery.
Object relational mapping library
Map classes in C++ to tables in your database with Wt::Dbo, an ORM that only requires pure C++, and does not rely on preprocessor magic or code generation. Get a taste for Wt::Dbo with the introductory tutorial.
Latest News
- Posted by Roel
- 20 April 2020
Wt 4.3.0 was released almost a month ago, so it’s about time for a patch release. Wt 4.3.1 (and Wt 3.6.1) is a tiny patch release, with the most notable fix being an issue in the destructor of WWebWidget when user-defined ids were used. There will be no JWt 4.3.1 since nothing has changed to JWt.
Read the release notes for more information.
Here are the links:
-
Wt 4.3.1 (C++): download wt-4.3.1.tar.gz ( release notes )
-
Wt 3.6.1 (C++): download wt-3.6.1.tar.gz ( release notes )
Binary builds for Windows are available on the GitHub releases page .
Some users of (J)Wt
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。