Echo JS 0.11.0

<~>
MaxArt 2911 days ago. link 6 points
I feel the author is missing several points about Angular, and Angular 2 in general.

As a premise, I too feel Angular 2 is somewhat over-engineered, the template syntax is pretty much WTF and it's easily misused. Not to mention the docs are indeed pretty poor.

Other points are quite off, though. Wrapping native APIs is something meant for dependency injection, to make testing your components easier. It's not the result of NIH syndrome.

Moreover, TypeScript isn't supposed to be "safe" in any way. You'd be a fool to think so, since it's a *superset* of JavaScript (i.e., JS compiles as TS just fine). TypeScript is a tool to speed up development and catch the most common pitfalls in coding, especially large codebases.

In short, Angular - especially Angular 2 - isn't a framework for beginners. It requires time, dedication and experience. Just like RxJS and observables (remember they're coming to JavaScript natively sooner or later).

That being said, I feel we're going to abandon frameworks like Angular soon: they feel too much like a kitchen sink for web development. Better starting with a skeleton like React and adding libraries for what you need.
Also Vue is indeed great.

Replies

bigtunacan 2906 days ago. link 3 points
While I don't agree with every point he hits on; I think his overall conclusion is correct.  Angular 2 is a terrible framework and should be avoided.  It's by far the most complex JavaScript framework I have spent time with and I've used many others (Knockout, Ember, Angular 1, Sammy, etc...).


The learning curve is way to steep, and saying it "isn't a framework for beginners" doesn't justify it.  I've been working with JavaScript for 15 years and programming for the past 20 years and the ramp up time on Angular 2 is ridiculous.  With Angular 1 I understood enough of the framework within a week that I could feel confident building out a product.  In a month's time with Angular 2 I still hadn't reached that level of confidence.  In my opinion this alone should be a deal breaker for projects.  Most teams are not going to be made up of all "senior" developers; if I don't feel some level of comfort in the framework within a short period of time how can I have confidence that junior developers are going to grok this?
tracker1 2905 days ago. link 2 points
I've done a couple of ng2 apps, and I think I could do more with it... that said, I still feel that React + Redux + redux-thunk and fetch gets you most of the way there, with material-ui or react-bootstrap being a great starting point... yeah the tooling isn't as flushed out, and there's some boilerplate... that said, jumping into an app is so much easier than ng2. (and imho ng1 as well).

I've talked a few people out of going with ng2 for new projects... it just isn't worth the trouble.

As for DI (from gp), what's wrong with require/import and testing using proxyquire?
kirilloid 2902 days ago. link 1 point
That's your personal experience and personal experience depends on person and project. I had more than 3 months to work with pretty big ng1 codebase and I'm still unable to wrap my head around all these "@", ">", "=" and all ng1 cryptic syntax for property-binding.
At the same time I dived into ng2 easily (with prior RxJS and TS experience, though) w/o any guidance. Much easier than e.g. Ember.
Of course, ReactJS was even easier than ng2, but for any big app you'll need redux, redux-thunk, redux-middleware and all other bells and whistles, which makes actually learning ReactJS.
And after several years, saying I program in React will not mean anything, because do you use flux-saga (not a real thing, probably) or redux-thunk? And with Angular2+ there will be only one type.
Ng2 might never reach popularity of React, but it will have its niche in Enterprise world.
davidspiess 2901 days ago. link 1 point
I can't agree on your opinion that knowledge about react and redux will become meaningless in the future. The key point about redux is, you don't have to learn yet another framework specific api. It's based purely on functional programming principles, so if you wrap your head about them once, you can build apps without any magic going on under the hood.
Learning about FP was extremely valuable for my career and made me for sure a better programmer too.