It's great to hear you use plain JS for most of your projects when there are so many frameworks out in the world. In these times, developers are often fooled into thinking their applications won't 'scale' if they don't use frameworks or opinionated UI patterns.
This is why even the most basic of web applications will be using a framework (I'm not referring to Web Components consumers).
Sometimes, said frameworks and patterns become convoluted and make things cumbersome. On top of that, many will be using bundlers, transpilers for syntax and polyfills, etc. Of course, some of these frameworks are not so tied to build tools and will have ESM support, but the convention is what will strictly differ.
Nevertheless, with some abstractions, frameworks make building web applications fun. However, those abstractions should not be a cause for users paying a hefty price when performance kicks in. Most of the time, these frameworks won't give you a choice. "You pay for what you use" sorta thing.
I really like your conclusion and I totally agree frameworks fit somewhere (large, actually). I just don't get why shipping bulk JavaScript is a price we have to pay. That is why Preact and Svelte have an upper hand in this case.
My take: I'd rather use Vanilla for building my projects instead of a combination of:
1. React with ReactDOM, ReactRouter, React-X, React-Y, React-Z
Packem is a precompiled JavaScript bundler implemented primarily in Rust. It's faster than webpack and Parcel while still being relatively new. Packem uses Node C/C++ addons which includes Packem's core into Node's general runtime.
This is why even the most basic of web applications will be using a framework (I'm not referring to Web Components consumers).
Sometimes, said frameworks and patterns become convoluted and make things cumbersome. On top of that, many will be using bundlers, transpilers for syntax and polyfills, etc. Of course, some of these frameworks are not so tied to build tools and will have ESM support, but the convention is what will strictly differ.
Nevertheless, with some abstractions, frameworks make building web applications fun. However, those abstractions should not be a cause for users paying a hefty price when performance kicks in. Most of the time, these frameworks won't give you a choice. "You pay for what you use" sorta thing.
I really like your conclusion and I totally agree frameworks fit somewhere (large, actually). I just don't get why shipping bulk JavaScript is a price we have to pay. That is why Preact and Svelte have an upper hand in this case.
My take: I'd rather use Vanilla for building my projects instead of a combination of:
1. React with ReactDOM, ReactRouter, React-X, React-Y, React-Z
2. Angular and RxJS
3. Ember with GlimmerVM