Jackdaw's Nest

Ember Frustration, Data Relationships

2017-09-13

I've been building a large web app for about two years. The front end is made with Ember.js. We have a team of two people and for both of us this was the first really large scale single page app we have written.

Honeymoon Period

Ember was very good to start with. It gave us all the build tools and project structure to start with. Even with so little experience we were able to start writing our business logic in day one.

The Reality Kicks in

But, when your experience and needs grow you suddenly realize that in many cases you are fighting the framework. Of course, Ember has good intentions and most of the time everything works as expected and there's a lot off cool magic that Ember does for you.

But every now and then you need to do something in a non-Ember way. Maybe you're working with a legacy API or your data model doesn't quite fit Ember's way of thinking. And this is when things get frustrating. You find yourself fighting the framework which is just trying to do your work and does it wrong. It can be difficult to tell Ember to back off a bit and give you more space to do your own thing.

Now I've hit one of those moments. We have some relatively complex data models, although in this case they are used in a very simple way. Sometimes I'd just like to be able to call an API and process the raw data without Ember intervening.

Of course, there's always an Ember-y way of doing things but sometimes I'd just like to take a short cut and have my own way. But in a way, Ember forces you to use some good programming practices and I have to give them credit for that.