Hacker News new | ask | show | jobs
by cout 1778 days ago
I'm somewhat in agreement with you. My experience was vanilla js first, then jquery, then angularjs. When I first used angularjs I was annoyed by having to learn about providers and services and factories and an alien templating system. But for all its questionable design decisions, it does provide one very significant benefit: composability.

Jquery had wonderful composability through its plugin system. If I want a tree widget, I just go to the jquery website and find one. (And of course you can do the same thing with vanilla js, but where are you going to go to find a tree widget if you don't want to build one yourself?)

The problem with jquery was that the "glue" was procedural javascript. That made it very difficult to use it from an html editor. With newer frameworks, the templating system is the glue. Where angular/react/vue/others differ is what that glue looks like.

So yeah, you can do all the same stuff with vanilla js that you can do with a framework, but you lose composability of widgets out of the box, and if you have composability, then you've just built a framework.