Badass JavaScript

A showcase of awesome JavaScript that pushes the boundaries of what's possible on the web, by @devongovett.

Weekly Badass JS Roundup #3

December 8th 2011

Welcome back to the weekly Badass JS roundup!  Here is my link dump for this week.

  1. SproutCore 2.0 has been renamed to Amber.js to avoid confusion since the project has significantly diverged from the goals of the original SproutCore project.  SproutCore 1.x will continue to be developed as a native-style application framework along side Amber.js’s more lightweight approach.
  2. The “Move the Web Forward" initiative launched.  If you ever wanted to get more involved with the web standards or browser communities, this is your guide!
  3. The Opera developer blog rounded up some of the best Efficient JavaScript tips.  Read this if you write JS!
  4. Elm is another interesting language that compiles to JavaScript.  It actually compiles to HTML and CSS as well as one of its goals is to abstract those completely such that they become like the “assembly” of the web.  Its main distinguishing feature is its support for reactive programming, which looks really neat!
  5. WebPJS is a JavaScript implementation of the WebP image format for browsers without support, going back all the way to IE 6.  It also seems to have an encoder available which is pretty cool.  Unfortunately, I couldn’t find the source code anywhere so if you find it, let me know!
  6. David Calhoun wrote an excellent “Mobile Performance Manifesto" recently, which summarizes a lot of research that has been done.  Read this if you do any mobile web development.
  7. The fight to keep Google Dart out of WebKit is going strong.  Google wants to enable multiple language runtimes in the browser, but most others are saying that this would fragment the web platform and that Google should make Dart compile to JS like so many other languages out there.
  8. Paul Irish summarized some of the awesome new features in the Chrome developer tools.  There are lots of hidden gems in there, so check this one out!
  9. An interesting anonymous essay about Google’s possible intentions to take over the world with Native Client, which appears to be the new ActiveX.  Remember, this is just a theory at this point, but it is an interesting read none the less.
  10. PDF.js has finally gained text selection support.  Check out the demo: it works surprisingly well!
  11. JavaScript engines keep getting faster and smaller, and that is no exception for Firefox this week.  We saw their type inference support that enabled the 30 fps rendering demo of H.264 in the browser recently, and now they are focussed on reducing the memory usage of JavaScript objects.  A project called ObjShrink was just merged into Firefox this week which makes all JavaScript objects use up to 50% less memory!  Pretty awesome.
  12. The 4th IE10 preview is out with support for cross-origin XHRs, BlobBuilder support, typed arrays (YAY!), CSS user-select and video captioning.  The IE team has been doing great work to bring IE back into the modern age, and it keeps getting better and better.  Great work!
  13. Speaking of IE10, it appears as though a bunch of proprietary IE technologies that have been available for quite some time are finally being disabled in IE10.  These include VML (replaced by SVG support) and CSS filters.  This is a very good thing!
  14. And finally, my team at ofmlabs has written an article on “Why HTML5 Media is not Enough”, which is a call to browser makers and standards bodies to give us great low level media APIs.  Please read it and tell browser makers to step it up!

That’s it for this week!  As always if you have something you’d like to tell us about - something you think is Badass JS worthy - don’t hesitate to let us know!

Have a great week!