Ext is a fast-growing community offering sophisticated widgets and tools in an attractive professional package. It is a very effective mixture of commercial sophistication and open source freedom.
Google Web Toolkit 1.4
License: Apache 2.0
Support: You can always type “gwt support” into google.com
Nutshell: A great tool for ex-Java Swing programmers and others who dig typed content
The average person may know the Google Web Toolkit by the public applications built with it (Gmail, Google Maps), but programmers
know it as one of the oddest and most intriguing hybrid languages. Traditional programmers who like writing typed code will
love the idea that they can write nice, pure code in the well-regulated Java world, and then have the GWT carefully translate
it into something that will run in the more unstructured, untyped world of cross-browser JavaScript.
Adherents argue that the GWT compiler can be smarter than even the best programmer in structuring good code that works in all possible browser combinations. They suggest that JavaScript coding is more like assembly coding and it only makes sense to let the computer handle the grungy details.
[ View a brief tour of Google Web Toolkit ]
Skeptics can't disagree with this basic premise because the code works well, essentially offering the strongest possible proof by demonstration. But they can argue that JavaScript isn't assembly code at all, just a modernized version of Lisp with a terribly verbose set of functions for manipulating the DOM. Expressing all of the logic in type-bound Java is needlessly limiting when there are so many type-free constructions available in JavaScript. Why ignore the richness of the JavaScript world just to make it easier to code in Java?
GWT's structure is more stable and produces a GUI that feels a bit more like a classic client application, circa 2000. This is why some GWT users are merging it with some of the other toolkits, producing hybrids like GWT-Ext, a fascinating mash-up that highlights some of the advantages of working with open source software.
The best matches for the GWT will continue to be former Java programmers, particularly those who know the Swing framework well. Most of the abstractions are close to direct analogs, something that's not surprising, given that some of the initial GWT developers were Swing refugees. This is attracting some of the sophisticated ideas from the Java world. Eclipse is easy for GWT users to adopt, and a new visual layout tool from Instantiations, GWT Designer, will warm the hearts of those who use the Matisse tool to build Swing applications in NetBeans. Shoot, some GWT developers are talking about writing their unit tests in Groovy!
jQuery 1.2.3
License: MIT and GPL
Support: Online forums, blog
Nutshell: A feast of user-produced plug-ins from a vibrant community
If you're looking for the most fanatical supporters, the crowd orbiting the jQuery libraries is passionate, devoted, and very
creative. The jQuery library at the core has attracted a large crowd of plug-in developers who distribute their code separately.
The group is more organized than the libraries built on top of Prototype, but far from as monolithic as the Dojo group.
Much of the focus of jQuery core code is aimed first at wrapping some effects around divs. The examples show paragraphs appearing and disappearing. The core library is well-integrated with the CSS toolkit, and there are a number of simple functions for manipulating the CSS.
[ View a brief tour of jQuery ]
The attraction of jQuery may rest heavily on a smart design pattern: Every jQuery function returns an object, making it possible to chain together a string of commands in one compact line.
For example, the line $("a").filter(".clickme").hide() will select all anchor tags, keep only the ones in the class "clickme," and then hide them.
The core library offers only some tools for manipulating the DOM with some good effects. The bigger tools, such as the grids, the color pickers, and the slideshows, are relegated to plug-ins. This area is wide open, fertile, and a bit cacophonous. There can be multiple versions of the same basic device in different states and with different levels of compatibility with the current release of jQuery. The central project maintains a central list with ratings and votes, but it leaves the distribution and development up to the individual responsible for a plug-in. To make matters a bit confusing, some of the plug-ins are so large and multitalented that they start attracting their own following. Interface, for instance, is one plug-in that many jQuery programmers can't live without because it handles so many basic chores.
Peter Wayner is contributing editor of the InfoWorld Test Center.
Talkback
E-mail
Printer Friendly
Reprints





