InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Dojo 0.9 Goes Final with Significant Performance Improvements

Posted by Scott Delap and James Estes on Aug 20, 2007

Sections
Development
Topics
Web Frameworks ,
Java
Tags
Dojo ,
AJAX
Dojo 0.9 final version was released today after close to 7 weeks in beta release. Some of the highlights:
Dijit
  • unified look and feel for all widgets
  • ambitious a11y and i18n features in every Dijit widget
  • a mature CSS-driven theme system with multiple, high-quality themes
  • huge improvements in system performance
  • data-bound widgets
  • Declarations for lightweight widget writing
  • a new page parser that allows instances of any class, not just widgets

Core

  • reduced API surface area (easier to remember and use)
  • dojo.query() always available, returns real arrays
  • from-scratch high-performance DnD system
  • Base (dojo.js) is 25K on the wire (gzipped)
  • dojo.data APIs finalized
  • new build system
  • new test harness for both CLI and browser use
  • dojo.behavior now marked stable and based on dojo.query
  • excellent animation APIs with Color animations in Base (always available)
  • all the features you've come to count on from Dojo (RPC, JSON-P, JSON, i18n, formatting utilities, etc.)

DojoX

  • high quality implementations of previously experimental features: gfx (portable 2D drawing), data wires, offline, storage, cometd, etc.
  • dojox.gfx now includes Sliverlight support
  • many more features and improvements than there's room for here.

The performance improvements sound significant:

Dijit apps about 1/2 the size compared to 0.4 Page load time much faster: no javascript sizing in widget code

Blogger Daniel Ruspini wrote up his impressions of 0.9 from the Ajax Experience conference earlier this month:

...although I'd heard a lot about what was happening with 0.9 this was the first time I'd seen some of the changes and real size/performance numbers. The idea behind 0.9 was to scale down the code which had grown bloated over time due to the nature of the core principles: support as many browsers as possible, allow contributers to add widgets to the widget library, support backwards-compatibility code. What they found was that 30% of the code was expendable. Also the widgets had been written in a variety styles and were not all consistent in use; while others were not used by most developers. In some cases very popular widgets were trying to do too much by covering every possible use case which made them slow (ex. Button)...

Dojo 0.9 is backwards-incompatible with all previous Dojo releases. A porting guide is available for users looking to move from 0.4 to 0.9.

No comments

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.