| ▲ | skydhash an hour ago | ||||||||||||||||||||||||||||
I think the main issue is the functional approach. Having a functional approach to state can be quite elegant, but ultimately the computer does not do functional. You have to implement a lot of plumbing to have stuff that is a bit performance (clojure), or just add a veneer of functional over what is essentially a normal state machine (emacs). React works well, because it's only an abstraction over the real DOM. React only handles your app state. But the DOM mechanism is still very performant and very much imperative. But I don't think something like React would work well in a mobile app, because the UI tree is often very simple on iOS and macOS. | |||||||||||||||||||||||||||||
| ▲ | torginus 6 minutes ago | parent | next [-] | ||||||||||||||||||||||||||||
Imo the biggest issue with this functional model (at least in React), is that it handles things like virtualization, async, etc. poorly. Which is kinda ironic, because in a true functional language, it'd be feasible to provide 'a world model' - that is act as if the entire state is always available, and let the engine decide when to evaluate pieces of code - without any effort from the part of the programmer. | |||||||||||||||||||||||||||||
| ▲ | mpweiher 22 minutes ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Not just does the computer not do functional. UI is also very much not functional, and in fact the lack of progress in UI the last 30-40 years can largely be traced to trying to create UI with procedural/functional programming languages, an instance of linguistic-architectural mismatch. Further reading: Programs = Data + Algorithms + Architecture: Consequences for Interactive Software Engineering -- Stéphane Chatty. https://link.springer.com/chapter/10.1007/978-3-540-92698-6_... Can Programmers Escape the Gentle Tyranny of call/return? https://2020.programming-conference.org/details/salon-2020-p... UIs Are Not Pure Functions of the Model - React.js and Cocoa Side by Side https://blog.metaobject.com/2018/12/uis-are-not-pure-functio... Beyond Procedure Calls as Component Glue: Connectors Deserve Metaclass Status https://2024.splashcon.org/details/splash-2024-Onward-papers... | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | dgellow 40 minutes ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Hmm, but React doesn’t own or manage the app state. And react native has been used for pretty complex applications | |||||||||||||||||||||||||||||
| ▲ | poly2it an hour ago | parent | prev [-] | ||||||||||||||||||||||||||||
Functional doesn't mean stateless. I'd argue functional programming is superior for representing state in user interfaces. For a success implementation, see Jane Street's Bonsai: | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||