6 ms·
Is there another modern editor like Xi that strictly separates the GUI front end (view) from the backend (model and controller)?
by pokstad 6y ago
Is there another modern editor like Xi that strictly separates the GUI front end (view) from the backend (model and controller)?
- sgrove 6y agoI think perhaps libvim is like that? https://github.com/onivim/libvim https://github.com/onivim/libvim
- raphlinus 6y agoI believe Onivim is in this camp. I don't know how well that's working out for them, or whether there are any others.
- pokstad 6y agoThanks, this looks amazing. For others looking for more info: https://www.onivim.io/ https://www.onivim.io/
- noobermin 6y agoIt's saying one thing that you're asking for it when the article explicitly says he believes this was a mistake from the beginning.
- pokstad 6y agoThat’s fine. I don’t completely agree with his analysis. Just because he couldn’t make it work doesn’t mean someone else can’t.
- blub 6y agoMaybe someone can make it work, but it's such a terrible idea that everyone else which doesn't use this oddball architecture will be running circles around them.
- soraminazuki 6y agoReading the article, I took it that it's hard to get a smooth UI with a combination of async and a frontend/core split. No one likes laggy UIs, but I assume emacs/vim users can live with that.
- fmakunbound 6y agoLem does https://github.com/cxxxr/lem https://github.com/cxxxr/lem
- nhooyr 6y agoneovim is the pioneer here. https://neovim.io https://neovim.io
- pokstad 6y agoThanks, I didn't realize neovim had this. I found this article that explains the embed feature: https://tarruda.github.io/articles/neovim-smart-ui-protocol/ https://tarruda.github.io/articles/neovim-smart-ui-protocol/
- jeffbee 6y agoInteresting juxtaposition of client/server with modernity. It seems really obsolete, in reality. Every kind of client/server UI system has been tried before. 20 years ago the idea that UI elements would run in the display server while sending commands to model/controller backends (over CORBA!) had a lot of traction. Of course, the idea sucks, so all of these projects are dead and buried. People think something valuable is buried there, so they keep digging the idea up again. The real problem with the idea is that the user expectations of editor performance are high and the computer can only just barely do it. People expect to be able to open a 5GB file, have it drawn really nicely on a display with 30 million pixels, insert 1 character at the beginning of the file while the syntax highlighting updates instantly and then save and exit instantly. It's actually a lot of work for the machine, no room for RPC overhead.
- saagarjha 6y agoIs this not exactly how macOS does input dispatch? Input comes in from the HID subsystem in the kernel and is redirected by WindowServer to the right application via Mach which queues it on its runloop, and then it updates its view and tells WindowServer again via Mach to composite that to the screen?