Every time I take a look at Angular, I wonder if the concepts implemented or employed by it can be exposed as a simpler interface. A good example that comes to mind is the case of git. I think we can all agree that the functionality provided by git can be exposed using a simpler interface (Eg Mercurial, but please, don't start). I mean, there is nothing about the concepts of DVCS's that makes an interface to it hard. So, my question is.
AngularJS is definetly simpler for some things and more complicated for others,but as your app grows it scales better.
Backbone and Ember have more like an active record approach,which is great but then you're stuck with Backbone or Ember models. With angular one can use pure js objects which is its biggest strength.
So I can write all my domain in pure js then use angular on top ,instead extending some class at first place,since raw objects are computed and change are tracked in the view.
Now AngularJS will force you to write the presentation code a certain way.If you dont you wont be productive with it.A lot of questions on SO exist because people try to do complicated stuff without understanding how it works,and how its components fit together. If you have ever worked with Flex or WPF you'll feel at home with angular.Because it's basically the same thing.
> So, have you ever actually used either of those?
Yes and AngularJS is better than those two. Proof? the large community behing AngularJS. the 800 + committers on github and all the resources on the internet that beats any other framework. Devs dont use something because it's hyped but because it will actually make them more productive. But you'll get your facts straight eventually.
While true that an outsider looking in at all of Angular at once can be really turned off by its complexity, it's no different than any other big tool or application: you don't have to understand all of it to use it. You can use a very small subset of Angular to great effect (say the handful of built in directives for databinding).
The nice part is you can get up and running with the simple stuff to make cool things, but there's still the whole rest of the framework waiting for you to learn it that allows you to build awesome, advanced projects.
Angular has a few core concepts that are hidden by poor documentation and a lot of 'sugar'. For example, a "factory," "service," and "value" are just fancy implementations of a "provider." So, it's easy to get tripped up on the differences until you realize they're all the same thing. To me, the core utility of Angular is data-binding, directives, and dependency injection, everything else is icing on the cake but it makes it seem a lot more complex.
Looks like your submission of this at http://www.reddit.com/r/angularjs/ got removed or filtered for some reason. I moderate that subreddit so I approved it for ya.
Can Angularjs be simpler?