Sugar augments the existing JavaScript environment with helper methods on existing objects. From fixing broken support of standard methods, widening acceptable arguments, multi-lingual and improved regex support on strings, nice supplementary string methods like words()
, and shortcut methods to Math object methods. Additional helpers for Dates, Objects, Functions and Regex. An library for a consistentising JavaScript across different imlementations.
Although Christian Heilmann covers what he wished he knew about JavaScript earlier, he actually points out the features JavaScript developers should know: shortcut notations, JSON, native JavaScript functions, event delegation, anonymous functions and the module pattern, allowing configuration, and using good libraries to abstract away browser differences.
Addy Osmani introduces backbone.js as one part of the toolkit for building mobile JavaScript web applications. Backbone is an MVC-like framework to structure your application, simplifies server-side persistence, decouples the DOM from data, succinctly separates apps into Models, views and routers and provides synchronisation between DOM, model and collections.
Thomas Fuchs offers a JavaScript powered application that allows developers to filter down to find the most appropriate JavaScript micro-library or micro-framework for their project. There has been an explosion of mini-libraries in the JavaScript world as web developers get to grips with more complex and rich user interfaces and web applications.
Remy Sharp dissects a piece of jQuery code pointing out the red flags. Each flag is taken in turn, explained and shown how to correct. Takes into account context and the flexibility of jQuery
Simon Willison blogs about how JQuery won him over. From its faddish start based around CSS selectors (getElementsBySelector), and method chaining, Simon now sees the library in a new light. Simon shows how jQuery supports modern development best practice such as namespaces, giving a quick nod to the richness of jQuery selectors (DOM, CSS and XPath). JQuery's event handling looks natural and offers an event when the dom is ready. It exposes custom events for non-trivial Ajax requests. Simon's so convinced about jQuery that he's willing to overlook his rule that developers should know how a library works before using it.
Tim Huegdon and Mark Aidan Thomas create an elegant wrapper to the YUI Connection Manager that manages repeating Ajax JSON requests. Tim describes the use of Custom Events, and the use of the Observer design pattern, dissects the code and offers a tidy demonstration of the working code. This simplifies JSON requests into declaring a simple function to process the returned JSON object, and a single line to fire off the request (within a setInterval if required)
Another Douglas Crockford video. This time Douglas talks about the Document Object Model, about how Java failed, and JavaScript evolved thanks to DHTML and DOM. He talks about how to use DOM to traversing and manipulating elements in an HTML document, walking the DOM, making elements, innerHTML, as well as Events, memory leaks. He talks about the cracks in DOM, and how we must be prepared to back off when we hit the browser limits of DOM.
Christian Heilmann describes an approach to building complex web application by basing them around events, particularly around YUI's CustomEvent class.
Guides, notes, overviews, documentation for the Prototype library. Pathfinder compiles a list of useful resources for this library.
Ryan Campbell shows how to get the Prototype library up and running, and introduces and documents Protoype's $() function. Form helper functions, getElementsByClassName functions, Element helper functions, Ajax support, timer functions are all covered.
Michael Mahemoff runs into a problem with Protypes $$ function when looking for class names. Its taking over 90 seconds when more than 100 matches are returned. The advice is: Avoid $$(".classname") on large DOMs.
Ryan Campbell volume tests Prototype's each() Enumeration function and finds that although the code is more elegant than the for loops, the overhead is quite heavy, and the performance impact too high. The summary: If basic JavaScript will do the task, then use basic JavaScript
LowPro is a scripting extension to Prototype written by Dan Webb to make unobtrusive DOM Scripting much easier. Included are an onReady event, adding behaviour using CSS selectors, fixing the this reference to always refer to the element within events, and a mechanism for triggering events.
Dustin Diaz makes the case for using YUI Event Utility over the currently popular addEvent. The benefits Dustin points out include automatic scope correction, automatic browser abstraction.
As well as supporting CSS based selectors, jQuery also supports XPath expressions. This page lists a plethora of code snippets demonstrating jQuery's XPath matching capabilities.
A list of the CSS Selectors supported by jQuery. It includes the regular gamut of CSS selectors as well as attribute selectors, pseudo-selectors and child selectors.
Covers all the methods available on the jQuery library, along with inline code examples. Interestingly, the same documentation is also available as XML and JSON.
A fairly active mailing list for jQuery, covering using the library, JavaScript questions, and announcements of jQuery plugins. The archive goes back to January 2006.
A useful overview / introduction of the jQuery library, covering using selectors and XPath expressions to target specific elements in a document, simple Ajax requests, the basic animations available, restructuring a document, creating jQuery plugins.
IE7 is a JavaScript library to make IE behave like a standards-compliant browser. It fixes many CSS issues and makes transparent PNG work correctly under IE5 and IE6.
A lightweight library designed to elegantly dealing with common, repetitive tasks. Great as a small library to handle getting various nodes in a document, adding events, and rendering simple effects.