Issues » 128

This week's JavaScript news Archive | Read this issue on the Web
JavaScript Weekly Issue 128
May 3, 2013
Just a quick note to let you know we'll soon be rolling out a new, separate sister publication aimed at JavaScript beginners, covering entry-level JavaScript tutorials, articles, and tips. No sign up yet but for now we'll continue to include a mix of content here each week, so be aware there's a wide range of skill levels represented in our picks. Thanks for reading :-)
Featured
Epic Games' Unreal 3 'Citadel' Demo
From cooperation between Epic Games and Mozilla comes an impressive Web-based demo of the Unreal Engine 3 3D gaming engine running direct in the browser using JavaScript and HTML5 technologies. A very up to date version of Firefox is recommended to try this (i.e. Aurora or Nightly). Brendan Eich has written about the background to this previously.
Author In ES6, Transpile To ES5 As A Build-step: Workflow For Grunt Addy Osmani looks at two ways in which you can write ECMAScript 6 code right now and have it compiled back to universally runnable ECMAScript 5-compliant code using Grunt and a couple of handy libraries.
Intern: A Next-Generation JavaScript Testing Stack Feature highlights: runs tests in the browser and on Node.js; integrates with SauceLabs and Selenium; lets you use any assertion library (it comes with Chai); reports code coverage via Istanbul; supports Travis CI.
From our Sponsor
Rich data for JavaScript Apps is a Breeze
When a desktop application moves to HTML/JavaScript, the need for rich data moves with it. Consider BreezeJS for querying, caching, offline, change tracking, object graph navigation, and bulk saves. Make it part of your JavaScript client app stack.
Reading
CDNs Fail, But Your Scripts Don't Have to Scott Hanselman explains how to fall back from a file hosted by a content delivery network (CDN) to file on your server.
The Hikikomori's Guide to JavaScript How to write an application by starting with key components (primitives), composing them via combinators and finally adding a user interface.
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js Describes the advantages of this stack and mentions best practices.
Tern: Code Analysis Engine for JavaScript Marijn Haverbeke describes how his crowd-financed project Tern works.
Is This Thing On? (Part 1) First in a three part series that explores some of the tools available to detect and manage online/offline connectivity in web and mobile applications.
JavaScript Array Loops This article explains that in some (relatively rare) cases, a for-in loop is the best way of iterating over an array. Not all arguments are equally compelling, but the article brings up points you may not have considered before.
Promise-Based Validation Promises are a pattern for asynchronous programming that has become quite popular in the JavaScript world. This article applies promises to an old problem: validating form input.
Even Better In-Browser Mockups with Node.js If you design your application in the browser then Node.js makes it easy to include the server in that process, resulting in a more complete mockup. This article introduces the idea, a follow-up article walks through an example.
Taking Control with Machina.js (Slides) A slide deck from Doug Neiner that looks into implementing state machines in JavaScript via the machina.js library.
The Box2d Benchmark Revisited A comparison of a Box2d-based benchmark run on popular JavaScript engines from 18 months ago and now. Big performance gains are seen, especially with the introduction of asm.js in Firefox Nightly.
Task Automation with Automaton and Node Brian Rinaldi walks through how to automate common file system, templating and command-line tasks for developers using Automaton and Node.
Writing Custom Yeoman App Generators Get started with the Yeoman generator system. A generator creates an initial version of an application, a task that ranges from simple (copying a boilerplate project to your application directory) to complex (flexible customization, dependency management, etc.).
How Selections Work in D3.js Explains how a core feature of the D3.js data visualization framework is implemented: selections.
Using D3.js and Meteor to Generate Scalable Vector Graphics (SVG)
Using “this” Responsibly
Watching
Clojure/ClojureScript: One Language to Rule The Web Clojure is a modern dynamic language for the JVM, and ClojureScript is the same language compiled into JavaScript. This presentation describes the languages and how ClojureScript is compiled to JavaScript.
5 Talks to Learn More About Node.js
Code, Libraries and Tools
underscore-contrib: Extension Libraries and Proving Ground for Underscore.js A collection of libraries for Underscore.js that were created with two goals in mind: First, to provide functionality that is not needed widely enough to be included in Underscore.js proper. Second, to try out functionality that might eventually be included with Underscore.js.
Starling.js: JavaScript Game Engine Starling is a popular ActionScript game engine that was created almost two years ago. Starling.js is a port of Starling to HTML5. It is based on Canvas, with long-term plans to migrate to WebGL. Starling.js has been written in TypeScript, meaning that you can develop for it in either TypeScript or plain JavaScript.
ExplainJS: Instant Side-by-Side View of Comments and Code Generates code documentation that consists of two columns: the right column contains the source code, the left column contains the comments.
Announcing SunSpider 1.0 In 2007, the WebKit project released the SunSpider JavaScript benchmark suite. It has now reached version 1.0.
observe-shim: A Shim for Object.observe (ECMAScript 7 or Later) Object.observe() is a function that has been proposed for a future ECMAScript version. It observes changes to objects and helps with data binding in user interface frameworks. This project shims Object.observe() on current browsers.
Muzzley: A Platform for Turning Smartphones Into Controllers A platform that turns a user's smartphone into a gamepad, drawing pad, keyboard, swipe navigator, or switch which you can then process using JavaScript (Node or browser).
FPSMeter: Simple Fast and Themable JavaScript FPS Meter
angular-carousel: Mobile-Friendly AngularJS Carousel
vr.js: NPAPI Plugin to Expose Fun Virtual Reality Devices to JavaScript
defs.js: Compile ECMAScript 6 “let” and “const” to ECMAScript 3 Code
node-archiver: Create Archives (Zip, Tar) Via Node Streams
Backbone.js and Express.js Single Page Application Boilerplate
Caterpillar: Logging System for Node.js
Sublime Text Plugin: Refactoring Javascript Code
Jobs
Software Engineer - Product at Coursera Coursera is looking for JavaScript/HTML5 experts to build high quality web applications that bring online courses to our students. As part of our small and agile team of software engineers, you will be responsible for architecting and implementing the front-end designs, and working with other members on the team to integrate the the application into our platform.
Software Engineer at Turn (Silicon Valley) Angular, Node, Bootstrap. Big data, machine learning, distributed systems. If these are technologies you're interested in and you're good with JavaScript, we'd love to talk to you about joining our front-end applications team at Turn.
DevOps Hipster aka Infrastructure Engineer at Jimdo (Hamburg, Germany) You understand the hidden potential that lies between development and ops. You adore automation. In the end, you always drop the adequate DevOps Borat punchline. You take an interest in and contribute to, the world of open source - show us what you got!
Software Developers (JavaScript or Java) – R&D Positions in Vienna, Austria
Last but not least..
Announcing TypeScript 0.9 Early Previews Microsoft has published a preview of the next version of TypeScript (a superset of JavaScript). Highlights: generics and a rewritten compiler that better scales to large projects.
Published by Cooper Press.
Want to sponsor an issue? See our media kit.

© 2014 Cooper Press Ltd. Email policy Privacy policy
Cooper Press, Fairfield Enterprise Centre, Louth, LN11 0LS, UK
Update your email address
or unsubscribe here
ONE e-mail each Friday. Easy to unsubscribe. No spam — your e-mail address is safe
Published by Cooper Press and curated by Peter Cooper