Why using EmberJS without EmberCLI is a Terrible Idea.

EmberJS is a front end javascript framework for writing single page web applications. It follows an MVC programming pattern. It is very similar to AngularJS and other similar frameworks.

One thing I believe sets EmberJS apart from the alternatives is the Ember-CLI project. Ember CLI is exactly what is says on the tin; a Command Line Interface for Ember applications. It has a lot of fantastic features such as: app folder structure, naming conventions, dependency management, continuous compiling and unit testing.

It also gives Ember developers a common project setup to get us all up and running as quick as possible. It makes us feel instantly at home when working with other/new projects.

If you’re using Ember without Ember CLI you have instantly put yourself at a major disadvantage because you’re missing out on a solid folder structure which keeps templates, controller, models and everything else neatly organised in a fairly logical way. This means your code is more easily managed.

The continuous compiling is a great tool, it can catch errors in everything including templates and give you instant feedback. It is also configured to use live reload so you don’t even have to refresh your web browser to see the result.

Having dependency management built in to the CLI is fantastic, it means that if you’re working in a team you have no worry about specific versions of certain plugins.

By navigating to /tests when running locally you get an overview of all of the unit tests and results from the app. These are ran on every refresh of the /tests url which makes them nice and fast to run consistently.

I have used Ember CLI professionally on a project for work and it has been fantastically easy and fast to get thing up and running. There were a few funny things like having to re-write the serializers and the adapters to handle how our API dished out its JSON but that’s all in the spirit of fun. We also massively under-utilized the Unit Test framework which we have plans to rectify in the near future.

Without Ember CLI I don’t think the project would have been very successful because of the ease of running the project locally and the logic split of the code making it easy for newcomers to pick it up fast.

After using both AngularJS and EmberJS in large scale professional projects I would use EmberJS every-time so long as the usage is based on an Ember CLI project.