Leading free software application widget sets include GTK2, QT4 and
wxWidgets. Web application development is still considered to be a bit
of a black art, with knowledge of CSS, javascript and AJAX trickery
making many side-step HTML completely and go for Adobe Flash or
Silverlight to get that "rich media" experience that typical Web apps
entirely lack. And, worse, writing apps that run - unmodifed - on both
the desktop and the web is impossible if you want to stick to Free
Software development principles and ethics.
AJAX "toolkits" as they are known, such as YUI, Google Web Toolkit and Pyjamas are the
"middle-ground" to making Web application development look and feel that
much more like you're developing a real desktop application. In the
case of GWT and Pyjamas, you're even programming in Java or Python,
respectively, and the tool is actually a javascript compiler! The next
logical step is to ask the question, "If these toolkits look,
feel and smell like Desktop applications development APIs, why are they
not *actually* Desktop applications development APIs?". Pyjamas-Desktop
is the answer to that question, effectively making Pyjamas a de-facto
standard for cross-browser, cross-platform, cross-desktop,
cross-environment and, ultimately, a cross-widget-set Free Software
applications development API.
Finally, there's a way for free software
developers to write applications that run - unmodified - as both a web
app and a desktop app.