|
> The second front end, the one I’ve actually published on GitHub [ed: link now defunct, since the JavaScript front end was scrapped], uses JavaScript for the drawing, and Neon Bindings as a Rust-to-JavaScript bridge. It’s packaged as an ElectronJS app because ElectronJS apps can be built and deployed to all the major platforms, which was an essential goal. Ugh, all that just to provide a HTML5 canvas pixel buffer to a native (Rust) app. The pain of doing simple input/audio/graphics on GUI OSes today... We've made a wrong turn. It's back to TUI for me. Would you accept sixel graphics for the DMD 5620 Terminal's display? > The main pain point so far has been working with the JavaScript ecosystem, which has hitherto been an enigma to me. I’ve found ElectronJS to be somewhat painful to work with because, although it is indeed cross platform, there are many caveats. The primary issue is in recompiling native NodeJS modules across platforms, which took some trial and error to get working correctly. In fact, I still haven’t produced a Linux app bundle yet, because the build keeps failing in ways I don’t quite understand. > In general, it feels like JavaScript and NodeJS modules are a lot more brittle and error-prone than the code I’m used to working with. Seriously, its $CURRENT_YEAR and getting a simple cross platform windowed graphical application up and running is still a pain? Hey that emulator community, say, MAME or BSNES might be of help -- oops, Rust... yeah, maybe not? Why isn't a simple GFX/audio/input API a must-have in any [new] language today? |
$CURRENT_YEAR was 2018. Really early in the Rust history. There are now a bunch of Rust GUI framework to choose from.