How Ember.js saved my life

Matic Jurglič
Developers Writing
Published in
4 min readJan 23, 2016

There’s a myriad of web developers in this world and at a certain point in my life I decided to join the club. Never in my life have I stood at a point where I’d could wholeheartedly say: “I know what I want, I know what I’m doing and I know how to get it”. But web development seemed like something that I, as a tech aficionado with some brains, could enjoy and make profit.

And so I did. Like every seasoned webmaster, I delved into the murky waters of ASP.NET and PHP. After a while I jumped aboard the Rails train. In fact, there were quite a few of such trains. Each of them better and more hip than the previous one. Somewhere along the way my interests shifted a bit more to the to the front-side, where JavaScript is king, where rich interfaces are crafted, and where logic meets liberal arts.

From building one interface to another I found myself feeling weird about how traditional websites are being made. Especially ones with rich interfaces. Server renders the whole website document tree in form of HTML, sends it to the browser, also sends a metric shit ton of various scripts with it that modify the document after it loads in the browser. On every. Single. Page load. It caused redundancy, overhead, slowness, constant regression and seemed unnatural to me. Yet everyone was doing it, and some still do. It reminded me of my grandma’s old plastic christmas tree she unveiled every year with kitsch decoration and christmas lights still on from previous year, added some new ones into existing tangled mess, all until the poor tree crushed under the weight of its own complexity and caught on fire. I wished there was a way leading out of my frustration.

And there was. The holy advent of Single Page Apps. People shifted their mindsets and started thinking about websites as clients. Clients that load at the start and communicate with server via short text snippets. Makes total sense, right? Yeah buddy, now this is more like it! But which library/framework to choose? Backbone.js? Knockout.js? Angular.js? Meteor.js? TheHottestNewFramework.js?

I used to keep track, now I ran out of fucks to give.

Each time I spent some time with one of them, another one popped out, promising whole better way of solving problems I was facing. I found myself jumping JavaScript framework ships all the time, instead of focusing on delivering things that really matter, for example, an actual maintainable product that people could use.

I count myself lucky I got introduced to yet another JavaScript package for building apps, called Ember.js. But this time, things felt kind of different. There was a whole toolchain that came with it, a wholesale solution so to speak, which was exactly what I needed. I no longer had to worry about setting up a build pipeline, taking hard choices about how to structure my application and other things that don’t really matter in the whole scheme of things. People can jump between Ember apps and be productive straight from the get-go. Another thing that blew my mind was that Ember encourages developers to write code in ES6 way and manage asynchrony with promises. I bet many JavaScript developers have only vaguely heard about these things as “The future of JavaScript”, while Ember developers are using it for quite some time, by default. The templating engine that comes with it allows for such expressiveness it sometimes makes me feel like I’ve just made art.

What I also discovered is that people who maintain this framework are secretly in love, or at least flirting with other frameworks and try to smuggle in as much goodies from all around as possible. I highly appreciate the fact Ember.js doesn’t just stand for a package of code, but it also represents a community of wonderful and smart people. You can go to Slack and chat with Ember’s (core) developers just about anything, get insights about future developments and get your problems solved in a matter of minutes.

Now, I just don’t give a fuck. I’m certain all good ideas will eventually end up in Ember, and I’m going to contribute and stick with it for a long time, while making awesome products without any fear of missing out technologically. It may sound narrow-minded, but as a web developer, I never felt so good before in my entire life.

Want to learn Ember and make web development great again? Get my book: https://leanpub.com/front-end-revolution-with-ember-js

--

--