| ▲ | TeMPOraL 9 hours ago | |||||||||||||||||||||||||||||||||||||||||||
State management, URL fragment management, reimplementing basic controls... One that I hate the most is that they first reimplement tabular display with a soup of divs, then because this is slow as a dog, they implement virtualized display, which means they now need to reimplement scrolling, and because this obviously breaks CTRL+F, they end up piling endless hacks to fix that - assuming they bother at all. The result is a page that struggles to display 100 rows of data. Contrast that with regular HTML, where you can shove 10 000 rows into a table, fully styled, without noticeable performance drop. A "classical" webpage can show couple megabytes worth of data and still be faster and more responsive than typical SPA. | ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | boomskats 8 hours ago | parent [-] | |||||||||||||||||||||||||||||||||||||||||||
Sounds like you're referring to some specific examples of poorly implemented apps rather than the concept of SPAs as a whole. For your example, the point of that div soup is that enables behaviours like row/column drag&drop reordering, inline data editing, realtime data syncing and streaming updates, etc. - there is no way to implement that kind of user experience with just html tables. There's also huge benefit to being able to depend on clientside state. Especially if you want your apps to scale while keeping infra costs minimal. I get the frustrations you're talking about, but almost all of them are side effects of solutions to very real UX problems that couldn't be solved in any other way. And to be clear, I'm not saying that people building SPAs when all they needed was a page showing 10,000 rows of static data isn't a problem. It's just a people problem, not an SPA problem. | ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||