Friday, April 04, 2008
State of Ajax at Google I/O: Performance, Performance, Performance
This 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.
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.
We 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.
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.
Shortly 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!
The 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.
HTML 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!