5 ms·
Ember is a lot harder to go from 0 to Todo App in an hour. There's a fairly steep learning curve, but once you've grokked the "Ember Way", building more complex
by sync 13y ago
Ember is a lot harder to go from 0 to Todo App in an hour. There's a fairly steep learning curve, but once you've grokked the "Ember Way", building more complex apps is significantly easier.
With Angular, you can build a Todo App in no time, but building anything more complex requires you to understand e.g. Services, Directives, and Transclusion.
With Ember, you are just learning about Models, Views, & Controllers -- it doesn't get significantly more complex than that initial learning curve.
- Osiris 13y agoThis is the same experience I had. I built a simple Angular app quickly but I soon realized I didn't understand how to go from the sample code on their website to doing more complicated things as the structure of the framework is very different from what I am accustomed to.
- Finbarr 13y agoThis was my experience exactly. I started a project with Angular and got the basics set up without difficulty. When it came to integrating Google Maps, it was a nightmare and I switched to Ember. It took me a little while to figure out "The Ember Way" but the integration is very clean and understandable now.
- zwily 13y agoI haven't built anything in Angular yet, but I can vouch for the Ember side of this. Getting started was pretty painful, but I now feel remarkably productive even in more complicated scenarios.
- SonicSoul 13y agofrom my limited experience with Ember, it appears that it hosts entire application from a single base url, and overrides forward/back buttons so that the page doesn't reload in order to keep state. instead it uses query string view paths and tokens to navigate around right? Does Angular support anything like this?
- bluepnume 13y agoWhat you're describing is pretty much fundamentally a "single page web app". This is a pretty common pattern for frontend apps.
- ahawkins 13y agoVery high learning curve but it levels out. It doesn't get more complex unless you make it. It's hard to transition to a fully async environment if you're coming from the server side.
- marknutter 13y agoLearning directives, services, and the scary sounding "transclusion" has not been an issue at all for my team and I who are using angular on a very large project and loving it. Directives are quite simple once you understand the basic principles. Transclusion when actually explained (http://www.egghead.io/video/cjrBTjMvruI http://www.egghead.io/video/cjrBTjMvruI) is a trivial and obvious concept. I understand the confusion one may have around services/factories/providers because they are all very similar and in some ways little more than syntactic sugar for a single API, but once their differences are sorted out as in this blog post (http://iffycan.blogspot.com/2013/05/angular-service-or-factory.html http://iffycan.blogspot.com/2013/05/angular-service-or-facto...) they too become very natural.
- pzuraq 13y agoFor me it wasn't learning the terms, I didn't have an issue there. The problem was how limited Angular was in comparison to Ember, particularly the idea of directives. I actually spent a large amount of time on freenode discussing in the Angular chatroom how I might construct a directive to replicate a common jQuery plugin like Zurb's Joyride. In short it couldn't be done in anyway that seemed remotely non-hackish. Ember has jQuery included, so using existing plugins is generally easy or at least possible. Beyond that, it has a far more powerful router (try doing deep routing with Angular. Angular UI's router may be changing this, but you would still have to include outside code to get the power of the standard Ember router) and in the future much more powerful REST support with Ember-Data (currently volatile, but still very powerful). I started building a large application with Angular using FuelPHP for the REST server. Angular simply didn't have the power to do the things I needed it to at that time. Hopefully that's changing, since it seems to be the dominant framework these days.
- aphelion 13y agoI'd say that once you've mastered Angular concepts like services and factories, dependency injection, etc., it's far easier to build complex applications in it than in Ember. That's because the abstractions Angular introduces are focused around writing decoupled and reusable code. If you want to build an app in an hour, I'd suggest knockout instead of either ember or angular.