Future of Ember?


#1

Hi,

I’m trying to work with ember for a few days now and besides the high learning curve (okay… angular is much worse imo) I’m asking myself where ember is going to be in the future? Right now, when I search for tutorials or examples and find something its most of the time not working anymore - or examples are for ember-cli. And theres my problem - I build apps on the server side with php or ruby, not with javascript and node, so I intended to use ember just on the client side. ember-cli seems to be a full-stack framework if my understanding is correct, so my question is, if ember is going all the ember-cli way in the future? For me it seems like that since I can not find any good resource with good and easy to understand example of how to work with the current ember version… My concern is, that I will invest quite some time now to work with ember and than ember will take a different route in the future… (as angular seems to do so with angular 2).


#2

ember-cli is the preferred toolchain for building Ember apps. In the end it just generates static HTML/CSS/JS that can be used with any backend. Rails seems to be a popular choice among Ember devs. So, no, Ember is not a full-stack framework. (I’m using it with Java and C++ backends myself.)

But I can understand your hesitation: a lot of existing Ember documentation is outdated, which can be frustrating to newcomers.

To make matters more difficult, some current 1.x approaches, such as the use of controllers, will no longer be considered best practice in 2.x.

More info on the upcoming 2.x changes:

https://github.com/emberjs/rfcs/pull/15

I hope this post doesn’t discourage you too much! :smile: For me, learning Ember has been worth the investment, but I do have to keep up with changes much more than I’m used to with other frameworks.


#3

Howdy @mkconn! I’m assuming you’re unfamiliar with client-side build processes, forgive me if I’m wrong. Even though Ember-CLI is a command line tool and uses things like npm, it’s very much for client-side development. CLI is where it’s at right now, and your investment in learning how to use it will be well-rewarded, now and in 2.0. CLI will give you the folder structure, boilerplate code, dependency management (jQuery, Ember Data, etc), as well as slick features like Live Reload and automatic concatting/minning for your production builds. It’s not terribly hard to get started with, and the code you write with it is the same code you see in the tutorials and API docs and stuff.


#4

Ember CLI is a build tool which is built with Node.js and distributed via NPM, however it is not required to use it as a production server. Ember CLI provides you with the command ember build, which will minify your code and export all the files needed into the project’s dist folder.

At that time, it is up to you where you deploy the files and how they will be served.

As an example, the way I use the CLI tools for my primary project is strictly as a compiler; very similar to GCC or LLVM/CLANG. The application/server logic is driven by Rails and we export files from our Ember CLI project folder into our Rails project folder. While it’s compiled, we don’t even use the included index.html and various other files; they don’t match our deployment at all and that’s OK.

Remember: Ember is just JavaScript!

As far as Ember 2.0 (and beyond), the core team is hell bent on never making an upgrade painful. Each minor point release, like 1.8 to 1.9, are pretty painless. The deprecations are noted well in advance, typically several releases and everything is transparent (see the CHANGELOG.md). When 2.0 hits, it will not be something that instantly breaks your application. It will be a release that makes good on all the deprecation notices you’ve been receiving for months on end.

New features are openly discussed and feel natural if you’ve been in the Ember world for a while. Speaking directly to new Ember developers, the 2.0 release is somewhat focused on removing stumbling points and simplifying the flow of data from your server into your template and components.

I’d urge you to give Ember a try. When you stumble, post what you have going on and someone will answer.


#5

Thank you all for your answers - those shed some light onto the whole ember thingy and I think I will not dump it from my current project, instead going to dig deeper into it…