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.
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.