7 ms·
I'm really loving this whole trend of well-designed TUI applications that Charm has enabled.
by danielvaughn 2y ago
I'm really loving this whole trend of well-designed TUI applications that Charm has enabled.
- oefrha 2y agoFunny that Go is top notch in the TUI space thanks to Charm while the GUI landscape is absolutely abysmal (Wails is the only thing that’s okay).
- endgame 2y agoI feel like this "missing middle" is common to a lot of language communities these days. Devs writing for themselves are often happy to make cool TUIs, and devs writing for "end users" are often writing webapps.
- oooyay 2y agoIf you know Typescript and have a component framework you like it's about the same level to write a TUI in Charm as it is to write something in Wails. I kind of alternate between them.
- theshrike79 2y agoI've heard some good things about Fyne: https://github.com/fyne-io/fyne https://github.com/fyne-io/fyne Doesn't do native-looking software, but the APIs don't look that bad.
- oefrha 2y agoI’ve used it twice, both times regretted and rewrote in Wails (that is, back to a web view for UI). Problems not limited to: - (Last I checked, which is <1yr ago) Text rendering is fundamentally done wrong, it can’t access any system font, can only use the built-in font, or exactly one custom font you bundle. Good luck supporting any user-generated or web content from people who don’t use the Latin script. - Very limited selection of widgets, a problem common to all but a few native frameworks. - Very limited styling options for the small selection of widgets. - Looks terrible. Okay for personal/internal stuff, definitely don’t want to ship to end users. (Obviously subjective.)
- theshrike79 2y agoI need to look into Wails, thanks for the tip. My use-cases would be perfect for a TUI, but I need to be able to display pictures and videos, so I'm stuck with a GUI :) Tried to do a web ui + local backend setup, but that didn't go too well.
- withinboredom 2y agoYou can display videos and pictures in the terminal... mpv --no-config --vo=tct /my/video.mp4
- oefrha 2y agoIf you want to play videos at 32p… High resolution images on the other hand is supported natively in many terminals (sixel protocol, iTerm 2 protocol, etc.).
- withinboredom 2y ago[dead]
- rigid 2y agohttps://textualize.io https://textualize.io for python isn't bad either. (In case you don't like static builds like me.)
- pdimitar 2y agoOK, that is going straight to my "random statement of the day" collection: "I don't like static builds" ~ rigid@HN -- Some things really catch me off-guard.
- withinboredom 2y agoFor people with super-custom kernels, static builds might use a custom syscall thinking its a syscall for a newer kernel. Further, it might not support their kernel version (libc-to-syscall mismatch). Then there's the fact that I might have compiled libraries with certain options that a static compilation won't get, ever (such as native CPU instructions or other optimizations). Even worse, static builds mostly use musl as the libc implementation, for which there are many issues (DNS issues, the fact that most openssl library tests don't pass and are disabled). I wouldn't trust musl/alpine/et al in production for "serious" things. Static builds are __convenient__, but they shouldn't be the default.
- deleted 2y ago[deleted]
- rigid 2y agoThey suck to maintain. I love the fact that you can just update one single openssl lib and all installed apps use the updated version after a restart. Static builds have their legitimate use-cases so maybe change that to "mandatory static builds". (iirc go support for dynamic linking is worked on and will become stable eventually)
- kbd 2y agoMore than "not bad", Textual is probably best in class for TUIs atm, but I wish Python had static builds! Even Javascript can build executables now with Bun!
- theshrike79 2y agoI'm guessing this is the Charm you're referencing: https://charm.sh https://charm.sh ?
- danielvaughn 2y agoCorrect, sorry yeah I should've linked to it.
- renewiltord 2y agoThanks for mentioning this, guys. Pretty slick looking toolkit. I always wondered how everyone these days has such fancy looking CLIs.