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
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.
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.
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.
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
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.
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.
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.
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 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 email@example.com 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