More Secrets of Javascript Libraries
Last week's SXSW
conference in Austin, TX had a panel session that was hosted by
authors of four of the leading JavaScript libraries. Each speaker
was given ten minutes plus Q&A to present a topic of particular
interest to themselves. They included:
- Nate Koechley of YUI speaking about network performance and
file loading.
- Andrew Dupont from Prototype discussing the abstraction
provided by using frameworks.
- Dojo's Becky Gibson quickly introducing the upcoming ARIA
specification.
- John Resig, creator of the awesome jQuery library talking about
performance analysis and testing techniques.
Some of the slide highlights for me where:
- Slide 44: The introduction of YUI's Loader and Get utilities
plus the "seed". Outside of the YUI dependency of course this is
supposedly a library agnostic way of combining multiple script
references on a page to a single reference. A single reference is
preferable since it requires far fewer HTTP GET requests. The YUI
utilities also include JIT loading of dependent scripts. This
means you should be able to reference that large image manipulation
script on your photo page, but not actually download it unless the
user decides to edit a picture.
- Slide 118: John Resig has written a jQuery plugin that can be
used to do deep-profiling of the JavaScript stack
- Slide 129: I had no idea there was a unit testing plugin for
FireBug
- Slide 139: This slide shows a graph of the Cost/Benefit ratio
of developing for IE6, IE7, FF3, Safari 3 and Opera 9.5. Guess
which one had the highest cost to benefit? IE6 was the worst and
FF3 the best.
- Slide 140: A screenshot of the Yahoo Graded Browser Support Chart. Although
I've seen this chart before it was particularly pertinent for me
since I'm dealing with some serious issues involving support for
Safari 2. Interestingly Safari 2 doesn't even show up on Yahoo's
chart. It also makes me think about Internet Explorer 6. Many web
developers are very quick to jump on the anti-IE6 bandwagon (I'm
guilty too) but the development community might be far better off
adopting universal support for a graded browser definition.
Because as much as IE6 is a pain in the ass to deal with, Safari 2
is an impossible nightmare!
- Slide 142: The jQuery Browser Support Grid for jQuery 1.3.
This was a frightening slide. Assuming there is no typo it tells
us that jQuery 1.3 does not support Safari 3! It does support 3.2
and the pending 4.0 release. As a result I have a task on Monday
to go through the analytics for all the projects I support to see
how many visitors are showing up with 3.0 browsers.
- Slide 147: jQuery will be debuting TestSwarm at the
end of March. It's a distributed continuous integrated testing
environment for JavaScript.