AndPlus acquired by expert technology adviser and managed service provider, Ensono. Read the full announcement

The Power of Ember.js

Feb 19, 2018 9:05:00 AM

shutterstock_788889745 smIt wasn’t so long ago that software developers’ skill sets pretty much consisted of one thing: the programming languages they knew. If you had experience in Pascal or C, you could get a job as a programmer.

It’s much more complicated now, thanks in part to the explosion of ways computers can be used. Where software used to run only on mainframes and later desktop computers, we now have software running on phones, toys, watches, “smart” devices, appliances, televisions, and more. And of course there’s a whole subgenre of web-based applications, requiring numerous specialized skills. Now as a developer you need to know not only a programming language (probably more than one), you need to know markup languages, query languages, and various frameworks.

Frameworks and Web Application Development

In web app development, a framework is a set of tools that is intended to eliminate much of the low-level “grunt work” and let developers focus on functionality, usability and look-and-feel. Most web app frameworks help organize application development by enforcing some variation of the model-view-controller (MVC) application structure. (By way of review, MVC separates the application into three independent areas: the model, or data objects; the view, or user interface; and the controller, which governs the app’s behavior.)

By far the most popular web app framework is Angular.js, backed by Google, but an up-and-coming alternative has been gaining steam over the last few years: Ember.js.

All About Ember.js

The roots of Ember.js go back to 2007; it’s a variation of the original SproutCore MVC framework. Unlike Angular.js, it doesn’t have a single company sponsoring it, although it boasts several important names as backers, such as LinkedIn and Yahoo!.

Among the reasons for its increasing popularity are:

  • Support for the entire MVC paradigm
  • Use of the document object model (DOM)-aware HTMLBars templating engine, which simplifies building the application’s HTML code
  • Easy-to-use data model
  • Built-in performance optimizations
  • “Convention over configuration” principle, which means that some components, such as controllers, can automatically be created
  • “Don’t repeat yourself” principle, which means less writing of the same code snippets over and over for different objects

All of this makes the developer’s job easier by reducing the amount of actual coding required, thereby reducing bugs and internal inconsistencies that are difficult to track down. Proponents of Ember.js claim that it “makes developers productive right out of the box.”

Ember is open-source and free. The companion Ember CLI command-line interface provides a number of utilities for building and testing Ember.js applications. Other available resources include Ember Inspector, which is a browser extension for Google Chrome and Mozilla Firefox that simplifies the testing and debugging of Ember.js applications on those browsers.

The main complaint about Ember.js is that up until release 2.0, the API has been highly unstable; many of the changes over time have “broken” older Ember.js applications. Perhaps a more lasting impact of this instability is that much of the older information out there on community forums, YouTube videos, and the like are obsolete; following their advice will result in applications that don’t work. This complicates the learning curve for developers who are new to the framework, because it’s difficult to know what information out there is useful and what’s irrelevant.

A Bright Future

Still, Ember.js has attracted a growing and enthusiastic community of developers, drawn by its many advantages. Release 2.0, made available in 2015, was a major milestone that introduced some much-needed stability, and Release 3.0 is in the works at this writing. (Ember.js has an interesting release model in which a major release contains no new features; it is simply the accumulation of the incremental improvements on the previous release, plus deprecation of certain obsolete features.) With its ability to create compelling applications in a short time, Ember.js should continue to gain popularity as the web app development framework of choice.

Brian Geary

Written by Brian Geary

Brian is a true believer in the Agile process. He often assists the development process by performing the product owner role. In addition to his technical background, he is an experienced account manager with a background in design and marketing.

Get in touch

LET’S BUILD SOMETHING AWESOME. TOGETHER.