24 10 / 2011

Badass JS is back with a new look! Here’s a little catchup.

Wow, I can’t believe it’s been over 7 months since I last wrote here, but it has and I’m glad to be back!  We have a new look, which I think is cleaner and easier to read than the previous theme.  I hope you like it!

A lot has happened since I last wrote here.  Last time I wrote, Firefox 4 had just come out, and now we’re on Firefox 7.  We have iOS 5 and the latest Android with much better web browsers now.  Node.js is about to release version 0.6.  JavaScript is bigger and better than ever.  Here’s a list of a few of the highlights I’ve seen around the net listed in order of appearance.

  1. PDF.js is a full PDF viewer in the browser, and it is seriously impressive stuff.  If you don’t know anything about the PDF format, it encompasses tons of other formats including image formats, font formats, vector elements, complex text support - a very large undertaking to implement.  It has grown a lot since it came out a few months ago, so check out a demo here.
  2. JSMad is another impressive project, implementing an entire MP3 decoder in JavaScript allowing Firefox to play MP3s without any Flash.  Now I’m looking for an H.264 decoder in JS. :)
  3. Along the PDF lines and not to pimp my own horn, but I released PDFKit a few months ago, which is a PDF generation library for Node.js - basically the opposite project from PDF.js.  It supports a lot of complex features such as vector elements, text including complex layout and fonts, images, and annotations.  Check it out!
  4. jsBCrypt is an implementation of BCrypt written in JavaScript.
  5. The NodeUp podcast is an excellent show covering Node.js.
  6. html2canvas is an entire HTML renderer on the canvas element in JS.
  7. Not sure if I have mentioned Emscripten before, but it is an LLVM to JavaScript compiler.  It was used to compile a C++ text-to-speech engine to JavaScript.  Very cool!
  8. The iCloud.com web apps are very impressive in terms of user experience and animations.  Very smooth and desktop-like.
  9. A bunch of image formats have been implemented in JS.  jpgjs is a JPEG/DCT data decoder in JavaScript.  I extracted png.js from PDFKit, which can render PNG images, including Animated PNGs on the canvas element.  I also wrote a quick BMP implementation in JS, and found a GIF implementation out there as well.  Fun stuff!
  10. WebODF is an Open Document Format renderer in the browser.  And finally, OpenJPEG (JPEG2000) was compiled to JS using Emscripten.
  11. A super impressive WebGL water simulation with reflection, refraction, gravity and more.
  12. I also released CoffeePack, an implementation of the MessagePack serialization format in pure CoffeeScript.
  13. IE10 looks like it will be really impressive.
  14. CWebGL implements a WebGL stack including the OpenGL shader language using pure JS and the 2d canvas context.
  15. Google’s Dart language was released to much fanfare (not).

I hope not to go this long between posts again for a while.  If you have any suggestions for future posts, series, or other ways you think we can benefit the JS community, please let me know by submitting something here or by mentioning us on Twitter.  Thanks for your patience!

WE’RE BACK BABY!