This week's JavaScript news

Read this issue on the Web

JavaScript Weekly

Issue #130 - May 17, 2013

Welcome to issue 130 of JavaScript Weekly. Axel will be taking a well earned break for a few weeks as of next week (and joining me at O'Reilly Fluent!) so I'll be back at the helm for a bit! See you next week - Peter C.


Polymer: Google’s New Framework Built On Web Components
Polymer is a new user interface framework from Google that is currently in pre-alpha mode. It does many things natively that previously required custom infrastructures, by relying on upcoming HTML5 and ECMAScript features (that are already available in some browsers and can sometimes be polyfilled): Web Components, DOM mutation events, Object.observe(), Pointer Events, Web Animations, etc.

JavaScript Regular Expression Enlightenment
Cody Lindley has written a superb introduction to JavaScript’s regular expression support, with lots of tables and tools.

ECMAScript 6 Draft Spec Revision 15 Now Available
The specification of the next version of JavaScript evolves continually. Highlights of the latest draft: symbols are now a primitive, there is a new iteration protocol. New functions and methods: Math.imul (needed by asm.js), Object.setPrototypeOf(), Array.prototype.find(), Array.prototype.findIndex().

From our Sponsor

Frontend Masters: New Responsive Web Design Course by Ben Callahan
Is your website built to respond for all the different size and display options available today? In this new course from Frontend Masters, Ben tackles RWD process, prototyping and patterns, on down to specific coding tactics with media queries and responsive CSS.

Watch a free lesson where Ben demonstrates making an existing website responsive by updating's CSS proporties on the fly.


Apple’s New Objective-C to JavaScript Bridge
WebKit has long had the ability to let Objective-C call JavaScript and vice versa. A few months ago, Apple has added a new bridge API to the project. It is currently private, but might be made public at Apple’s WWDC Conference in mid-June. The article has details on how the API works and what it can be used for.

Building a Spreadsheet in 20 Minutes with Angular.js
A short, sweet, and effective tutorial from Thomas Street.

Building A Full-Text Index In JavaScript
A tutorial that uses the in-RAM text search engine lunr.js and Mozilla’s pdf.js to extract text from PDF files.

Overwhelmed by JavaScript Dependencies
A basic introduction to dependency management and modules in JavaScript (Node.js, RequireJS, bower).

Debug Your Node.js Code
A few tips from Sindre Sorhus.

(Mostly) Painlessly Migrating A 3D Game Engine to TypeScript
An interesting story.

Tutorial: Real Time Chat With NodeJS, and ExpressJS

An Introduction to and _.reduce() in JavaScript
Article for beginners, explaining the Underscore.js functions map() and reduce(). They are equivalent to and Array.prototype.reduce(), which are part of JavaScript, as of ECMAScript 5.

Inline Source Maps
When you compile code to JavaScript (including normal JavaScript to minified JavaScript), you can provide a source map whose data allows modern browsers to debug the compiled JavaScript via the original code. The source map is attached to the compiled JavaScript by appending a comment with a link. The web page mentions a neat little feature: You can inline the source map by using a data URI.

Statically Compiling, Serving and Testing Code Via Grunt
Targeted at CoffeeScript programmers.

Dynamic Binding in Ember.js Using Observers

Using Dispatch Tables to Avoid Conditionals in JavaScript


The Road to Node.js v1.0
Short 15 minute talk by Node.js gatekeeper and npm creator Isaac Z. Schlueter. He covers the state of Node, what will be improved in v1.0 and some of the philosophy guiding Node.js development.

The First TXJS 2013 Talks Are Online
The first half of the talks from the TXJS conference (April 15, 2013) is online. More talks to come next week.


Meteor 0.6.3
Now uses WebSockets in most browsers for lower latency and better performance.

RequireJS 2.1.6

Code and Libraries

Bookshelf.js: Promise-Based Object-Relational Mapping for JavaScript
Bockshelf.js is a promise-based object-relational mapping library for Node.js, based on the Knex query builder. It borrows some of Backbone’s foundations (Model, Collection) and provides transaction support, eager/nested-eager relation loading, and support for one-to-one, one-to-many, and many-to-many relations.

HeliosJS: In-Memory Graph Database for Modern Browsers

Augmented JavaScript: Preprocessor That Supports Several ECMAScript 6 Features
Compiles a subset of ECMAScript 6 to current JavaScript. Supported new ES6 features: await, yield, for-of loops, arrow functions.

Codeblock.js: Insert Editable, Runnable JavaScript Code Blocks Into Your Web Page

List.js: Add Search, Sort and Flexibility to HTML Lists or Tables
“Native” JavaScript, no dependencies on libraries.

Jquery.swatches: A jQuery Plugin That Turns A 1 Line DIV Into A Color Swatch

Coquette: A Micro Framework for JavaScript Games

zelect: jQuery Plugin for A Better 'select'
Highlights: asynchronous paged loading of large option lists; initializable in a detached or hidden DOM node; programmatically selectable and changeable.

Showcase: ECMAScript 6 Being Used in Current JavaScript Projects

Mozilla Persona Example App with Express and CouchDB

grunt-release: Grunt Plugin for Automating The Release Steps of Your Node.js Library or Bower Component

tracing.js: Tracing Function Calls


UI Developer at ClearFit Inc., Toronto, Ontario.
Do you want to work for a venture-backed SaaS, pre-IPO company with a start-up mentality? We are looking for a front-end developer to raise our technical bar, who is dedicated to the creation of "wow" products.

Junior Software Engineer at Thinkful
We’re building the tools to deliver curricula, expertise, and live help so anyone can advance their career. As an engineer at Thinkful you’ll be working directly with both the founders to architect, build and grow our technology and our team. You'll learn new skills and apply them to help others do the same. Talent and curiosity matter more than raw skill. Experience is valued, but not as much as potential.

Last but not least..

The Elusive Universal Web Bytecode
It’s a frequent and often passionately stated wish (especially by people who don’t like JavaScript): Lets replace JavaScript with a virtual machine that has universal bytecode; that would allow us to easily use any kind of programming language on the web. Alon Zakai (creator of Emscripten, co-creator of asm.js) explains that that wish is not realistic (currently, maybe ever). Furthermore, if you go through a list of what you’d want from universal bytecode then you’ll find that JavaScript source code already fulfills most of the items on that list.

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