Hacker News new | comments | show | ask | jobs | submit login
Ember 2.12 and 2.13 beta released (emberjs.com)
56 points by izelnakri 101 days ago | hide | past | web | 11 comments | favorite

While I have not attempted to use Ember in well over 1.5 years, the key phrase being "attempted". These days with Vue.js and React, why would Ember still be a solid choice? For me, Ember was too complex to groc, and seemed over engineered with no clear focus on making development easier and faster.

2 key advantages Ember.js has over other SPA solutions are serverside rendering and advanced acceptance testing.

- You can do server side rendering with other frameworks however it is significantly easier and better to do it with Ember.js due to the way ember routing model and Ember-Data works.You can do acceptance testing with other tech stacks however they cannot be as fast as the usual ember acceptance testing stack + ember mirage. Mirage mocks your backend and introduces an in-memory ORM thus your tests wont ever need to hit your backend or the database. This comes with 3 major advantages and 1 major disadvantage:

Advantage 1: Your tests will be very fast. Ember test suit knows exactly when your app starts, it can listen to the next visit, next Ember loop in the Run loop for async functions and execute immediately without timers. These are well defined and documented in the framework.

Advantage 2: Most web backends are not built on JavaScript, however current trend is to write acceptance tests in JS/node.js due to the all available ecosystem support in a certain SPA framework/library. Since your backend logic is most probably written in another language you cannot access the backend data in your frontend tests. Ember mirage replaces your backend thus you can access your backend data on acceptance tests for higher test quality. If your backend is written in node.js you can require your models and query them inside the tests thus not much there wont advantage here. For the majority of backends you will have to write your own hacky tool to query your backend if you want higher quality testing. Or you have to write your acceptance tests in your backend language which will be no doubt slower than ember tests + headless browsers that have JS API support.

Advantage 3: You can develop very complex frontend applications on the development mode with Ember mirage without a backend. There is a productivity advantage when your frontend developers are not backend developers/not familiar with your backend stack. You can source your backend API responses as Ember mirage fixtures thus eliminate the need for data preparation/model generations with factories for each frontend tests.

Disadvantage: - Sometimes you need to write your backend logic in Ember mirage routes. Ember mirage is still an alpha software and all these add up to the learning curve.

Ember.js has lots of potential and a mature ecosystem.

I've noticed that Ember fans are generally rails dev, at first I just believe it was because discourse was written in rails but ember and rails share a lot of philosophy/ideology which makes it appealing to some and repealing to others.

I share your sentiment exactly and look forward to someone chiming in on this.

There are plenty of reasons to be found for why people enjoy using Ember, but here are some of mine:

Ember is opinionated, and in most cases that is a great thing. Every other day there's an article about "frontend development is too confusing because there are too many choices", and Ember defaults to making those choices for you. It's not that dissimilar to backend dev, where you _could_ start off with just an http server, and choose your own authentication and bring in your own ORM and in many cases you would have been better off just using Rails. Yes, there are some cases where Ember doesn't fit and you shouldn't use it, but most frontend apps look similar enough and the frontend ecosystem benefits by Ember guiding developers down a well-trodden path.

Another thing the Ember community does really well is its open development process. Anyone can read and contribute RFCs and at any time I can see exactly what's in the pipeline for the future of the framework.

Yeah, but then again Angular2 is also super-opinionated.

I went through a front end dev book last year whose final project was in ember. It held your hand through setting up the development environment, and once set up I found I really liked working with it. And it seems like you could develop pretty fast if you got comfortable. I don't do anything on the scale that benefits from frameworks like ember in general, so I don't find myself reaching for it. But I thought I might as well register the fact that my experience was a good one.

I've never user Ember, but I've always been intrigued by Ember Data: Having a persistence layer that Just Works right out of the box is very compelling.

Ember is an interesting framework still and one I would consider on new projects for a few reasons: the core maintainers, LTS releases, and RFC-based governance. I think the project has been pretty quiet in the last 18 months and I'd love to see an up-to-date comparison of features and performance with current alternatives. Are there any that have been written lately?

Ember is still way behind AngularJs and React in popularity. https://cl.ly/1k0e1Y1F2524 Check out stats: https://jobsquery.it/stats/frontend-frameworks/group

Does anyone even really care?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact