As a newbie, start with 1.12.x or 2.0-beta?

TL;DR: As a developer new to Ember (but not to web development), should I jump right into 2.0-beta in spite of the documentation being focused on 1.12.x or should I learn 1.12.x first and move on once I’m comfortable there?

Hey, guys! I’d categorize myself as an intermediate web app developer. I’ve been doing it for right at two years now and have experience in the now-essentially-dead Durandal and the widely-accepted Angular. I’ve just started up a new project with some friends and am trying to pick a front-end framework that will work best for our app.

One of the biggest factors for us is search engine friendliness. Most people will find our app via searching for content added by users to our site. My original plan was to use Angular, but then I realized that Angular’s client-side-only approach could create problems. Granted this is not as much of a problem as it was a couple of years ago before Google and Bing started executing JavaScript with their bots, but it can still present problems in other contexts from what I’ve heard. This led me to look for a framework or architecture that would allow for easy server-side rendering while still being able to leverage all the goodies that come with a client-side app.

My gut reaction was to go with a React + Browserify style approach and just be smart about the architecture, but I’m afraid that will intimidate my friends who are quite new to development. They are more comfortable with HTML and CSS than JavaScript and JSX is quite a shock to someone who hasn’t seen it before.

This has lead me to Ember. As I understand it, 2.0 will see Ember move to a new virtual-DOM-based rendering engine as well as introducing Ember FastBoot which will give me the server-side rendering I need. This has me quite excited! However, it seems Ember’s guides are still targeting 1.12.x which has left me with this conundrum:

Should I focus on learning Ember’s new templating system and Ember FastBoot via 2.0 or should I start with 1.12.x and move forward once I’m comfortable there and once the documentation has caught up? I’m currently learning towards the latter approach since I imagine a lot of the concepts from 1.x will carry over to 2.0. What do you guys think?

The new rendering engine is a drop-in replacement for the old one, so you don’t need to learn anything new to work with it :stuck_out_tongue:

Go with Ember 2.0 and just stay away from views in the tutorials. The biggest difference will be the implementation of routable components instead of controllers + views (routable components havn’t landed in 2.0 yet, but you can get familiar with the inner workings of components now since views have been removed). With regards to other changes; there will be a few, but just keep an eye on the recent blogs posts on the Ember site for changes.

Thanks for the reply! That’s solid advice. :smile: