Drinking AngularJS Coolaid

Just about every interview I went asked

“Do you know AngularJS?”

So, I’ve decided to dig in. I’ve seen a Youtube Video and got the general concept. I’m going to learn this inside/out but can someone enlighten me w/ these questions?

  1. Danger of AngularJS UI Plugins
    This reminded me of jQueryUI. It is all great except when we had to upgrade jQuery 1.X to 2.X… It broke a lot of the plugins and there weren’t any updates those plugins either. I imagine since AngularJS is 1.X… it’s hard to tell what will happen to the UI plugins will be backward compatible or not. Do you think this will happen?

  2. Back button
    It all seems magical that back button will magically work as it is built in with the framework. My programming sense says it’s absolutely false. Right?

  3. Performance
    It claims to be lightweight/fast/yadayada… But, say I have a complex application w/ tabs and many controller’s loaded… There’s got to be a cost on “watcher” for controller’s scope. Does AngularJS performance always good? or do you have to fine tune it?

Lastly, any thoughts on cons of AngularJS? I guess I’ll find these answers as I learn them but I’m really curious to know them now.

As with any plugin for any library, this depends on the author(s) who maintain the plugin. Some authors actively maintain their projects. Some don’t.

It works. And actually, the idea and ability to use the hash of the URL to create bookmarkable and navigable states has been around for a while, using either the HTML5 history API for modern browsers, or the onHashChange event for older browsers, or polling for older older browsers.

I’d say in most cases, its performance is good. But if you make a page that has thousands of data-bound elements, then you’ll have to fine tune. Here’s an example: http://blog.scalyr.com/2013/10/31/angularjs-1200ms-to-35ms/

Thanks for your response!

Hard to believe there is no forum for AngularJs… it pointed me to IRC chat where no one was active. Just hope you can help me again.

So, I’ve been playing with Yeoman and I just don’t feel comfortable using it mainly due to fear of “black magic”. I am generally acceptable to scaffolding but this one was creating so many stuff that I felt uncomfortable. Basically, if something breaks then I don’t think I’ll know how to maintain it. It introduces so many frameworks like Karma, Bower, and etc… Also, it seems to work only well with Node.js servers… If I start using Java with Eclipse IDE and Tomcat… I can’t use any of the feature. Am I right or am I completely off? To make things simple, I decided only to use jQuery + Angular + Angular UI + Angular UI Router + RequireJS. This seems like a good tool or is Yeoman much much better? The generated index.html looks damn scary.

You don’t need to use to use Yeoman to use Angularjs - you can just add the link to Angularjs and start using it.

Yeoman creates a lot of files but that depends on the generators you are using. You can create your own generators and just create the file structure you need or feel comfortable with.

That’s what I did for now by manually creating a folder structure and adding libraries that I’m comfortable using. However, am I really missing out on not using Yeoman?

I don’t know if you are missing out it you don’t use Yeoman.

Yeoman uses generators to create the file structures, there a lots of different ones you can use - http://yeoman.io/official-generators.html

Or you can create your own - http://yeoman.io/generators.html

If you create your own you can have the simple file structure you want created by Yeoman.

UPDATE

I am now comfortable using Yeoman w/ AngularJS scaffolding now. It took a bit of a time to undertsand what grunt tasks and what the heck is bower. Now that I understand both, I am very glad that to study up on the files that were generated. One of my fav feature is “grunt build”. This would gather all your JS/CSS into a single file then minifies it… Awesome!!!