Example of Ember.js being the wrong tool for the job?

What would be a clear example of an application that should not be built with Ember.js? Maybe a case in which Angular or Backbone would be MUCH better suited?

Probably anything can be built with Ember.js, but there must be some type of project that would require a lot of hacking around the Ember way, which would this be?

Iā€™m not sure there is a case of Ember being the ā€œwrong tool for the jobā€. It all depends on how much effort you want to put into the project.

Iā€™m building a fairly large and complicated business grade enterprise app using Ember as the front-end. I could have developed it faster using HTML/jQuery spaghetti code but the benefits of Ember (URLs are important, maintainability, scalability, etcā€¦) made it smarter for me to use it.

Iā€™ve certainly run into several issues along the way. Form validations that donā€™t validate against a model have been problematic for me as have a lot of advanced UI interactions that are dead simple using jQuery plugins. Sometimes the Ember Way can be a bit convoluted but the benefits in the end are worth it.

Iā€™m still not 100% comfortable with the framework and there is a definite lack of cookbook-esque resources compared to other frameworks like Angular or Backbone - mostly due to a Ember 1.x being available for less than year. As the community and Ember mature more resources will become available and guides/tips/tricks for doing things the Ember Way will become more prevalent. I intend on blogging about my experiences developing with Ember at some point in the future. I anticipate more and more folks doing the same as Ember gains popularity.

So to circle back around to your question - I donā€™t there is a definitive answer - you can build anything you want in Ember - itā€™s just a matter of if the Ember juice is worth the squeeze.

3 Likes

A lot of what ultimate stated really resonates with what our team is doing. The initial cost of rewriting our dashboard/portal in ember was quite high, and implementing simple UI and ajax functionality would have been much easier on the sphagetti level. That being said everytime something clicks for us its usually us finding a better way of approaching the problem. Much of our issues have been ā€˜old dogs trying to learn new tricksā€™ and approaching problems how we would have in the past.

Iā€™d suggest that sometimes its more efficient and maintainable to avoid Ember when the project is not ambitious. Emberā€™s strengths really start to shine when things get big and complicated. Theres a good bit of initial overhead but things smooth out as the project gets more complex. With other frameworks or libraries you end up having an easier time getting something small up and running, but as it grows it becomes a nightmare.

In short, use Ember when you are actually trying something ambitious. Avoid it if your mission is something that can be completed in a day and forgotten about.

Edit: A case in point would be Emberā€™s own website or the Ember-CLI documentation. Neither of which are actually built with Ember. Not because they couldnt, but because it would be like killing a mouse with napalm. Overkill.

3 Likes

You are absolutely right. I am right now learning the project as I go along and I am happy to see that the community is also taking traction. It definitely comes down to how much do you really want to work hard on the specific project.

Just my 2c, but I felt that once I figured out how to use components effectively (this was a great resource), I felt that Ember worked alright even building relatively small web apps. Of course, if your app has very little interaction, then maybe you donā€™t need Ember and you can get away with just JS. But the ease-of-use for components was great for me.