News roundup: Enyo.js, Jed, HTML5 Please, WAT
Listen to this week’s news roundup (January 30, 2012)
I really should have named today’s update “Planes, Trains and Automobiles”, since those were all involved with my commute this unusual morning! This week’s podcasts is surely enough recorded from SFO Airport, so I hope you enjoy the atmosphere and the occasional interruptions!
Enyo.js open-sourced
As you may already know, HP has open-sourced webOS and has just started making things available, starting with the release of Enyo (on GitHub), the JavaScript framework that powers webOS. The core of the library is designed primarily for mobile, so its aim is to be small (13KB gzipped), and is of course designed to be modular.
Want to get started? Here’s Enyo’s Hello World, which doesn’t look too bad:
new enyo.Control({
content: "Hello World from Enyo"
}).write();
While getting your bearings you can also have fun in the code playground, which lets you immediately see the output of your code.
Enyo reminds me of a cross between Sencha/ExtJS and other more JS-centric libraries. The result is a framework where pages and modules are written in JSON-like syntax, but allow customizations in user-defined functions, which wasn’t a functionality that seemed to be available with Sencha (at least from my cursory first glance). Choosing between the two, I think I’d definitely want to try Enyo first, especially given the fact that it was developed for mobile and seems a bit less bloated.
Since webOS also uses Node.js, it should be interesting to see the interplay between the two when more of the internals of webOS are revealed in the coming months.
Jed
Jed is an internationalization helper for JavaScript written by Alex Sexton. The name is a play on Jed Schmidt, who you may know as a JavaScript developer and translator living in Japan. The library itself is inspired by Mozilla’s own gettext.
HTML5 Please
HTML5 Please is a new effort from Divya Manian, Paul Irish, and friends, to give an all-in-one site with both HTML5 cross-browser support information as well as recommendations for polyfills and fallbacks. This information has been variously available on disparate sites, but has never been more easy than now!
When can I use and Modernizr do a great job in informing the users of available features and how to feature detect them. The Modernizr polyfill wikipage also does a good job of listing all the available polyfills. What we felt missing was the glue that bound all this information together, to tell the user what the best tool for the job was: either on its own, or with a polyfill or a sensible fallback.
Be sure to check out Divya’s introduction which comes with a backstory and everything!
WAT
You may have seen a short video with programmer humor floating around recently – that’s because it’s been making the rounds in all the usual places! The talk by Gary Bernhardt pokes fun at some weird things that happen in Ruby and JavaScript during type coercion. All this happens amidst roaring laughter (it doesn’t seem that funny, does it?). The whole thing leads up to this JavaScript gem, which you may have seen circulating separately a few months back:
Array(16).join("lol" - 2) + " batman"
> "NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN batman"
If you thought nothing productive could come from this video, Adam Iley is here to prove you wrong by showing you exactly what’s going on with each of these type coercion anamolies in his post The WHY of WAT.
Also be sure to check out the discussion on reddit.
Just for fun
And just for fun this week, Michael Wolfe has a funny and true answer to the question Why are software development task estimations regularly off by a factor of 2-3?
Tidbits
ECMAScript 6 support in Mozilla
The top 20 HTML5 games (.net Magazine)
Server-Sent Events (Remy Sharp)
Web Storage Support Test is a handy tool to check localStorage/sessionStorage/globalStorage limits in various browsers (as an aside, had anyone heard of globalStorage before?)
PhotoBooth Style Live Video Effects in JavaScript and WebGL
The client-side templating throwdown: mustache, handlebars, dust.js, and more
jsgif: A GIF player in JavaScript
Creating Files through BlobBuilder
Here’s a pretty crazy/impractical WebGL reader demo
Elijiah Manor has been messing around with emoticons in JavaScript
…and on that note of character encoding in JavaScript, does JS support UCS-2 or UTF-16?
AMD support for Underscore and Backbone (James Burke)
Font.js: A Powerful Font Toolkit for JavaScript (Badass JavaScript)
Seriously.js: A Realtime, Node-Based Video Compositor for the Web (Badass JavaScript)
Zip.js is a library for zipping and unzipping files via the Filesystem API
node-google-voice is a Google Voice API for node.js
MorningStar – A step-sequenced bassline synthesizer using JavaScript and HTML5 Canvas
Deferred and promise in jQuery
Getting Rid of Synchronous XHRs explains the phasing-out of synchronous/blocking XHR requests
The Drumlet is a new drum machine library
Multimedia
(audio) Episode 28: JavaScript MVC Frameworks
(slides) The Edge of HTML5 (Eric Bidelman)
(audio) JavaScript Jabber is a new JavaScript podcast with AJ O’Neal, Charles Max Wood, Jamison Dance, and Yehuda Katz
(video) Meet Crockford’s JSDev
(audio) The Changelog Episode 0.7.1 – Spine, and client-side MVC with Alex MacCaw
GitHub Most Watched This Week (JavaScript)
twitter / bootstrap
enyojs / enyo
vesln / todo
SlexAxton / Jed
LearnBoost / up
Upcoming Events
(This isn’t a complete list. See more upcoming JavaScript events listed on Lanyrd)
Node Summit (January 24-25, 2012 in San Francisco, California, USA)
jQuery UK 2012 (February 10, 2012)
HTML5 Game Jam (February 10, 2012 in Paris, France)
NodePDX (February 10-11, 2012 in Portland, Oregon, USA)
JavaScript Conference (February 27, 2012 in Düsseldorf, Germany)
UtahJS (March 29, 2012 in Park City, UT, USA)
JSConf US 2012 (April 2-3, 2012 in Scottsdale, AZ, USA)
Breaking Development 2012: Orlando (April 16-18, 2012 in Orlando, Florida)
Mobilism 2012 (May 10-11, 2012 in Amsterdam, Netherlands)
JsDay 2012 (May 16-17, 2012 in Verona, Italy)
O’Reilly Fluent: JavaScript and Beyond (May 29-31, 2012 in San Francisco, California, USA)






















