Breaking down the JavaScript ecosystem
Travis Smith, a senior consultant at technology integration and management firm iVison, ran down some of the most popular and useful JavaScript frameworks, libraries, superset languages and runtimes currently populating the ecosystem.

Visual libraries
jQuery:
A cross-platform library that simplifies HTML scripting, animations, event handling and AJAX development on the client-side. Developers need to be keenly aware of mobile devices and how much data we’re sending across as far as JavaScript overhead. So instead of jQuery, use jQuery Mobile,” said Smith. The cross-platform client-side scripting library is still the most popular JavaScript library used today.

Bootstrap: “Typically used in HTML/CSS, Bootstrap also has a JavaScript layout that’s beneficial in giving a consistent look, feel and ease of writing HTML,” said Smith. “As a JavaScript developer, most of us tend to be either front- or back-end people, and rarely do you have one that crosses over both sides with UX and functionality. Bootstrap’s triggers and plug-ins make sure it all works together.”

Moment.js: A library for parsing, validating, manipulating and displaying dates in JavaScript.

Data libraries
D3.js:
“A phenomenal library for data and data visualization,” according to Smith. D3 performs data-based document manipulations using HTML, SVG and CSS aligned with Web standards.

Datajs: “A really good one for data manipulation, and more for application development around Big Data,” Smith said. Datajs is a cross-browser library that leverages JSON, OData and HTML5-enabled browser features.

Breeze JS: “This one is a favorite to use within SharePoint. The great thing about Breeze is it works with Angular, which can be a standalone app or integrated inside of SharePoint,” said Smith. Breeze manages data natively on JavaScript clients, and is compatible with HTTP and JSON.

App pattern frameworks
Angular:
“Angular depends on how much complexity you want to use,” said Smith. “It gives you a lot more granular control. Angular does extremely well with calling and manipulating data from the browser. The cool thing about Angular is its Material Design CSS framework. It pushes the envelope for flat design. That partnership between Google and Microsoft, however ironic, shows a much more collaborative and open-source commitment.”

Backbone.js: “Now a core part of WordPress, Backbone tends to be a little bit lighter on the front end. It’s also very good for DOM manipulation,” said Smith. Backbone uses key-value binding and custom event models to structure JavaScript-heavy Web applications connected to a RESTful JSON interface.

Ember.js: “Ember has a really good HTMLBars [previously known as Handlebars.js] template engine,” Smith said. Ember’s architecture is based on the model-view-controller, and is best designed for creating scalable single-page applications using a rich object model and two-way data binding.

Knockout.js: A Model View ViewModel library for creating desktop-like JavaScript and HTML UIs, using declarative bindings, templates and automatic UI refresh.

Scripting tools
Grunt:
“I use Grunt for all my builds, automation and modification,” said Smith. “It really streamlines workflows so you don’t have to think about them. Previously you had to copy/paste files onto one and use all kinds of third-party tools. But now you can use server-side JavaScript to make it all happen.”

Node.js: “I’m always nervous about a Node server going down, but now Azure takes care of that with its high-availability IaaS availability for Node,” said Smith. “The biggest thing I use Node for is real-time data. Not the AJAX haul, but real-time in the sense of Big Data being updated on the server and Node updating the front-end data visualization immediately.”