This week's JavaScript news

Read this issue on the Web

JavaScript Weekly

Issue #134 - June 14, 2013


The Extensible Web Manifesto
Brendan Eich and several other important web people propose a new approach for evolving the web platform. Currently, it takes a long time to standardize features, after which they are implemented, used by developers and iterated based on developer feedback. In contrast, Eich et al. propose to focus on a foundation with secure and efficient low-level features. Higher-level features would be implemented in JavaScript. A Directory of JavaScript Libraries
An elegantly presented JavaScript library directory with 349 entries so far.

From Our Sponsor

Top JavaScript Developers
Expanding? We have devs that cost $0b1010000/hour. We invoice in binary. Trusted by Airbnb, Pfizer, Life360. Try a Toptal Dev for up to 2 weeks risk-free today!
(Sponsor this newsletter)


Refactoring DOM-Heavy JavaScript
Jack Franklin demonstrates refactoring in JavaScript by starting with ugly jQuery code and improving it, step by step.

Reserved Keywords in JavaScript
Mathias Bynens looks at how the set of reserved keywords changed between ECMAScript versions, starting at ECMAScript 1, finishing with ECMAScript 6.

AngularJS-Learning: Resources for Learning AngularJS
A metric ton of links here.

Functional Programming Patterns In Four Popular JavaScript Libraries
Looks at four patterns and how they are used in JavaScript libraries: configuration objects (Ext JS), serialization (lunr.js), promises (PDF.js), continuations (D3.js).

Uncovering the Native DOM API
Nicolas Bevacqua explains how to perform common jQuery operations in native DOM.

Drawing and Animating with Two.js and Illustrator
Brian Rinaldi demonstrates how to use Two.js with SVG exported from Illustrator to draw and animate using JavaScript.

Promises (Deferreds etc.) are a pattern for asynchronous programming that has a long tradition in JavaScript libraries. Alex Russell has good news: it looks like ECMAScript and the DOM will have common support for this pattern.

Simpler UI Testing with CasperJS
PhantomJS runs a headless WebKit (basically, a browser without a graphical user interface) from the command line that can be automated via JavaScript. Applications include generating screenshots, testing, etc. CasparJS is a library for PhantomJS that helps with user interface testing and more.

Node Modules to Rule Them All
An introduction to modularity and module systems in JavaScript.

23 Different Values vs. Underscore.js is* Functions
A table showing the results of applying Underscore.js classification functions (isNumber, isEmpty, isUndefined, etc.) to 23 common JavaScript values.

Automating AngularJS With Yeoman, Grunt and Bower
Generate project files, run tests, etc.

Working With Data in The Node.js Framework Sails.js
Sails.js is a new Node.js framework, with a focus on freedom and smart defaults. This article takes a look at some of the data features Sails provides out-of-the-box, for easily making complex apps.

Fun with JavaScript Arrays
Tongue-in-cheek look at array quirks in JavaScript. Remember: legal array indices s are integers in the range 0 ≤ s < 232−1. All other values are interpreted as object property keys.

Why You Should Learn Node.js Today

A Look at 'Function Functions', Functions That Return Functions


Ember.js Meetup in NYC, May 2013
A video of the complete meetup, containing three talks: “Refactoring jQuery to Ember” by Luke Melia; “Thinking in Ember: Buffered Proxy” by Kristofor Selden; “Prototyping Ember Applications” by Ryan Toronto.

Code and Libraries

Is.js: Check Your Strings Against Predefined Formats
Checks whether a string conforms to one of several predefined data formats. For example: is('0-85131-041-9', 'isbn') and is('1996-12-19T16:39:57-08:00', 'datetime') both return true. Other formats include credit card numbers, phone numbers and postal codes. Runs as a jQuery plugin, vanilla JavaScript or Node.js module.

Seriously.js: Real-time Video Effects Compositor for The Web
The library is based on HTML5, JavaScript and WebGL. It performs node-based video effects compositing in the vein of After Effects and Nuke. Effects are rendered in real time, meaning they can be dynamic and interactive. Check out the online demo!

Node v0.10.11 (Stable)
Upgrades of various components (uv, npm, V8, etc.).

jQuery Time Autocomplete: jQuery Plugin for Entering Time Intervals
Several examples demonstrate what it does.

Ladda: Form Buttons with Built-in Loading Indicators.
These are beautifully done. Be sure to check out the demo page.

Connectr for Connect (Node.js)
A layer on top of Connect that allows the insertion or removal of middlewares after the stack has been created. This is especially useful when you don’t have access to the code that sets up your Connect stack (a third party module, for example).

soma.js: Light Framework for Building Loosely-Coupled, Scalable Apps

Case: Detect and Convert The Letter-Casing of A Sequence of Words
Detect different ways of letter-casing a sequence of words (camel case, title case, etc.) and convert between them.

picnicc: Custom Builds Made Easy
Create custom builds of your libraries that contain only those functions you need. Comes with support for Twitter Bootstrap, Underscore.js, HTML5BP and inuit.css. Support for other libraries is easy to add.

mux.js: A Data Multiplexing Library

Galaxy: Cosmic Harmony with Callbacks and Generators
ECMAScript 6 generators will be available in Node.js, soon (0.11.2 and later). Galaxy uses them and lets you write asynchronous Node.js code in a synchronous style.

Listify: Turn A Group of Lines Into An HTML List

Classy.js: Tiny Framework for Writing Inheritance in JavaScript

Code Problems: Common Interview Puzzles Solved in JavaScript


WLTM Full-stack JavaScript Developers
You: Node, JavaScript MV*, APIs, Grunt, Travis, GitHub, Open Source. Us: Open Source, 10% time, flexible working, benefits, good pay. Can we get along?

Web Developer - Roadtrippers (Backbone.js / Rails)
Want to help make road travel planning enjoyable for thousands of people every day? Roadtrippers is solving the fragmented problems of road travel planning. Make it happen with Backbone.js, CoffeeScript, Ruby on Rails, MongoDB and more!

Frontend Web Development Mentor at Thinkful (Part-time or full-time)
We’re hiring mentors to work with our students as they learn HTML, CSS, JavaScript, and jQuery. Thinkful mentors may work remotely or from our office, and may apply for full-time or part-time positions. Email for more information.

Last but not least..

JavaScript Video Course from Gaslight
Video course on Backbone.js and Ember.js by Gaslight. Relatively cheap, code examples are in CoffeeScript (but can be converted to JavaScript). Has several preview sections.

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 :-)

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