WTF is Ember.js and Ember CLI?

Brett Chalupa

Hi, my name is Brett.

You can follow me on Twitter @brettchalupa.

I work as a freelance web application developer.

I have been working with Ember.js for the past six months.

I remember people talking about it and wondering WTF it is.

Ember.js is an MV* web application framework.

More specifically, MVCCRT.

The separation of concerns within Ember.js makes it easy to know what goes where.

It is comparable to Angular.js and Backbone.js.

It is developed by a core team and hundreds of contributors.

Similar to Ruby on Rails, it is all about convention over configuration.

Ember Data is a library for Ember.js that makes managing data simpler and consistent.

But WTF is Ember CLI?

Ember CLI is a companion tool for Ember.js.

It accomplishes the following:

Defines project structure for Ember.js applications

Uses Broccoli for the asset pipeline

Supports ES6 modules by transpiling the JS

The future of JS, today!

Adds the ember command line tool

ember generate - generate resources

ember new - create a new project

ember server - start a local dev server using Express.js

Makes testing easier with ember test and JSHint

Sets up Bower for managing dependencies

Ember.js is good for building UI-heavy applications.

Ember.js is good for those who value consistent structure.

Ember CLI makes working with Ember.js a joy. 🌞

Ember.js has a learning curve that is fairly steep.

Ember.js and Ember CLI are young.

Resources can be scarce. Information can be stale.

Having a separate front-end and back-end application adds complexity to the app's environments.

Ember.js is not good for sprinkling into an application.

If you have a non-trivial web application focused on user interactions, Ember.js may be a solid fit.

My name is Brett.

Thank you!