Hacker News new | ask | show | jobs
by Jgrubb 4261 days ago
> it's a horrible and overblown framework with a high barrier to entry

Listen, if I can figure it out and get lots and lots of work done with it, it's neither horrible nor overblown and the barrier of entry was there but I got over it. By all means, keep ignoring it, but drop the shtick where you know better than thousands and thousands of us out here building things with it.

3 comments

>if I can figure it out and get lots and lots of work done with it, it's neither horrible nor overblown

That's a weird argument. Just because you think it's not horrible or overblown doesn't really mean much. That's just an opinion.

I've worked full-time with AnguarJS over a year, and I know it pretty well. It's easily better than jQuery spaghetti code, and probably better than most data-binding frameworks. It has lots of issues, though. From bad documentation and performance to the mess of $scope.$apply/digest loop and a lot of moderate design problems.

Anyway, the biggest problem is the boat. AngularJS is really trying to "eat" other libraries and actually doesn't try to be modular. A data-binding/MVC framework shouldn't invent it's own module system, and recently it's own programming language. Apparently Google is trying to kill of jQuery too and substitute their own system. And they want to reinvent everything as AngularJS modules instead of "plain" JavaScript code that can be used across multiple frameworks.

What I'd like to see in AngularJS 2 is a tiny core which does data-binding without $scope.$apply, is fast and modular and could be used with a wide range of other frameworks. What I don't want to do is start writing AngularJS modules with AtScript and using their forced(?) ES6 classes.

Angular 2 definitely aims to be more modular - the Angular team acknowledges the problem that it isn't modular enough itself. Stuff like di.js, watchtower.js, zone.js, etc. are all built with modularity in mind & are framework agnostic. I think once Angular hits 2.0 and it becomes highly modular, we are going to see a boom in development productivity. Some of what is currently in Angular is unique for JavaScript, such as the change listener pattern and dependency injection. These are things that we'd like to take advantage of with other libraries. Combining stuff like di.js with React sounds very appetizing to me.

In addition, it would appear that we would be able to use these libraries with Node.js as well.

I can only see this being a good thing.

> That's a weird argument. Just because you think it's not horrible or overblown doesn't really mean much. That's just an opinion.

A contrary opinion to the OP's opinion. Are you asking me "where's the data" (?), because this whole thread is opinions.

edit:

> It has lots of issues, though.

No argument here. Providing validation feedback on forms, for instance. I'm not arguing that it's perfect and that I'll never love again, but it has opened up my head this year and for that I'll go to the mat for it.

I'm not ignoring it, please don't put words in my mouth. If people want to use it then that's their choice, albeit one I find fairly baffling. Given the other replies to my comment it seems I'm not alone.
Hey pal, drop the chip on your shoulder. Just because AngularJS has wide adoption doesn't change the fact that it is an extremely poorly designed framework. I also refuse to consider AngularJS jobs. Many developers have had to suffer through bad frameworks like GWT because of industry trends. Those bruises are not badges of honor. ReactJS is a framework that is clearly better designed. Why waste time learning and suffering through AngularJS absurdities when ReactJS exists?
I don't have a chip on my shoulder. It just reminds me of that old comeback for people who are complaining about how terrible PHP is - "oh, I'm sorry. I couldn't hear you over all the work I was getting done with it."

> Why waste time learning and suffering through AngularJS absurdities when ReactJS exists?

Because I'd have to suffer through learning and integrating Backbone or Flux in addition to React to accomplish what I could by learning just Angular. And then I'd have to hope that my choices remained compatible with each other through version updates. Anyway, I may find React to be a better designed lib when I get around to using it, but it's definitely not an apples to apples comparison when it's only attempting to tackle 1 of the pieces that Angular handles.

... because jobs?

I'm in agreement with your point, but... if 'the market' wants angular... 'the market' is going to have a hell of a time dealing with a mess in a couple of years when many of the decision makers that mandated angular move on to something else and leave piles of mess behind for someone else to clean up.

There may not be moving on. Or it may take a very long time. Angular is that big already.

Previously there was no the framework for web frontend development (like Rails for Ruby). From now on you will need convincing reasons to use anything else, even if it is clearly better. Moving on to something else will be much harder.

Is it big in production deployments or only in hiring managers wishes?
I would like to know an answer to that question.

On the other hand my wish is not to get into stupid arguments at my new job :)

I don't think that problem is restricted to Angular - it's one that you see with when developers wrote unmodular code period. I saw it with legacy ExtJS code.
Oh I completely agree it's not an angular thing. It was a Rails thing, is or will be a 'node' thing, etc. It will be a docker thing at some point too. There's a rush to 'new' that appears to everyone to be 'it', people use 'it' for a bit, realize it doesn't solve all problems, then move on to something else. They've done a lot of learning on someone's dime, moved on, but left a mess of code for someone else to 'maintain' for years. The cycle will continue to repeat itself for a long time...
> when many of the decision makers that mandated angular move on to something else and leave piles of mess behind for someone else to clean up.

That's already happening. Two contacts came up in the last two weeks with Angular projects gone off the rails (pun intended).