Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Should I learn Angular or Ember?
16 points by rayalez on Nov 3, 2014 | hide | past | favorite | 11 comments
Hi!! After gaining some competence at Django, I've decided to learn one of the frontend frameworks. Seems like Angular vs Ember is the choice.

Angular is more popular, but I don't care about that, I am looking for what is more powerful, elegant, and future-proof. Not for a particular project, but for the sake of learning the core key concepts.

So I want to ask - which one should I learn?



As a mostly backend Django dev who's only done front end with jQuery, I've been asking myself this same question but looking at other options as well. So far my conclusions have been

Angular: Hesitant because of the recent 2.0 announcement. It also doesn't doesn't seem to play as nice with other libs like jQuery. Also just don't like the feel of using it (this is a personal pref though)

Ember: Looks great, but rather complex and heavy handed. Between working for multiple clients concurrently, I don't feel like I have the time and mental capacity to really dig in at the moment. May consider in the future.

Backbone: Seems like a nice framework to organize your code + routing. Am wanting two-way bindings though.

React: One look at JSX and my brain goes 'yuck'

Knockout: I'm heavily leaning towards this at the moment. Seems like the perfect balance between shallow learning curve, playing well with other libs, and offering way more than what jQuery does.


Having done a couple Angular projects now (and not really loving it), I started learning Knockout on the strength of this thread:

http://www.reddit.com/r/programming/comments/2kl88s/angular_...

So far I'm really impressed! I appreciate how focused it is, how it is "more library than framework," and how nicely it plays with other Javascript libraries. And unlike Angular, you can really get up to speed in an evening, so trying it out is an easy investment.

I'm curious what you're combining with it? I think I will use:

- sammy.js for routing

- knockout.mapping for making API calls

- Bootstrap

- jQuery+Underscore for general utilities

- Maybe this for d3 graphs: https://github.com/hoonzis/KoExtensions

Anything else?


It's been awhile since I've done any greenfield projects. As such, I'm usually stuck with some ancient/crappy libs. I'm definitely a fan of Bootstrap and jQuery though. I've also been looking into sammy and ko mapping as well, but I haven't had to do a SPA recently (but one is on the horizon)


You don't have to use JSX with React. You can just use plain JS.


To me this seems even worse though... I giant JS string holding a bunch of HTML.

In general I like HTML in the HTML file, or in a template file. Embedding large chunks of HTML in the JS, especially as a string is not my cup of tea.


I recently went through the same process, took a look at both… and ended up falling in love with React (https://facebook.github.io/react/), in case you wanted another option to throw in the mix. :P

I agree with un3n, though: learn the basics of each and decide for yourself. Both projects have really great tutorials and beginner resources. Everyone learns differently, everyone has different values and opinions. Despite this being the Internet, there doesn't have to be one true end-all, be-all answer.


Angular scales up fairly smoothly from a small widget on a site to a full SPA. It has two major downsides.

- you're on your own for a lot of app structure

- it expects you to know javascript quirks about object references, prototypical inheritance and how to read JS stack traces

So Ruby on Rails developers find it quite unfriendly -- few conventions, very different rules about passing data around.

Ember.js has more structure, but it's difficult for a new user to use without something like EmberCLI (http://www.ember-cli.com/) to generate the basic app. It's incredibly frustrating without it since nothing will work until everything is named correctly.

Personally I find it's much easier to get things done in Angular.

However because you can learn Angular by muddling through the docs the community isn't very deep. Ember developers need to keep in touch with each other to understand the ideas behind the framework and changes to it.

So Ember meetups are much more interesting.


EmberJS hands down and the reason is quite simple for me.

There are many ways to write an 'angular app' but really only one correct way to write an 'ember app'.

When you begin work on an existing Ember App do you want there to be conventions, or just some gun-ho cowboy stuff? It was a non-decision for me, and I went with Ember.

Remember: Rails caught on like wild-fire because of it's mantra convention over configuration.


>Remember: Rails caught on like wild-fire because of it's mantra convention over configuration.

And Ember didn't... well, not compared to Angular anyways. ;)


Why not both? At least enough to understand what each framework does well and why someone would want to use one over the other. I'm not a web dev, but from what I've seen angular seems to be more widely used so if you're heading down that path I guess you will be more likely to see angular at some point.


> powerful, elegant, and future-proof

ReactJS. It's totally unlike Angular and Ember in a good way. You will not regret it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: