3 ms·
When I learned frontend web work and React years ago, I fell for the same "VDOM is fast!" hype, and assumed there was non-JS magic under the hood. I eventually
by the__alchemist 5y ago
When I learned frontend web work and React years ago, I fell for the same "VDOM is fast!" hype, and assumed there was non-JS magic under the hood.
I eventually built a VDOM-based frontend WASM framework in Rust (Seed).
I now built frontends in HTML and CS, with no frameworks, and minimal, targeted JS code to manipulate the DOM directly; it's liberating, and much faster than both React and WASM/Rust.
- pwdisswordfish8 5y ago> Seed Sigh. https://wiki.gnome.org/Projects/Seed https://wiki.gnome.org/Projects/Seed (JavaScript-related, so not just any random name collision.)
- ehnto 5y agoIt's crazy how quickly frontend UI frameworks became the standard approach. They're not necessary in so many instances where they are used. I also found it pretty comical when server side rendering became a hot topic, like duh guys, that's what we were doing first! Did you forget? Anyway, it's not that frontend UI frameworks are bad, it's more that pragmatism gets thrown out the window so quickly.
- the__alchemist 5y agoIt feels like we were coasting on a mentality of "Computation is cheap; We're in post-performance-scarcity era; Performance doesn't matter since computers are fast". -- Ignoring the reality that responsiveness is critical to user experience.
- dsego 5y ago> I also found it pretty comical when server side rendering became a hot topic, like duh guys, that's what we were doing first! Did you forget? A lot of new kids (we call them frontend engineers) haven't done the old school way. They just know SPAs, because that's what they've been taught in the last decade or so.
- imbnwa 5y agoYes, there's a lacking sense of measure in frontend and I work in a shop full of people that talk about what framework to use for a few buttons, a search form, and a result list. CSS is good enough that you can implement a lot of your UI state machine with classes as switches and scoped CSS variables available with `calc()` for threading particular derived values