Basically it's a graphical UI framework (like Qt), except rather than
outputting to a windowing interface, it outputs to the web. It's a
pretty crazy shift in how you program for the web, but possibly a shift
for the better.
Basically, PHP and most web frameworks were built around the "page"
metaphor, reflecting their content-centric history. Websites sorta back
into applications by breaking them down into "pages". But this doesn't
always make sense. (In Expensify's case, for example, we pretty much
only have two pages that do everything, which is a bit of a mess.)
Wt takes an entirely different approach and builds up the application in
terms of normal UI constructs. Accordingly, you don't think in terms of
page loads and ajax calls, you think in terms of dialogs and frames.
Furthermore, it handles all the details of progressively degrading based
on browser capabilities. For example, it includes vector rendering. If
the browser supports it natively, it'll do it all natively. Otherwise
it does it serverside. The programmer can ignore those low-level
browser-specific details and just focus on "I want a graphic here that
does this".
Anyway, probably not a real option right now, but an interesting thing
to consider nonetheless. So much of the web is based on its
content-centric background, and that makes a lot of it annoying. It's
interesting to instead rethink the web not as a series of linked pages,
but as a general rendering framework -- like OpenGL or X Windows.
Unfortunately, I bet Wt will be overlooked because it's written in C++.
But I think the ideas it's pursuing (though I doubt they pioneered
them) are going to become mainstream.
Indeed, given the realities of compile-before-deploy (GWT, less css,
minification, code generation), the growing adoption of strict typing
(eg, in JavaScript 2.0 / ECMScript 4.0), the latest trends in graceful
degredation for different form factors and browser capabilities, and
even the overwhelming success of Objective-C for iPhone apps -- maybe
we're coming to realize that all those tried-and-true language features
and programming constructs weren't such a bad idea after all?
-david