Which Toolkit?

As previously mentioned, client-side development suffered from a lack of toolkits or frameworks. However, in 2010, there are quite a few choices - including a few that completely bypass JavaScript and HTML.

While this list is not exhaustive, some of the key client-side toolkits include:

  • jQuery
  • Google Web Toolkit (GWT)
  • Dojo
  • YUI
  • Flex

So with all of these toolkits, which one is "best"?

Although it sounds anti-climactic, you can build successful solutions with any of these choices. That being said, I have leaned towards Dojo for a few reasons:

  • I believe Dojo's extensive collection of widgets - along with their approach to HTML markup - provides the easiest transition from pure server-side development to a hybrid of both client-side and server-side.
  • Dojo seems to have a better handle on issues such as accessibility (for people with disabilities). And while accessibility isn't necessarily the first thing mentioned in a discussion of a startup company, enterprise developers take this very seriously.
  • Dojo strives for "graceful degradation". So in most cases, if your user is on a less-capable browser, the client-side code should "degrade" back to traditional HTML without preventing the user from completing their task.
  • The Dojo documentation is not great, but it's better than it used to be.

To be clear: High-quality web applications have been built with any number of different toolkits, and several of the techniques listed in these articles may apply elsewhere. I just happen to find Dojo to be a good fit for me. If you do too, then these articles may help.