Chuck Conway

In The craft

9 JavaScript Libraries that Every Serious Application Needs

March 7, 2015 · 2 minute read

javascript_logoOver the past year I have been developing a line of business application with AngularJs. AngularJs has many out of the box features that just work. That’s the beauty of AngularJs. This is also it’s downside. You can’t be good at everything — some of the API are lacking performance and features.

Through trial and error I’ve discovered what JavaScript libraries fill the gaps. I’ve compiled a list of these libraries.

Libraries

jQuery

http://jquery.com/ This is the swiss army knife of the JavaScript world. It is immensely helpful when I want to get close to the DOM and manipulate

Dropzone

http://www.dropzonejs.com/ I have yet to find a better library for queuing and uploading documents.

Lodash

https://lodash.com/ Filtering, sorting, mapping data with this library is a must have. If you still using for and forEach statements you are doing it wrong.

Toastr

http://codeseven.github.io/toastr/ Displaying message to the client is always a challenge. This library makes it simple. The messages are configurable and appear professional.

Radio

http://radio.uxder.com/ AngularJs has known issues with pub/sub. Whether you choose $emit or $broadcast each has it’s failings. Radio is an alternative pub/sub library that just works and avoids the issues found in the Angular options

Pikaday

http://dbushell.github.io/Pikaday/ Angular UI Bootstrap has a fully featured datepicker. However it was discovered to have a design flaw that in certain conditions slows the page to a 3 or a 4 second load time. Pikaday is a lightweight zippy datepicker alternative that just works.

Accounting.js

http://openexchangerates.github.io/accounting.js/ Formatting money is a pain. It might seem straightforward, but it’s not. Accounting.js takes the pain out of it. It’s another library that just works.

filesize.js

http://filesizejs.com/ Filesize takes the number of bytes and converts it to mb, K, g notation. It’s that simple and it works.

moment.js

http://momentjs.com/ Anyone who is dealing with time, needs this library. Dates and time are a headache in JavaScript. The browsers try to do too much for you. When it works, it’s great when it doesn’t, it’s like fighting with a Chinese finger puzzle.