5 ms·
This series of articles is massively underrated. Even modern React setups with hooks and the like, with modern state handling, are rife with data races which ha
by julik 2y ago
This series of articles is massively underrated. Even modern React setups with hooks and the like, with modern state handling, are rife with data races which happen at the input level. This article and the followup to it present a very compelling approach to handling input in a structured way and avoiding those data races.
- eviks 2y agoDo such issues exist in popular desktop GUI frameworks?
- julik 2y agoJudging by the fact that apps in iOS that are produced by Apple itself have races with resizing menus when you rotate the device the answer is a resounding "yes".
- seanmcdirmid 2y agoYes on Android also.
- eviks 2y agothanks, but that's why I mentioned desktop, was curious whether they still retain this type of fundamental fail despite "decades of improvements", it's much less of surprise re. the web/mobile
- jkaptur 2y agoYes. There's nothing particularly magical about any UI framework. They all have to deal with the fundamental fact that UIs are enormously stateful, the state is a function of approximately everything the user has ever done, various inputs arrive asynchronously and unpredictably, responsiveness SLOs are in the 10ms range, and the hardware is generally diverse and off-site.
- giovannibonetti 2y agoThis reminds me of Evan Czaplicki's PhD Thesis [1] on how concurrent functional reactive programming (FRP) can be used to solve most (if not all) of those challenges with little effort from the application developer. [1] https://elm-lang.org/assets/papers/concurrent-frp.pdf https://elm-lang.org/assets/papers/concurrent-frp.pdf