Mozilla

JavaScriptOO.com, to find what meets your JavaScript needs

The JavaScript Renaissance

We all know the major players in JavaScript projects. MV* frameworks like AngularJS, Backbone, and Ember.js are inspiring a whole new breed of client applications. Utility libraries like underscore and lodash simplify constructs once reserved for academic exercise. And of course, the monolithic namespace jQuery is everywhere. The large teams and growing communities behind these projects (a little corporate backing never hurts) are moving forward and providing very solid platforms for developers to build upon. However, they are merely a precursor for the renaissance that is happening in the world of JavaScript right now.

Enter the micro-libraries, the drop-in replacements, and the “I-Had-No-Idea-JS-Could-Do-That” projects. Thanks to tooling like Grunt, bower, and npm, testing suites like Jasmine and QUnit, and of course the social coding site github; dozens of peer-reviewed and test-driven JavaScript libraries are sprouting up every day. Fresh approaches on everything from the core JavaScript functionality to abstractions of the ridiculously complex are in abundance and expanding the very foundation of the web.

VerbalExpression lets you write regular expressions in English; Knwl.js is a natural language processor; 140medley is an entire framework in 821 bytes. Want a DOM selector engine other than sizzle? Try micro-selector, nut, zest, qwery, Sly, or Satisfy. Need a templating engine? Try T-Lite, Grips, gloomy, Transparency, dust, hogan.js, Tempo, Plates, Mold, shorttag, doT.js, t.js, Milk, or at least 10 others. Dates got you down? Check out Date-Utils, moment.js, datejs, an.hour.ago, time.js. Route with Pilot, filter images with CamanJS, write games in Crafty, or make a presentation with RevealJS or impress.js.

Of course, along with this prolific creativity in the JS universe comes some serious overload. A bit of natural selection will eventually get the best of these projects on your radar, but if you want to see the really exciting bits of evolution occurring you have to watch. Constantly.

JavaScriptOO.com

Watching constantly is exactly what I do with JavaScriptOO.com. I watch, I lurk, I read, and eventually I find something that really inspires me.

The elevator pitch for the site is that it is a directory of JavaScript libraries with examples, CDN links, statistics, and sometimes videos about each library.

Behind the scenes, after sifting through github, twitter, hacker news, pineapple, and an endless stream of sites and finding something exciting, I begin the slow process of adding a library to the site. Slow is a relative term, but for me, in this context, it means anywhere from 30 minutes to a few days. Adding a library to the site is a purposefully manual process that requires I actually spend some time with the library, writing an example for it, categorizing it as best I can, and sometimes even creating a video about it.

This slow process is a huge bottleneck for updates on JSOO, and boy, do I hear about it. However, it also keeps the site from becoming just a directory of github links and it keeps the single curator excited about maintaining the site.

Examples and submitting your library

There are currently 401 405 409 examples on the site… almost one for every day it has been online. There are 79 libraries in the “Needed Examples” section where visitors can submit a gist or fiddle for that library and are encouraged to “include your Twitter handle or any other marketing you may like to, but keep it simple”. Lastly, there is a section for submitting your own library. Not all libraries submitted are added to the site, but they are given immediate priority, and if they are a fit, added to the queue. There is no editorial, no blog, no opinion at all other than hoping every visitor feels like this:

Beyond the very manual process of adding a library, the site is also a chance for me to experiment with all sorts of tech and see in real time how it performs under a moderate load. Originally launched as a .NET application most of what you see today is running node.js under iisnode using Express w/ Jade templates (moving to doT.js as I write), a gulpjs build process, a homegrown CMS using AngularJS and VB.NET (gasp!), and a Lucene.NET search application in C#.

13 comments

Comments are now closed.

  1. Bastian wrote on January 29th, 2014 at 04:14:

    Thats fantastic site! From now i i dont have to googling for the libraries for js that i wish to use, to make my task easier to implement. From now , what i need is just enter the site and find one using categorization.. Thanks!

    1. Robert Nyman [Editor] wrote on January 29th, 2014 at 04:44:

      Thanks Bastian, glad to hear that you like it!

  2. Mte90 wrote on January 29th, 2014 at 08:54:

    Mozilla’s brick it’s missing :-/

    1. Joe Maddalone wrote on January 29th, 2014 at 09:19:

      More importantly, x-tag is missing. There are many libraries not in JSOO yet and as of today a massive and glorious backlog. I’ll get to it.

  3. Mitchell Simoens wrote on January 29th, 2014 at 08:57:

    I see the criteria “The site is primarily focused on micro libraries, utilities, and other wizardry that can run in a browser.” so does that mean libraries like Ext JS or Sencha Touch do not fit?

    1. Joe Maddalone wrote on January 29th, 2014 at 09:27:

      First, let me say that I find the Sencha products amazing. Beyond that I have struggled with including them in the site.. I added highcharts and I almost immediately had a little moral meltdown… am I allowed to share this? am I allowed to leave it up for more than n days? I just don’t want to struggle with the question of whether what I am sharing is “ok” or not.

      Someone recently requested that the site should include license information for each library, and while daunting, I think it might be a good idea.

  4. jerome etienne wrote on January 29th, 2014 at 10:03:

    i will add http://betterjs.org right away :)

  5. Ivan Dejanovic wrote on January 29th, 2014 at 12:18:

    I apologize for the long comment.

    At the start of year 2009 I decided to move to web development. A huge task for a guy who mostly worked on embedded systems and programmed in assembler, C and C++.

    It took a lot of time for me to learn all this new tehnologies. A lot of experimenting after work. A lot of night I barely slept only to go to work the next day.

    Fast forward to this day. I am a husband, father of two, and I support my family by working as a lead developer on a new web solution powered by node.js. We are the first team in our company to use node.js. This becomes even more important if you know that the company I work is developing financial software so we are not fast with embracing new things.

    When I look back at this five year I know that I would have not been able to do all this has it not been for people that built a lot of great open source javascript libraries. People that wrote a lot of examples, how to’s, people that are behind MDN, Mozilla Hacks, npm etc.

    If I buy a beer to each guy and girl that made something that helped me in this five years I would probably die of alcohol poisoning. People behind JavascriptOO just made it to the I owe you a beer if we ever meet list.

    I have bookmarked JavascriptOO in Mozilla. Thank you very much.

  6. Sean Smith wrote on January 31st, 2014 at 08:49:

    Thanks for this… how did I not find this sooner. My bio is similar to what Ivan said. Open source moves fast and you have to keep up.

    By the way what is pineapple as in your post…

    Behind the scenes, after sifting through github, twitter, hacker news, ***pineapple***, and an endless stream of sites and finding something exciting

    1. Joe Maddalone wrote on January 31st, 2014 at 09:44:

      http://pineapple.io/

  7. Nico Belgraver wrote on February 2nd, 2014 at 04:41:

    Excellent resource!!

  8. dbc wrote on February 3rd, 2014 at 06:29:

    Finally , the javascript version of ruby-toolbox has come!!

  9. MM wrote on February 4th, 2014 at 06:09:

    No love for Dojo and intern.io in this list? They’ve been doing all these things better and for a lot longer than most of these frameworks.

Comments are closed for this article.