I like they way of how angular can be used to structure all the front-end development using an MVC pattern in a very fancy way.
Controllers, directives, routes, services and data binding are awesome and very useful to organize any project following the MVC pattern; you can create SPA in short time with minimum effort. It's easy to learn, once you have used it you will love it.
Angular is well documented and community is very active and helpful, and know what? It's open source Review collected by and hosted on G2.com.
Angular is easy to learn and use, when you need to access the DOM angular offers a nice approach with built in directives, you can also create your own custom directives, directives are nice but, in many cases using directives to manipulate the dom is not so easy as we expect, I think because angular is more focus on data binding instead of DOM manipulations. Review collected by and hosted on G2.com.
Complete framework to solve front end development that gives you a lot of power to create Single Page Applications and has built in almost anything you need to create apps without resorting to other plugins Review collected by and hosted on G2.com.
You need to learn a lot to really use it, it's very simple in the first steps but you have a steep learning curve for learning directives and digest cicle and other concepts. The works thing now is that I have to learn again angular 2 since it's a different framework, it seems similar in some parts but has changed and when you finally think that you are set with a framework one must learn something again. Review collected by and hosted on G2.com.
Components is number one and number two is dependency injection Review collected by and hosted on G2.com.
I dont like implicit watchers that are created there should be some better control over that process. Review collected by and hosted on G2.com.
Two way data binding, definitely. How could people survive without it? .But besides that angular is very expressive, you don't need to write much code to get good results, making it a great tool for prototyping. You can get your idea up and running in no time. Review collected by and hosted on G2.com.
All said above is great once you know angular. Since it introduces some new concepts it is very different from other js libraries out there, so the learning curve is quite steep. It is easy to learn the very basics, but the more advanced features are quite tricky. Other dislikes is that if you have too many variables in your scope the performance starts to go down. I also find the controllers a bit "messy": even if your app has kind of independent pages (components), everything still seems to be altogether in the source code. Fortunately angular2 is here to solve most of the problems with angular1. Review collected by and hosted on G2.com.
I like that there is a large ecosystem of Angular plugins and there is a lot of community driven documentation available (a la Stack Overflow). Review collected by and hosted on G2.com.
It's the little things about Angular that will drive you insane. Often no error messages will show up when things aren't working right. When the error messages do show up, they're often very unhelpful and there is no semblance of a callstack or much that would show you where the issue lies.
Performance is also not the greatest. Angular has a reputation for doing a lot of polling for changes instead of being able to just hook in and listen. If you're putting hundreds of items in the scope, the browser will lag. Angular requires users to manage aspects for performance that you otherwise wouldn't think of having to manage. Review collected by and hosted on G2.com.
Big community, lots of contributed components available Review collected by and hosted on G2.com.
Angular is a pain to learn and get started with. Everything is doable, but figuring out the right way to do it can mean bouncing around the web, with each article/blog recommending something else. Review collected by and hosted on G2.com.
Angular 1 was a great javascript framework for displaying dynamic content - kept the html DRY by allowing chunks to be rendered in a loop. 2 way data binding allows for instant updates - so long as the update happens within the angular digest cycle. Review collected by and hosted on G2.com.
The learning curve was pretty high, the documentation sometimes not great, and it didn't interact very well with jquery modules. Slowed down loading time on websites. Single page apps are not very SEO friendly. Anything updated outside an angular digest cycle is completely missed, and workarounds are lengthy and timeconsuming. Review collected by and hosted on G2.com.
* A wide array of plugins to help build awesome products.
* Industry wide use and backing of solid firms.
* Great documentation to help beginners.
* Awesome welcoming community Review collected by and hosted on G2.com.
* Steep learning curve - Getting started with Angular is easy, but learning some of the advanced features can make you pull your hair.
* Lack of error messages
Review collected by and hosted on G2.com.
I like that AngularJS has a number of prebuilt solutions to plug into HTML and CSS for enabling websites to behave in desired ways. In many cases, different websites will have similar behavior and AngularJS as a framework supports many of these behaviors out-of-the-box. Once one has mastered a few basic concepts - directives and controllers, in a nutshell - AngularJS opens a world of front-end goodies. Review collected by and hosted on G2.com.
For front-end designs that are responsive to user behavior, JavaScript is unfortunately the only major language. As a Rubyist coming into AngularJS, there is definitely a learning curve and I would prefer if there were another language besides JavaScript that performed this functionality. I also don't like that the variables are packaged in as a string, such that parameters passed to a controller or directive need to be written in the same order as in the functions they enclose. That can cause problems that are difficult to debug. Review collected by and hosted on G2.com.