5 ms·
TUI libraries have sufficiently abstracted away the low-level quirks of terminal rendering that the terminal has become something like a canvas[0] available in
by genidoi 11mo ago
TUI libraries have sufficiently abstracted away the low-level quirks of terminal rendering that the terminal has become something like a canvas[0] available in the IDE with no extensions. This is quite a nice DevX if you want to display the state of an app that does something to data, without writing the necessary plumbing to pipe that data to a browser and render it.
[0] https://github.com/NimbleMarkets/ntcharts/blob/main/examples/heatmap/perlin/perlin.png https://github.com/NimbleMarkets/ntcharts/blob/main/examples...
- eschaton 11mo agoThey did this in the 1970s and 1980s too, then they were called “forms libraries” but were often full application frameworks in ways that would be familiar to modern developers of native graphical apps.
- zimpenfish 11mo agoTurboPascal springs to mind because I know someone who made a video store management system with all kinds of forms and screens (via Turbo Vision[0]) in the early 90s. [0] https://en.wikipedia.org/wiki/Turbo_Vision https://en.wikipedia.org/wiki/Turbo_Vision
- flomo 11mo agoThe low-level terminal stuff is still grody as hell. Years ago, HN had some blogposts from someone who was rethinking the whole stack, but I dunno what happened to that project. If people really like TUIs, eventually they're going to stop doing the 1980s throback stuff.
- wonger_ 11mo agoThis series? https://arcan-fe.com/2025/01/27/sunsetting-cursed-terminal-emulation/ https://arcan-fe.com/2025/01/27/sunsetting-cursed-terminal-e...
- speed_spread 11mo agoAlso https://github.com/withoutboats/notty https://github.com/withoutboats/notty
- crazyloglad 11mo agoIt's still around. Still doing its thing. One developer drafted a backend to ratatui for it, but he's been silent lately. I'm only marginally interested in that angle as its endgame "just" lands in TurboVision but Rust! and having to stay compatible with the feature-set of terminal emulation defeats the point.