Hacker News new | ask | show | jobs
by michaelw 4514 days ago
This has less to do with Angular and more to do with Javascript's general inability to express a useful DSL for anything.

I think your ad hominem and somewhat hyperbolic complaint would be more credible if you supplied more concrete examples of how Angular caused your product to be two months late. I'm not saying you're wrong. I'm just saying that nothing in your comment actually makes your point.

My team has made very effective use of Angular and far from making us late it has saved us considerable time.

We treat Angular not as an abstraction or framework but as a toolkit for doing the following:

  * Extending the browser's built-in HTML and CSS with our own custom behaviour.

  * Two way databinding between our application data and the DOM

  * Architecting small testable / mockable components
For what it's worth, there are some angular-isms that I truly dislike. In particular, angular.module is a bug farm for early angular developers. Also, without ngmin, Angular's "provider" declarations is both noisy and error prone. The truth howerver, is that these are minor problems and are easily discovered and fixed immediately.
1 comments

Extends HTML in a very very ugly way.

Impossible to progressively enhance.

It does loads of magic such as dependency injection that is completely unnecessary. Computer programs are for explaining what is happening to the next person and Angular makes this more difficult.

There are other JS frameworks that do none of this and solve your problems, I say use them instead.

Data binding in particular had a really difficult to use syntax for things like looping. Loads of different attributes that you have look up every time you need to do something in a template.

Generally people have no idea what the in built components are doing of why the infinite scrolling can't work well on mobile.

It's really hard to use a JS debugger when I've tried with Angular - maybe you have had more success than me on this?

You admit Angular comes with some problems out of the box, how are new dev teams meant to know this automatically?