We Need a Client-Side Web Framework

Webapplications need to be enriched. A couple of months ago I thought what we had back then was about as rich as we could get, but since Google started to write rich web applications I believe we can do a lot better than what we’re doing right now. Have a look at Gmail and the very recently launched Google Suggest (which has “query completion” as you type). Those are cool, right? Why don’t your web applications work as smooth as that? Because writing web application sucks when it comes to client-side stuff.

There are many different browsers and versions thereof to take into consideration. IE 4 handles things different from IE 5. IE 5.5+ has the capability to do WYSIWYG editting in a table cell. Mozilla/FireFox has that feature aswell, but implemented differently. And there’s Opera and KHTML browsers like Konqueror and Safari… Seriously, if we can make our website look the same in all those browsers we can consider ourselves lucky already. That’s why we need a (preferably open source) rich client-side web framework; a bunch of UI widgets written in JavaScript and HTML that we can just include into our applications and use.

Yes it’s a shitload of work to find a comfortable implementation of each of the different widgets you’d want, but if it’d be open source, each can make its contribution. These are a couple of widgets that I think would be useful:

  • A WYSIWYG editor, and if WYSIWYG isn’t supported in the browser a good textarea with HTML buttons on top to make manually typing HTML barable.
  • An auto-complete text box, like the one on Google Suggest. It could work by doing postbacks while typing using XmlHttpRequest or by choosing values from a JavaScript array.
  • Tabset, quickly switch between different tabs. I can imagine loading the content of all the tabs upfront or lazy-loading them (i.e. loading the content the first time the tab is clicked).

I know there’s already a quite good implementation of a cross-browser WYSIWYG editor called HTMLArea, but what you end up with if your browser doesn’t support WYSIWYG editting isn’t exactly rich. HTMLArea also shows that you can’t write rich controls without good browser support. Gecko based browsers (Firefox, Mozilla) disallow using the clipboard from Javascript by default. Therefore you can’t copy, cut or paste content in HTMLArea in a Gecko based browser. A show stopper in my opinion. Anyone knows of any other good rich controls? We really need this to advance in rich web development.