This is the third part of my series on MVCs, where I will be collecting and offering links for getting to know, and get started with, MVCs.
I will be focusing on what I consider to be the big four right now (each will become a link as I publish that part):
- Intro
- AngularJS
- Ember.js (this post)
- React
- Backbone.js
- Summary
Ember.js
I guess the logical starting point for any new topic is the topic’s own “official” website, so here is Ember.js’ Getting Started guide. I think the first thing to note is the version dropdown at the top of the left menu. Not sure why anyone would choose an older version to get started with, unless maybe you are starting a new job and they are already behind the times a bit; it certainly happens, so I guess it is nice to have.
Well, like all the other MVC framework sites we’ll be looking at, the official docs are a bit dry… Though the left navigation menu does seem to nicely walk you through everything, subject-by-subject, but the page titled Guides and Tutorials is a bit light on, well, guides and tutorials… So let’s scrounge around for a few more elsewhere…
I started with the Code School Ember.js course, which interestingly explicitly states that, in addition to HTML, CSS and JavaScript, you need to know jQuery (not a blocker, but dependancies are just annoying). This Code School tutorial seems a bit disjointed compared to others I have used, referencing things that they had not talked about yet, etc., but it is certainly not un-followable, and once again, I love their interactive coding quizzes at the end of each topic, it really helps solidify what you just learned before moving on.
As an experienced Ember.js developer, John Fisher tries to debunk a few Ember.js myths, while also offering a concise 10 Steps for Ramping into Ember.js Quickly. Most steps are outbound links, but, hey, nothing wrong with articles like that, am I right [looks at self in mirror…]?! ;-)
Richard Martin provides a nice, high-level intro to Ember.js. Not sure why the numerous references to Rails, other than as a comparison, and maybe most of his audience is already familiar with Rails, but it is not required for Ember.js. Richard also mentions, repeatedly, about Ember.js’ steep learning curve. I would agree that very little of Ember.js felt intuitive, but I also didn’t feel like any of it was confusing; there is just a lot of “the Ember.js way” type of stuff to learn. His post ends with a really nice list of additional resources.
Continuing with lists of additional tutorials, Erik Hanchett offers a good collection, including a link to a slew of YouTube video tutorials! Erik also points out an important note, that Ember.js “has been changing fast” and that “A lot of tutorials out there are already out of date” so be careful of what you choose to use as you learn.
As an example, while this Smashing Magazine in-depth introduction is only two years old (I know, that’s an eternity in the tech world), it is pretty out-of-date now. Many of the topics introduced are still relevant, so this might be a good article to skim through, for concepts and vocabulary and such, before really digging deeply into a more—current tutorial.
One last resource is an intro to Ember.js’ CLI, which seems to be a pretty powerful, and somewhat new, interface for working with Ember.js. (I would like to give the author, Andy, more credit, but unfortunately the blogging platform he is using only lists his first name, and links all of those first names back to the page you are already viewing…). The article is long, and all text-based, but there are plenty of code samples, and the text is pretty light-hearted and thorough. (Plus, I like any author that readily admits that “I’m not as funny as I think I am”… Somehow, I think I can relate… ;-)
Bottom Line
I read quite often about how much of “a steep learning curve” Ember.js has. Again, I agree that it is not necessarily intuitive, but it is not a blocker to me; all of the concepts follow standard MVC practices, and once you learn “the Ember.js way”, things move along pretty swimmingly.
Also, I love any framework that builds stuff to make my job easier, like the the built-in console log feature, and their Chrome and Firefox inspector extensions.
All of that being said, based on market-share, I would say Ember.js is worth being familiar with, but maybe not the first one I would focus on. AngularJS is certainly currently the king for that right now, but I think that , as we will see shortly, React is going to be taking over eventually…
I hope you enjoyed getting to know Ember.js, up next is React!
Happy learning,
Atg