For this article, I'll stick to libraries and plug-ins and leave full frameworks for some other time. These are libraries that I have personally used in my developments.
DateTime objects are always hell. Your application has one specification, the user's OS has another one, the Database another one, the user's Excel has another one, the browser reads whatever the hell it wants... back to client-side stuff.
The following regular constructor:
var today = new Date();
Barely translates to this with momentjs
var today = moment();
With momentjs, it is possible to construct a Date from a string, preferably if you know the format.
// moment ignores non-alpha numeric characters, so both constructors are valid! moment("02-12-2016", "MM-DD-YYYY"); moment("02/12/2016", "MM-DD-YYYY"); // It also understands the ASP.NET JSON format! moment("/Date(1198908717056-0700)/"); // Calculating date differences is a bliss! var firstDate = moment([2007, 0, 29]); var secondDate = moment([2007, 0, 28]); firstDate.diff(secondDate, 'days') // 1
Be sure to read the full documentation.
C3.js simplifies the complexity of d3.js by wrapping some of its functionality, creating a powerful charting library. C3.js has Line charts, timeline charts, donut charts, pie charts, area charts, and many more!
Be sure to check it out.
In most of my experience, clients always need some sort of Grid for their applications, they are excellent to represent big amounts of data.
Recently, other technologies have risen in popularity, like Kendo UI and many others. The problem with these technologies is well, the cost.
DataTables.net is an excellent open source jQuery plugin that allows you to visualize Datagrids, and it's actually what is used as a default option in many commercial and open source templates. It is easily customizable and is very rich in terms of features. Theming with Bootstrap, jQuery UI and Foundation is very easy. It allows both client and server-side processing.
Be sure to check it out!
My favorite jQuery form validation is FormValidation.io, it blends easily with many front-end view engines, such as Boostrap and Semantic UI.
It also comes with 51 out of the box validators!
Be sure to check it out.
I spoke about cookie management before.
Creating a cookie is as easy as this:
Be sure to check the project homepage, the library is packed with very interesting features.
Reveal.js allows you to create HTML5 presentations easily. Some great features of Reveal.js include video (including .webm!) and gif backgrounds, easy theming and many more.