Re:Ink: React for Interactive CLI Apps
by captnasia on Friday November 01, 2024 @12:19PM
(#42018535)
there's a few attempts, templ[0], gomponents[1]. Not for cli apps per se but for web dev.
0: https://github.com/a-h/templ 1: https://github.com/maragudk/gomponents
I've seen gomponents, but it seems very verbose. Although I guess that's what you're stuck with if you're doing it within Go.
I don't know, go has lackluster expressivity, and these pre-compile tools always feel like a hack in its case.
I don't think its a Go-specific issue, its useful syntactic sugar. I would love an updated JSX for Python.
Re:Ink: React for Interactive CLI Apps
by russellendicott on Friday November 01, 2024 @09:10PM
(#42023231)
This is my side hobby, a server side TUI protocol with a light browser like client that can navigate any TUI.
The primitives are good enough to build anything you want. Right now I'm trying to figure out how to make better libs and tooling for creators (mainly myself) so I can crank out lots of examples apps that showcase the power of TUIs where you don't need a dedicated executable for each one.
Re:Ink: React for Interactive CLI Apps
by bartekpacia on Saturday November 02, 2024 @09:02PM
(#42030446)
> Saving the world, one GitHub project README banner at a time.
I can feel snarkiness in this response. I don't like it.
From Ink's author [0] post:
> The time has come though to move on from Ink. Since russia’s full-scale invasion of Ukraine in 2022, everything in my life revolves around the war. And anything else has lost all meaning to me. I no longer have the mental and physical capacity to maintain Ink and give it the attention it deserves.
I don't know how I feel about writing CLIs in JS. Just seems a little bit janky to me, and I don't know why. I wonder if there's any push to have something JSXish in Go, even if it requires a pre-compiler to achieve the syntax, just for CLI apps like this. Then again, maybe I'd just rather stick with something like Nim where you can just have a first-class DSL through the macro system.