State of Ajax at Google I/O: Performance, Performance, Performance
By Dion
Almaer, Google Developer ProgramsThis post is
one in a series that previews Google
I/O, our biggest developer event in San Francisco, May 28-29. Over the next two
months, we'll be highlighting sessions and speakers to give Google Code blog readers a better
sense of what's in store for you at the event. - Ed.Ever
since Ajax reemerged to create new exciting Web applications, we have seen a lot of growth in
the ecosystem. Who would have thought that the universe would have expanded from richer
browser applications to mobile, embedded, widgets, and desktop platforms. You can program it
all with the same HTML, CSS, and JavaScript that you know and .... maybe love.
We are excited about what 2008 brings for Ajax applications, and look forward
to
diving into the action with
our session at
Google
I/O.
At its core we seem to have
performance in various very different forms.
Application SpeedWe are seeing a lot of focus
on making your applications perform well. With leaders like Steve Souders, we have seen how
small tweaks to our front end engineering can leave to an improved perceived performance of
our applications, which leads to a better user experience. At Google, I have seen first hand,
how important latency is to applications, and I am excited to see this trend expanding to the
community as a whole.
One part of the puzzle is the browser itself.
With new browsers such as IE 8, Firefox 3, and Safari 3.1 come improved performance across the
board. We can learn how to make the browsers optimize their downloads in parallel, JavaScript
and DOM execution speed.
With some of the features in Gears, such as
the Worker Pool, we have also seen significant improvements in performance as you allow the
execution to happen outside of the usual browser pipeline.
Even tests
like Acid3 have
performance
benchmarks built-in.
ProductivityShortly after Ajax was coined, we saw a proliferation of Ajax libraries. Most
started out as simple wrappers on top of XMLHttpRequest, but they have grown over time to
handle cross browser issues (e.g. hide and abstract differences), with lots of work making DOM
manipulation easier. The recent trend has been to move to a CSS based model, lead by jQuery,
where you attach behaviour all through CSS selectors.
We have a
scientific methodology to determine which library is for you, after extensive research, and
just because this is Google I/O do not presume that it always returns GWT!
User ExperienceThe reason that Ajax took off
in our minds isn't due to any magic in XHR, but because it brought a revolution to the user
experience of Web sites. Suddenly you could build highly interactive applications, instead of
the archaic redraw Web. Imagine a desktop application that redrew the entire application every
time you caused an event (such as a mouseclick).
This is where the
state of the art continues to thrive. How can we improve the user experience of Web
applications? There are many popular applications that showcase new methods, and plenty of bad
ones to learn from too.
StandardsHTML 5 is moving along nicely. Understanding the parts and pieces to this world is a
glimpse at the future. There are many features that have you saying "at last!", and we will
delve into all of these. Gears also fits into the HTML 5 picture, so we can talk to various
initiatives in the standards space.
We hope to get a chance to chat
with you at the conference!