4 ms·
> I feel sorry though for someone getting into frontend dev now. Yeah. For the last decade or so frontend has felt like standing on shifting sands. In part it
by pier25 2y ago
> I feel sorry though for someone getting into frontend dev now.
Yeah. For the last decade or so frontend has felt like standing on shifting sands.
In part it's the ecosystem and entangled deps but also because JS frameworks are really still figuring it out. A couple of years ago I was hoping we'd reach some sort of stable plateau but it just keeps going...
"the DOM is slow we need a VDOM!"
"the VDOM wasn't such a good idea... signals with fine-grained reactivity is really the solution for DOM udpates!"
"oh wait but we now need a compiler!"
"oh wait there's too much JS now... we better move stuff to the server and do SSR with full page hydration!"
"maybe full page hydration wasn't such a good idea... we now need islands!"
Etc.
Don't get me wrong, each of these steps makes total sense. But we're getting into this uber complex solution that involves so much stuff across the whole stack... and it's not even clear to me that running JS in our servers was such a good idea to begin with.
- threatofrain 2y agoSSR was essential and the motivation was stuff like SEO. For people who care that was uncompromisable. For people who only care about SPA the conversation has been frozen for almost a decade; almost all the innovative fury has been on the SSR/MPA/hybrid side.
- pier25 2y ago> For people who only care about SPA the conversation has been frozen for almost a decade I don't know, there's been a lot of stuff since 2014. In client-side React we've seen stuff like react-query, mobx, etc which weren't there a decade ago. Back in 2014 everyone was still using redux (ugh). Or Svelte and SolidJS which have brought massive improvements in performance and reducing JS with signals, compiler, etc.
- acemarke 2y agoFWIW, both Redux and Mobx were invented in 2015.
- pier25 2y agoThanks for the clarification. It was a long time ago!
- threatofrain 2y agoAnd if you're still using React with Redux you're doing just fine for SPA development, as in you're actually still modern and not merely fine. React Query is the only new development you listed that SPA professionals may want to think about, and even then only a little. It's a life convenience tool for making async calls to foreign APIs easier (for internal APIs you probably want RPC-like experiences with type and client generation). Meanwhile MPA people are redefining the boundaries of work by marrying the frontend to the backend. They are doing some big re-architecture type stuff, and it is very interesting, far more interesting than React Query being the better Axios. If I had to lead with an argument about interesting changes on the SPA side, I would've lead with the ongoing improvements to CRDT libraries. It's niche but there really isn't much of a revolution going on otherwise on the SPA side.
- pier25 2y ago> as in you're actually still modern and not merely fine Not sure what you mean by "fine". There's nothing modern about client-side React. To get some perspective consider that more time has passed since today to the release of React in 2013 than from React to jQuery in 2007.
- losvedir 2y ago> To get some perspective consider that more time has passed since today to the release of React in 2013 than from React to jQuery in 2007. Oh my God! That just sent me into a mid life existential crisis for a moment.
- threatofrain 2y agoQuite a good number of React apps are offline-first. I build offline-first software for emergency services. That means one should maximize app usefulness despite temporary disconnection to peers or server. The ROI proposition of MPA/hybrid becomes really meh.
- jazzyjackson 2y ago"screw it, lets compile it into a WASM blob that renders it all on a canvas"
- eddd-ddde 2y agoThat'd be unironically simpler than the current state of things.
- pier25 2y agoNah. There's so much stuff that would need to be implemented. Just think of all the functionality related to text that browsers give you in HTML: styles, spellchecking, selection, accessibility features, etc. And that's just text.
- mr_toad 2y agoMost people would just use the most popular framework that did all that for them, while the remainder would complain loudly about the shortcomings of that framework, and we’d be right back where we started.
- gf000 2y agoIt would be significantly worse, unless there is a very good reason for that (e.g. some app like Photoshop could work that way). You lose any form of accessibility, inspectability, AdBlocking won't work, in many cases even mouse select/copy-paste won't work..