Node Weekly, Bower 1.0, Defending JS constructors

Read this issue on the Web

JavaScript Weekly

Issue #140 - July 26, 2013

In August we're launching Node Weekly, a Node.js-focused weekly. We'll still include the most interesting Node items here but Node Weekly will go into detail and include more items for which we haven't the space. If you want in on the launch, just instantly subscribe by clicking here. Thanks. — Yours, Peter & Axel.


Bower 1.0.0 Released
Twitter’s JavaScript-based web package manager Bower has reached version 1.0. Highlights include a cleaner architecture, faster and better conflict resolution strategy, bug fixes and more. A separate document details the improvements brought by this rewrite.

Object Playground: The Definitive Guide to Object-Oriented JavaScript
A well produced 27 minute screencast that covers a variety of matters relating to object orientation in JavaScript. Also includes a tool for visualizing and experimenting with JavaScript object relationships. Impressive.

In Defense of JavaScript’s Constructors
Recently several smart people have argued against constructors. This blog post provides a few arguments in their favor.

From our Sponsor

Frontend Masters: Attend 6 Front-End Dev Workshops LIVE Online
Starting August 23rd: dramatically upgrade your skills with our upcoming workshop series featuring experts on Backbone.JS, Angular.JS, D3.js (Interactive Data Visualization), Web Animation, Tooling (Yeoman, Dev Tools, etc) and HTML5 Media APIs.

JavaScript Weekly readers get 45% off of early bird season passes until Aug 2nd


SEO in JavaScript Web Apps
Explains how to use Google’s Ajax crawling specification to make JavaScript web apps accessible to search engines.

Introduction to Express
Raymond Camden explains the Node.js framework Express.

Backbone.js Deconstructed (Part 1)
“Backbone.js Deconstructed” by Cody Lindley is a two-part article (more like a small e-book) that explains the framework in depth. This is part 1.

AngularJS Directives That Override Standard HTML Tags
Joel Hooks explores the internals of AngularJS to look at its internal directives that override standard HTML tags like “a” and “form”.

How ‘yield’ Will Transform Node.js
Starting with version 0.11.2, Node.js includes ECMAScript 6 generators. This blog post shows that they enable a more synchronous coding style on Node.js. Related: discussion of this post on Monocle.

PouchDB, The JavaScript Database That Syncs
A tutorial for PouchDB, a client-side database library with support for syncing with remote databases (other PouchDB instances or CouchDB databases).

DOM Traversal and Manipulation with Voyeur
Brian Rinaldi details how to use the Voyeur.js library for an alternative syntax for DOM traversal and manipulation.

Implementing HTML5 Components with HTML5 APIs and Open Source Polyfills
David Geary shows you how to implement HTML5 components using the nascent HTML5 component specifications, with assistance from the Polymer and Mozilla X-Tags projects.

Build Custom Directives with AngularJS

Loading JSON-Formatted Data with Ajax and xhr.responseType='json'
Mathias Bynens explains a hidden gem in the XMLHttpRequest standard that simplifies the process of fetching and parsing JSON data through Ajax.

Extracting Tables From PDFs In JavaScript With PDF.js

Break on Property Change of an Arbitrary Object
John K. Paul shows you how to use ECMAScript 5 getters and setters to enter the debugger whenever a property changes.

Value Objects in JS: ECMAScript 7 Work in Progress
A slide deck from Brendan Eich.

Teach Yourself Node.js in 10 Steps

Replicating the DOOM Screen Melt Effect with JavaScript and Canvas


Let’s Learn Ember
14 lessons, delivered as short screencasts.

Testing Strategies for AngularJS
A screencast that explores AngularJS testing strategies via the testing tools Protractor, Testem, and Jasmine.

Integration Testing Your Ember.js App with QUnit and Karma

Unit Testing: Minutes Now Will Save Hours Later
Eric Mann demonstrates how to run QUnit tests headlessly via Grunt and PhantomJS. Slides for the talk are online.

My workflow v3: full coding stack
Remy Sharp explains his workflow for developing Node.js projects in a screencast: he works 100% inside Chrome’s DevTools. Their new feature “workspaces” lets you edit files on disk.


A Variety of Ember 1.0 RC Releases
Security releases that address a potential XSS security issue.

Adobe PhoneGap 3.0 Released
The popular framework that lets you develop native mobile apps via HTML5 gets a new release. Major new features: new plugin architecture, better tools, new platforms (iOS7, Firefox OS and Ubuntu coming soon) and new APIs. In two interviews (one with .net magazine, one with InfoQ), PhoneGap product manager Brian LeRoux tells us more about the release.

qooxdoo 3.0 Released
The user interface framework qooxdoo targets different HTML5 environments: desktop apps, mobile apps and “websites”. Highlights of version 3.0: desktop apps get more lightweight widgets and better touch support; mobile apps run on more platforms and their widgets are now optimized for high-density displays; and for “websites”, there are more samples and integrated REST support.

Code and Libraries

Announcing A New and Improved Node.js Debugger
Node Inspector is a tool that lets you use Chrome DevTools to debug Node.js applications. Recently, a major new version has been released: It now works with the new Blink DevTools, supports Source Maps, handles break points better, and more.

VerbalExpressions: JavaScript Regular Expressions Made Easy
A library that lets you assemble a regular expression via calls to a fluent API (chained methods) that ultimately can help with readability and documentability.

Ajax Replay: Cache Ajax Calls in The Browser and Replay Them in The Future (for Testing)
During a first run, the library logs all XMLHttpRequests and their results in localStorage. Afterwards, you can return the results without contacting the server, which speeds up testing. This technique works with all testing frameworks.

David: Dependency Management Tool for Node.js Projects
David gives an overview of project dependencies, the versions you use and the latest available. That shows you how up to date everything is. The results can be summarized as a badge that you can embed on your site.

grunt-express: Start An Express.js Web Server Using Grunt.js
Watches for changes to files.

leap.js: API for the Leap Motion Controller
Library for the Leap Motion 3D motion controller. It connects to the device via a WebSocket (by default to localhost). Links in the top right corner of the page send you to API documentation and more.

lz-string: JavaScript Compression, Fast
This library compresses strings, helping you to fit as much data as possible into localStorage (which is limited to 5MB on many devices).

Inquirer.js: Command Line User Interfaces for Node.js
A collection of common interactive command line user interfaces (e.g. lists, confirmations, password inputs) for use on command line Node apps.

ChessBoardJS: A JavaScript Chess Board Widget


Senior Frontend Developer at WizeHive
WizeHive is hacking on an AngularJS frontend with a plugin architecture. Our mission? Empower business users to get customized business apps up and running in under an hour. Join our team and help us make it a reality.

Weebly is hiring Javascript Hackers and ping-pong masters
Weebly seeks front end experts who can help build features that will be utilized by tens of millions of users. Work in a creative environment where you'll be able to work on a variety of projects, and platforms with awesome peers. You can also e-mail directly.

UI Engineer at Yahoo!
In this role, you will have chance to grow and play a key technical role in building the world's most advanced online media sales and campaign management systems and analytics products with advanced visualization.

Last but not least..

Curious about SPA development? Learn how to create your own SPA with Kendo UI
Give your end-users a more fluid UX in your web apps. Kendo UI’s HTML5/JavaScript framework simplifies the construction of these rich client-side web applications—SPA development is easier than ever.

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