After several years in development, the open-source Ajax framework reached its 1.0 version. A rich-client data grid, charting, 2D and 3D graphics, internationalization, and an improved look-and-feel are part of the 1.0 release.
The Dojo Toolkit is one of the major client-side Ajax frameworks. Several years in development, Dojo provides a very rich client-side API, approximating what resembles to a subset of Java SE and Swing. Dojo is not dependent on any server-side programming language, and has been used successfully with Java, Python, PHP, and Ruby back-ends.
The core library is only 23KB, with additional modules and configurations available based on the extent client-side components are used in an application. While Dojo's utilities can benefit almost any Web application, most of its components, as well as its programing model, are geared toward a page-as-application style architecture.
New features in the 1.0 release include:
The Grid. This is the feature everyone's been waiting for, and now it's here! With support for virtual scrolling to accommodate huge data sets efficiently, built-in sorting and column resize to help you find what you're looking for, complex formatting, and fixed rows and column headers, the new Grid lets you slice-and-dice your data as never
before. The 1.0 grid features a Tundra theme, editing and write-back examples, support for custom cell editors (including the full set of accessible and localized Dijit editing components), and markup-driven instantiation.
Charting returns! The new dojox.charting supports automatic axis calculations, widget-driven instantiation, multiple chart types, dojo.data data sources, and theming. Good-looking, data-oriented default themes help make your data understandable and easy on the eyes at the same time. And since dojox.charting is based on dojox.gfx, the general-purpose 2D drawing layer in Dojo, charting will only get more powerful, responsive, and good looking over time.
a11y and i18n: rich experiences for everyone. All ... widgets feature keyboard navigation, right-to-left text detection and layout, and solid localizations for 12 languages.
Universal data access. dojo.data and the growing list of data store implementations makes building and using data-driven widgets simpler and faster.
dojox.gfx3d. Beautiful, portable 2D drawing is what dojox.gfx has always been about, and we're taking it further with the ability to draw 3D scenes. 3D charting is based on gfx3d.
What do you think of Dojo's rich API and its client-centric approach to Web application development?
I think the client centric approach is very interesting. It is more like programming a database client for the desktop and not so complicated like web programming (no states, what does which part do ...)
I don't agree with that statement. For the vast majority of users the purpose of neither is programming for programming's sake in some particular language. Both GWT and Dojo are for building applications that run in browsers and you should pick the best one for that purpose. For this reason they are in direct competition with each other, and with flash/flex etc. Certainly the current skills of the developers should influence the choice of framework/platform etc. but at the end of the day it's the final application that matters and you pick the tools that are going to produce the best end result, most rapidly and with appropriate quality.
> I don't agree with that statement. For the vast majority > of users the purpose of neither is programming for > programming's sake in some particular language. Both GWT > and Dojo are for building applications that run in > browsers and you should pick the best one for that > purpose. For this reason they are in direct competition > with each other, and with flash/flex etc. Certainly the > current skills of the developers should influence the > choice of framework/platform etc. but at the end of the > day it's the final application that matters and you pick > the tools that are going to produce the best end result, > most rapidly and with appropriate quality.
but.....to each his own, I still believe it really isn't for the same group of people though. What programmers enjoy doing also does play a role in development.
The definition of "best end result" is a highly debatable concept. For an intranet app maybe, but the bar goes way up in public facing / high volume applications...