background preloader


Facebook Twitter

What to Read to Get Up to Speed in JavaScript. There’s a discussion going on on the JSMentors JavaScript mailing list about books to read to get you to the next level .

What to Read to Get Up to Speed in JavaScript

There’s been a lot of great feedback and suggestions thrown out and I wanted to offer up what I felt were good to carry you through the learning process. While I list a number of books in the Big List page that I created , narrowing it down into specific levels makes a lot of sense. Note that some resources will overlap between levels. That should be expected as some books cover a wide breadth of language features. Also, I am NOT covering blogs in this post, only books (print and online). Easel JS: A Javascript Library for Working with the HTML5 Canvas Element. Recent Updates Follow @CreateJS November 2014 Updates in preparation for next release (coming soon).New class model, with big performance increases October 2014.

Audio.js. It uses native <audio> where available and an invisible flash player to emulate <audio> for other browsers.


It provides a consistent html player UI to all browsers which can be styled used standard css. Installation. Face Detection jQuery Plugin. Batiste/sprite.js - GitHub. Beautiful math in all browsers. Organizing A jQuery Application - Jupiter JavaScript Consulting. Earlier this week, I realized that every organizing-a-jQuery-application blog, article, and conference talk misses the most important lesson on how to organize a jQuery app.

Organizing A jQuery Application - Jupiter JavaScript Consulting

They talk about how to organize an individual widget or piece of functionality, but not how you can break up an application into logically separate and testable components. Separation of concerns is the bedrock of software engineering. It is the best way to achieve a quality, error free, and maintainable project. Think about it … If your code’s logic is isolated, how much damage does making an incorrect decision do? 37signals' Chalk Dissected. Update 2010-11-05: I dove into the JavaScript a little and explained most of it.

37signals' Chalk Dissected

Sam Stephenson tweeted that Chalk is written in CoffeeScript and compiled on the fly when served using Brochure. That's hot! (for those unaware Sam Stephenson works at 37signals, and is also the man behind Prototype.) 37signals recently released a blackboard web app for iPad called Chalk. It includes Thomas Fuchs new mobile JS framework Zepto, a few images, iOS SpringBoard icon, and of course HTML, CSS, and JavaScript. The manifest is a nice summary of the contents, and allows browsers to cache the app for offline use. Evercookie - virtually irrevocable persistent cookies. Badass JavaScript. Sylvester - Vector and Matrix math for JavaScript.

SimpleYUI is a new way of loading and instantiating YUI. The SimpleYUI file contains a rollup of basic Ajax library functionality: DOM tasks, event abstraction, transitions, and Ajax. Unlike other ways of loading YUI, SimpleYUI creates a YUI instance immediately upon loading, binding all included components to a global Y . Using SimpleYUI is easy: src= " > //Y is ready to use; no instantiation necessary: Y . one ( "#foo" ). addClass ( "highlight" ); Work with the DOM SimpleYUI gives you all of the standard DOM interactions in the YUI 3 API: //get an element reference, add a click handler Y . one ( '#demo' ). on ( 'click' , function ( e ) { /*handle click*/ }); //add content to an element.

Google JavaScript Style Guide. We follow the C++ formatting rules in spirit, with the following additional clarifications.

Google JavaScript Style Guide

Curly Braces Because of implicit semicolon insertion, always start your curly braces on the same line as whatever they're opening. For example: if (something) { // ... } else { // ... } Array and Object Initializers. Mastering Node - Open Source Nodejs eBook. Understanding JavaScript’s this keyword.

(In Portugese) The JavaScript this keyword is ubiquitous yet misconceptions abound.

Understanding JavaScript’s this keyword

What you need to know Every execution context has an associated ThisBinding whose lifespan is equal to that of the execution context and whose value is constant. There are three types of execution context: global, function and evaluation. JSLint, The JavaScript Code Quality Tool. Google Closure: How not to write JavaScript. At the Edge of the Web conference in Perth last week I got to catch up with Dmitry Baranovskiy, the creator of the Raphaël and gRaphaël JavaScript libraries.

Google Closure: How not to write JavaScript

Perhaps the most important thing these libraries do is make sophisticated vector graphics possible in Internet Explorer, where JavaScript performance is relatively poor. Dmitry, therefore, has little patience for poorly-written JavaScript like the code he found in Google’s just-released Closure Library. Having delivered a talk on how to write your own JavaScript library (detailed notes) at the conference, Dmitry shared his thoughts on the new library over breakfast the next morning. “Just what the world needs—another sucky JavaScript library,” he said. When I asked him what made it ‘sucky’, he elaborated. For the rest of the day, to anyone who would listen, Dmitry cited example after example of the terrible code he had found when he went digging through Closure. A JavaScript Module Pattern.

Eric Miraglia (@miraglia) is an engineering manager for the YUI project at Yahoo.

A JavaScript Module Pattern

Eric has been at Yahoo since 2003, working on projects ranging from Yahoo Sports to YUI. For the past several years, Eric and his colleagues on the YUI team have worked to establish YUI as the foundation for Yahoo’s frontend engineering work while open-sourcing the project and sharing it with the world under a liberal BSD license. Eric is an editor and frequent contributor to YUIBlog; his personal blog is at Prior to working at Yahoo, Eric taught writing at Stanford and elsewhere and led frontend engineering teams at several startups. Global variables are evil. Douglas Crockford has been teaching a useful singleton pattern for achieving this discipline, and I thought his pattern might be of interest to those of you building on top of YUI.

Css3-mediaqueries-js - Project Hosting on Google Code. Css3-mediaqueries.js by Wouter van der Graaf is a JavaScript library to make IE 5+, Firefox 1+ and Safari 2 transparently parse, test and apply CSS3 Media Queries.

css3-mediaqueries-js - Project Hosting on Google Code

Firefox 3.5+, Opera 7+, Safari 3+ and Chrome already offer native support. Base2 - Project Hosting on Google Code. Because this library is standards-based it means that you don’t have to learn a new API. It uses standard (DOM, ECMAScript) properties and methods throughout which also means that there is no need for a lot of accompanying documentation. base2 is a lightweight library that irons out all the annoying differences in JavaScript implementations. It provides the additional functionality from JavaScript 1.6+ that only Mozilla browsers implement. It also adds some features from ES4. The library is only 6KB (gzipped). You may link directly to the files above. CommonJS: JavaScript Standard Library. Node.js: JavaScript on the Server.