I found Ember.js (or rather, it found me) exactly 20 years after writing my first lines of code. It felt like coming home.
Sometimes it’s easy to only focus on the things that need to be improved. We should never shy away from improvement or the self-awareness it takes to confidently improve.
Today, though, I want to do something different. Today I want to tell you some of the main reasons I love Ember.
I can use native HTML and CSS in my project. I don’t have to do weird shit to transform it into something else. In fact, a person could create a static app with Ember and not have to learn a single line of JavaScript. I don’t have to learn how to insert HTML in JS. I especially don’t have to figure out CSS-in-JS. I can use my existing knowledge without having to re-learn things I already know! This is especially helpful on a team when your front-end developers have different areas of expertise- the separation of concerns allows everyone to contribute. The great divide is somewhat lessened.
I don’t have to be exhausted by chasing fads. I can focus on what’s important to me. Years of expertise went into making Ember, and it shows in both small details (like auto-generated IDs) and the big ones (backwards-compatibility guarantee). I can rely on Ember’s stability and that literally translates to money in the bank, because I don’t have to worry about constantly re-writing my app. I can focus on the long-term business value that it provides, and that’s an exhilarating win.
When we’re evaluating technologies for appropriateness, I hope that we will do so through the lens of what’s best for users, not what we feel compelled to use based on a gnawing sense of irrelevancy driven by the perceived popularity of newer technologies.
From dev perception by Brad Frost
I can contribute. If something in the docs doesn’t make sense to me, I can click the little pencil/edit icon and I’m immediately taken to a GitHub screen where I can directly edit the file and submit a pull request. The Learning Core Team keeps track of how long a PR has been open, and works to keep response times appropriate for an open source project. My input feels valued. It’s not essential, but it’s really nice to have.
I deeply appreciate Ember’s emphasis on convention over configuration. I like the idea of “The Ember Way” because it gives me a feeling of security and more confidence in the code that I write. The thing I dislike about JavaScript is that more often than not, there are ten ways to do a thing, but you’re never really sure which one is the right thing or the best thing and really it all comes down to which person on your team yells the loudest so everyone just gives up on caring.
I don’t have to think about file layout. When I generate a new Ember application, all of my files are put in place for me, and wired up correctly! Anything I generate in Ember is also automatically put in the correct place! This might seem like no big deal to some- but as someone who worked in a whole lot of other languages and teams over the years, I cannot count the number of hours that were wasted in trying to decide where files should go. It is a complete and utter waste of any team’s time to have to think about this. I love Ember for doing this for me.
Routes respect the URL. This meant that I could take my existing knowledge of how a website’s URLs should be nested, and create routes that exactly matched. The whole thing ends up being really lovely – well organized and great for SEO! I was an expert in how websites should be organized, and that knowledge directly translated (for me) when I came to Ember. It was completely glorious.
Really, when it comes down to it, the thing I loved most about finding Ember was that it was a JavaScript framework that implemented itself to support the existing best practices for building for the web. So much of the knowledge I already had was immediately useful and applicable because it required no translation. After years of feeling adrift in other ecosystems, finding Ember was like finally finding solid ground.
Ember empowered me to be ambitious again, and I love it for that.