Tutorial updated for wt 3.2.0
We developed the hangman example in 2006 to demonstrate Wt’s principles to first-time users. The tutorial used this examples to walk through the libraries basic functions. Over the years Wt evolved and many new features were introduced, but the hangman example did not always follow these new developments.
We are pleased to announce to that we have updated both the hangman example source code and the tutorial text to the current state of Wt.
The hangman example now also talks about:
-
Wt basics: compiling and running a Wt application, session management, the use of widgets, signals and slots
-
The use of Wt::Auth for user authentication
-
Wt::Dbo for interaction with databases
-
Layouting methods: CSS, layout managers and WTemplate
-
Support for in-application URLs (wt’s internal path API)
In the same effort, we also restyled the Wt::Dbo tutorial, but the contents remained largely the same.
Wt & JWt 3.2.0
A new version of the library packed, with a fair share of new features.
-
download: wt-3.2.0.tar.gz (C++) / jwt-3.2.0.zip (Java)
We bumped the mid-version number, not only because this release brings a lot of new functionality to the plate, but, we also did some changes that may require existing users to be modified — read the release notes carefully.
An introduction to Wt::Auth
A large patch landed in our git repository last week. This was the result of the merge of a development branch that has kept us busy over the last months.
In a series of posts, we will give an overview of the new modules that were added to Wt, starting here with Wt::Auth, an authentication module.
In future posts, I will discuss other novel modules such as Wt::Http (Http client), Wt::Json (JSON library), and Wt::Mail (SMTP client), which were developed under the impulse of the authentication module.
|
Note
|
If you’re a JWt user, you should be aware that for several of these new modules we are still fleshing out a suitable Java API. The reason is that we first want to find out which Java libraries can be leveraged for some of the functionality that is not easily ported to JWt, and this may impact some of the API choices. |
Wt 3.1.11, JWt 3.1.11
A new version of the library packed with lots of bug fixes and a fair share of new features.
-
download: wt-3.1.11.tar.gz (C++) / jwt-3.1.11.zip (Java)
Wt 3.1.10, JWt 3.1.10
A new version of the library packed with lots of bug fixes and a fair share of new features.
-
download: wt-3.1.10.tar.gz (C++) / jwt-3.1.10.zip (Java)
Wt 3.1.9, JWt 3.1.9
A new version of the library packed with lots of bug fixes and a fair share of new features.
-
download: wt-3.1.9.tar.gz (C++) / jwt-3.1.9.zip (Java)
URLs: pretty is good, RESTful is a liability
I’ve come to learn that Wt (and JWt) are opiniated frameworks. I like the word: Wt is not just different from other traditional web frameworks, but it is deliberately so.
Yes, Wt is a C++ library but focusing on this particular oddity is missing the point. It could have been implemented in any language, including your favorite. It just happens that we like C++, don’t believe that it is that complex (at least not compared to web application security) and wouldn’t trust anyone to implement a (secure!) web application who cannot manage a pointer deallocation.
Anyway, one of the unique things in Wt is how it handles URLs (traditionally called URL routing). Wt has an internal path API (implemented as three methods in WApplication) which allow you to:
-
attach URLs to application state
-
use the same URLs in plain HTML and Ajax sessions (with the common fragment trick)
-
use HTML5 history API to avoid the fragment trick in Ajax sessions (as of today in git) in modern browsers (Safari, Chrome or Firefox 4).
In short, you can create a modern Ajax application with perfect graceful degradation (or progressive enhancement) and search engine accessibility.
Wt 3.1.8, JWt 3.1.8
A new version of the library packed with lots of bug fixes and a fair share of new features.
-
download: wt-3.1.8.tar.gz (C++) / jwt-3.1.8.zip (Java)
WidgetSet mode and Cross Origin requests
If there is a single feature of Wt that is not well known, simple to use, and potentially very useful, then it must be its WidgetSet deployment option.
This allows a Wt application to integrate as a guest inside a host page (or application). A popular example of this concept is Google Maps, which you can easily integrate in another page. Using the WidgetSet deployment mode, you can turn any Wt application (or widget) in such a web widget with minimal effort.
Since we’ve just implemented support for native Cross Origin requests in capable browsers, we decided it was a good opportunity to show case this by hosting a chat widget (the simplechat example) inside the homepage (it should be sitting on the bottom right of your window!).
Wt 3.1.7, JWt 3.1.7
A new version of the library packed with lots of bug fixes and a fair share of new features.
-
download: wt-3.1.7a.tar.gz (C++) / jwt-3.1.7a.zip (Java)