Five years ago, if you didn’t know XML, you were the ugly duckling whom nobody talked to. Eighteen months ago, Ruby came into the limelight and programmers who didn’t know what was going on with Ruby weren’t welcome at the water cooler. Today, if you want to get into the latest technology rage, Ajax is where it’s at.
However, Ajax is far more than just a fad; it’s a powerful approach to building Web sites and it’s not nearly as hard to learn as an entire new language.
I was looking for some GUI toolkits for Python/Ruby over the weekend to do a simple demo of a streaming database application. After looking at a bunch of them, I was wondering why I cannot use an XForms instead. I have not worked with XForms before. But by Googling around, I found that there is an effort going on to tie other scripting languages like Python/Ruby to XUL. I know that using XML for user interface is going to be future (Microsoft’s efforts in this area with XAML is another major influencer). I was also doing some thinking on how all this ties with AJAX. So when I found a link to this article by Kurt Cagle, I immediately put aside everything else and started reading it.
There are several interesting points Kurt makes in this article.
– Traces increasing demand for AJAX skill sets and describes a bit the model of AJAX programming
– Talks about parallels with Flash and how Flash developers already have the right model for leaping into this space
– Shows us how XForms may be a better model to build client side interactive applications
Kurt got my attention with this article. I am going to play around with Firefox and XForms and see what it takes to build a couple of simple applications.
The combination of XForms, XHTML, CSS, SVG, XBL-like bindings and the like can make for a wide variety of applications. Certainly, XForms could easily replace tabular presentation forms, but could just as easily be used for building rich slide-show applications, multipane websites (complete with tabs, side tabs, button sets and related controls), multipage wizards, even game environments.
It (XForms) can help tame some of the thornier AJAX programming issues, and I suspect in the end will represent the next major leap in web technologies.
As the user interaction model evolves, it will be interesting to see how it co-evolves with the server interaction model (through ws-lite or webservices).