This week's JavaScript news

Read this issue on the Web

JavaScript Weekly

Issue #121 - March 15, 2013


Node v0.10.0 (Stable) Released
Highlights: Streams2 – unified, more pluggable stream handling; domains group I/O operations and allow you to be notified of errors in callbacks and event emitters; more predictable scheduling of process.nextTick’s callbacks; more predictable and stable latency due to handling garbage collection differently; numerous bug fixes. Bert Belder has also written a What's New in Node 0.10 post describing what’s new in this version.

New Working Draft of ECMAScript 6 Available
Includes bulletpoints of the key changes.

From our Sponsor

Are you a mobile web developer?
No? Front-end developers ARE mobile developers. Don't think so? Prepare to be left behind. BDConf is all about the latest in mobile web design & development... while at the same time sharpens your existing front-end skills. Join us. You'll see.


Getting Into Ember.js
Over at NetTuts+, Microsoft's Rey Bango presents a fine introduction to Ember.js's core concepts.

The Strategy Design Pattern in JavaScript
The Strategy design pattern involves coding against an abstract API so that different concrete implementations can be used. For example, the abstract API might be “authentication”, the concrete implementations might be “authentication via Twitter, Google, Facebook, etc.”. This blog post explores the Strategy pattern in JavaScript.

Using Google's Closure to Compile and Verify Your JavaScript
The Google Closure Compiler is a tool for delivering more efficient JavaScript: It merges files, removes dead code and minimizes code (by striping out comments, and compressing variable and function names). It also verifies syntax, variable references and types and warns about common anti-patterns. This blog post explains how to use it.

A Subtle Difference Between Window Properties and Global Variables
Setting is not always the same as creating a global variable foo.

ECMAScript 6 and Spread Operator
ECMAScript 6 will have an operator for “spreading” an array into a function, method or constructor call (turning the array elements into arguments). This blog post explains how it works.

JavaScript Asynchronous Architectures: Events vs. Promises

Inter-Window Messaging Using localStorage
If users have opened multiple tabs with your web application, you can use localStorage to communicate between them. This post explains how.

AngularJS for jQuery Developers

What’s The Difference Between Currying and Partial Application?
Further reading: blog posts by Ben Alman and Axel Rauschmayer on this topic.

Tracking Down A Memory Leak in Node.js and Socket.IO
J.P. Allen recounts how he tracked down a memory leak that affects everyone running Node.js 0.8 and Socket.IO over HTTPS. He also mentions a fix.


Meteor 0.5.8: Security Fix, AppCache, DB Transforms, New Deps
This release limits certain client database updates, adds AppCache support, improves the low-level Deps facility, and adds support for literate coffeescript and Meetup OAuth logins.

YUI 3.9.0 Released

What’s New in NetBeans 7.3: HTML5!
Oracle recently released version 7.3 of its free NetBeans IDE and it now has full support for HTML5, CSS and JavaScript. For example: an HTML project wizard which allows you to select popular boilerplate templates and JavaScript frameworks; a lightweight internal server; an embedded WebKit browser; Chrome integration; responsive web design facilities; etc.

Code and Libraries

Sails.js: Rails-Like MVC Framework for Node.js
Sails.js helps with building custom, enterprise-grade Node.js apps. It is designed to resemble the MVC architecture from frameworks like Ruby on Rails, but with support for the more modern, data-oriented style of web app development. It's especially good for building realtime features like chat.

Formula.js: JavaScript Implementations of Spreadsheet Formula Functions
Implements most formula functions supported by Microsoft Excel 2013 and Google Spreadsheets. Dependencies: jStat, Lo-Dash, Moment.js, Numeral.js, Numeric JavaScript, Undercore.string. An npm package and an AMD module are under development.

FieldState: Minimise Your DOM Logic for Form Field Control
A powerful, mini, HTML5 attributes-based API for responsively controlling the required/available states of form fields.

Piping: Live Code Reloading On Node.js Without External Scripts
Piping enables live code reloading in your Node.js app by simply requiring a library (as opposed to existing solutions where you have to start Node.js from an external script).

Epoxy.js : Elegant Data Binding for Backbone
Adds data binding to Backbone. Key features: computed model attributes, declarative view bindings, automated dependency mapping, automatic view updates.

Abba: JavaScript A/B Testing
Run two different versions of a web site, find out how it affects conversion rates. Comes with a self-hosting server, requires Ruby 1.9.3 and Mongo.

Countable.js: Live Word Counting in JavaScript
Countable adds live counting of paragraphs, words and characters to an HTML element. It is small and does not need any libraries.

Pixi.js: A Fast HTML 5 2D Rendering Engine That Uses WebGL with Canvas Fallback
The aim of this project is to provide a fast lightweight 2D library that works across all devices. It leans on WebGL for performance but requires no prior knowledge of it. There's a blog post that explains more and a demo game to enjoy.

Runnable: Run Server-Side Code and Discover APIs in Your Browser
This service lets you create usage examples for your framework or API so that people can try them out live in their browser. Works for either client-side or server-side (Node.js) code.


Front-End Brainiac at VividCortex
Your mission: build visualization/analysis UI for a monitoring and analysis system. You'll use Angular, D3, Testacular, and CSS/HTML5. It's complex, real-time, and you'll handle 3.5 trillion data points per day. Is that enough of a challenge for you?

Javascript Guru (San Francisco, CA)
If you like hard problems, enjoy working with cutting-edge technologies, and have a good sense of usability, adventure and humor, Krux could offer you your dream job.

Senior Software Engineer (Front End) at (San Francisco)
Gigwalk is reinventing what it means to find work in a mobile world. We are looking for talented folks who want to be a part of building a great company. Must have HTML/5, CSS/3, Javascript (jQuery, but not only jQuery), and a love for API's.

Last but not least..

Ember.JS Gets an Official Discussion Forum
Built upon the Ember.js-powered Discourse forum software, it already seems to be quite popular.

Editor: Dr. Axel Rauschmayer | Publisher in Chief: Peter Cooper

Want to see more? Check out the archive of all our old issues!

Reading this as a non-subscriber? Click here to subscribe.
Want to advertise? See our media kit for details.
Want to post a job? Use our self serve system or reply to this e-mail.
To otherwise contact the editor, just reply to this e-mail :-)

© 2012 Cooper Press Ltd. – Office 30, Lincoln Way, Fairfield Enterprise Centre, Louth, Lincs, UK
Unsubscribe or Update / Change Your E-mail Address