Why does ember changes so fast?


#1

Hello im new to ember and im trying to learn how to use it and it’s been hard trying to find tutorials that are up to date. I recently subscribed to teamtreehouse and did the emberjs course, thinking that it should teach me most of the stuff i need to start using ember and it did help a lot. The issue i have now is that Ember changed so much that I feel like i have to re-learn ember again. So I decided to purchase a book on ember online. The book was published in May 2015 so i thought it would be good because it would have up to date information. and when i use the code that comes with the book some files from the code are already old like for example the brocfile.js . Apparently it got renamed to ember-cli-build.js. It took me a while to figure this out by going online and reading through documentation. Is there a version of ember that is not going change soon ? I don’t want to learn something now and have to re-learn it 2 months from now again.


#2

It’s going to be a case of continuous learning I’m afraid - the whole tech industry is like this but maybe JS is faster paced than most ATM?

Books and even blogs will be outdated fast so find a way to stay on top of it - twitter, mailing lists, stalk the repo whatever. But you can’t rely on books ATM, maybe after 2.0 is bedded in?

It’s worth the effort though :slight_smile:


#3

It’s a good point mate! I think everyone struggles with this.

I think what you need when everything moves so fast is an up-to-date list of recent resources that you know you can use which are current for where things are at.

I thought this and then I thought, wait hang on there’s Ember Weekly. So my suggestion is that you sign up for the free Ember Weekly newsletter and in most editions there is usually articles for beginners and how to get started.


#4

Oh and follow along on the forum here, For example I just saw this:


#5

There’s Ember.js the library, and there’s Ember.js the ecosystem.

Library

Ember.js the library has tried to be as stable as possible during the 1.x branch. What this means is that even though new functionality was introduced and new idioms/best practices appear, an application written in 1.0.0 should still work in the latest 1.13.x, bar any implementation bugs.
I believe the core team has talked about some decisions they made that in hindsight make the process a bit hard.

Ecosystem

Ember.js the ecosystem is a trickier subject.

Ember Data

First you have Ember Data, that for the last year or so has basically been releasing beta versions even though they were actually stable versions, and had a change of internals in 1.13.0. This change shouldn’t impact end-users if they were using one of the built-in adapters since they were all updated, but if you are using a community adapter you need to wait for it to update.

Ember CLI

Then you have Ember CLI. CLI is possible the part of the ecosystem that changed the most due to its infancy, though end-users should be less affected.

The biggest change for end-users was the move from global-style development of Ember Applications (App.ApplicationController = Ember.Controller.extend) to ES6 modules (app/controllers/application.js -> export default Controller.extend), and then the renaming of ember-cli-build.js.
While it’s still possible to develop Ember applications using global-style, buying into CLI gives you a lot of nice tooling for free and is the officially supported way.
Addon developers had some woes to contend with, I think during the 0.1.x to the 0.2.x transition, but now that CLI is version-locked with Ember it means that CLI 2.x.x has a stable API.

Youthfulness

In short, keep in mind that Ember.js as a whole is still a young framework, with its second 1.0.0 birthday coming up in a couple of days.

Is there a version of ember that is not going change soon ?

I hope not! :stuck_out_tongue: There are many exciting new features coming up eventually leading to routable components. But to answer your question and put your mind at rest, anything you write in Ember 2.0.0 will work for any 2.x.x version (bar bugs), and you don’t need to update unless you want to use the new features!

We are working hard on getting the Ember.js Guides up to the standard we want, and with the reintroduction of the Tutorial it should be much easier for new developers to dive into Ember.js.

Resources

Aside from Ember Weekly as mentioned, you have Ember Watch, specifically the book section. Of the first four I am not familiar with Suchit Puri’s book, but the other three are frequently updated.
There’s the release notes: Ember (blog), Ember (GitHub), Data, CLI.
The Ember Land and Ember Weekend podcasts are also very useful. There’s also videos of the meetup presentations.

Continuous learning indeed! If you need any specific help, drop by the Ember Community Slack channel.

P.S.

I was going to mention RFCs, but then forgot until @lookingsideways brought it up. Both Ember (it includes Ember Data) and Ember CLI have an RFC process so that the community can keep abreast of any upcoming changes, as well as vet them.


#6

@locks awesome write-up! :smile:

The core team is aware of the pain that quick releases cause in some situations. It’s worth reading the improved release process RFC, especially the part on Long-Term-Support releases proposal - https://github.com/emberjs/rfcs/blob/two-dot-x-improvements/active/0000-improved-release-cycle.md


#7

Thank you , I appreciate you taking time to write such a good response, I looked at resources that you mentioned. Ember watch seems like a good place to learn by watching videos. I also looked a the links to the books and noticed Suchit Puri’s 'book. I bought that one last week and have been reading it. So far it’s been good and has given me a good idea on how Ember works. Im still a little lost with the models , but i just have to read up more on that.