JavaScript Weekly
Issue #18 - March 18, 2011

It's issue 18 and it's March 18 (the 6th birthday of Ajax - did you know?). Thanks for being a part of the JavaScript Weekly club; now 4582 subscribers strong!

News

Is it AJAX's Birthday? Yes, It's 6 Years Old Today
On March 18, 2005, Jesse James Garrett wrote an article (linked at the bottom of this issue) called "Ajax: A New Approach to Web Applications" and kicked off the "Ajax" term. Happy 6th birthday, Ajax.

Dojo 1.6 Released: Object Store, HTML5 Data Attributes and More
Dojo is a popular JavaScript framework and toolkit that, it is argued, ranks very highly for its object oriented structure. This week's release of Dojo 1.6 follows from a substantial effort from the largest Dojo team ever.

jQuery Conference 2011 (SF Bay Area) Schedule Posted
The jQuery Conference 2011 is taking place in the Bay Area on April 16-17 and the speakers and schedule are now laid out. The early-bird tickets are sold out but there are still tickets to be had to join John Resig, Steve Souders, Paul Irish and other top JavaScript developers next month.

Opera Releases Web Page and JavaScript Debugger
Opera Software has extended its Opera Web browser with a DOM, CSS, network and JavaScript debugging tool called Dragonfly. Think Firefox's Firebug but for Opera.

Articles

Why JavaScript Doesn't Have Operators Yet?
Brendan Eich, the 'father of JS' and CTO of Mozilla, spends a few minutes talking about the future of JavaScript and its treatment of operators in the latest episode of his popular JavaScript podcast.

IE9 vs Chrome 10 vs Firefox 4 RC vs Opera 11.01 vs Safari 5 - JavaScript Benchmarks
ZDNet puts the latest versions of the major browsers under the spotlight and runs 4 sets of JavaScript benchmarks on them all. In short, Chrome wins and IE 9 64 bit is 'shockingly bad'.

A 'Hello World' Introduction to Dojo
Did you see the Dojo 1.6 release news above? If you're new to Dojo and want to see how it works, check out this 'Hello World' tutorial takes you through some of the bare basics.

Canvas From Scratch: Advanced Drawing
Rob Hawkes demonstrates some 'advanced' drawing techniques for Canvas elements using JavaScript.

Dictionary Lookups in JavaScript
JavaScript supremo John Resig looks at several ways of solving the same problem: looking up the existence of thousands of words in a dictionary as fast as possible.

JavaScript Trie Performance Analysis
Following on from the previous post, a commenter suggested to John Resig that he investigate 'trie' data structures. In this post, John shows how to use tries in JavaScript and what performance and memory benefits they yielded over other data structures.

Why the Nitro JavaScript Engine Isn't Available to Apps Outside Mobile Safari in iOS 4.3
UIWebViews on the iOS 4.3 platform don't have access to the full performance offered by the updated Nitro JavaScript Engine in Mobile Safari. John Gruber of Daring Fireball examines why.

Domain Specific Languages in CoffeeScript
One of the great features of the CoffeeScript language is the great expressiveness that allows easy creation of Domain Specific Languages (DSLs). In this post Amir Salihefendic explores this aspect of CoffeeScript, particularly in relation to some Ruby examples.

Plugin to Data Binding with jQuery
In a post for Microsoft's ScriptJunkie blog, Tim Kulp looks at how to 'bind' JSON-based data to templates using, first, plain-old JavaScript, before moving on to an efficient jQuery solution using jQuery Templates and DataBinder.

4 'this' Gotchas
Craig Buckler of SitePoint looks at four situations where you might get caught out by JavaScript's 'this' statement.

List Posts

33 jQuery, Mootools, and Prototype Lightbox Scripts
Alex Joy presents a well laid out list of 33 different 'lightbox' scripts (those modal dialogs that allow you to overlay images and/or HTML on the current page). There's a visual example of each too.

Top 15 Totally Fresh jQuery Plugins Of Early 2011
A totally random mish-mash of recently released jQuery plugins including carousels, accordions, a 3D gallery, and even a 'terminal emulator.'

Code and Libraries

NowJS: RPC and More in a Node.js Module
NowJS is a Node module that creates a magical 'now' namespace that's accessible by both server and client processes, making building real-time webapps even easier.

Jtalk: A JavaScript-Based Smalltalk for Web Devs
Jtalk is an implementation of the Smalltalk language that runs on top of the JavaScript runtime. It is designed to make client-side development faster and easier. Jtalk is written in itself, including the parser and compiler.

execjs: Running JavaScript Code from Ruby
execjs is a library by Sam Stephenson (creator of Prototype) that lets you run JavaScript code from Ruby scripts. It picks the best runtime available (from a generous selection) to evaluate your JavaScript.

Creating a Website Tour with jQuery
Mary Lou shares some code to put together an interactive, Web-based site 'tour' using jQuery. The demo is compelling.

Last but not least..

Ajax: A New Approach to Web Applications (2005)
It's the article that lit a fire under the collective asses of the Web development scene. Jesse James Garrett came up with the term Ajax and it's been blowing up ever since.