Stephen De Gabrielle wrote on 8/7/19 5:10 PM:
Mathematica uses QT!

There's a lot in Qt, just like there's a lot in GTK.  Occasionally, a noteworthy project goes to a lot of trouble to switch from one to the other (e.g., Wireshark).

Thankfully, Racket has meant I mostly don't have to pick GUI toolkits, and that (in theory) I could migrate an entire desktop suite of applications to a new toolkit backend, because Racket already has the seasoned cross-platform layer over multiple native toolkits.

https://github.com/servo/webrender/ 'experimental render backend for Servo, but it can also be used as such in a standalone application.'

Since you're looking at multiple Mozilla HTML-ish application/GUI toolkits, you might also consider WebKit (which originated in the Qt/KDE universe, and also spun off Safari and Chrome).  These all bring their own opportunities and burdens, but sometimes they're worthwhile.

https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html#using-extern-functions-to-call-external-code - calling Rust functions from Racket and vice versa.

That might work, and could be just the thing for some purposes, but (for those on racket-users who don't already know) be judicious with FFI and same-process.  If you've never had the experience of debugging a crash in which you don't know whether it's in any of the native libraries (including unsafe Rust) you're pulling in, or a bug in Racket, or a strange interaction of one or more GCs, or a bug in your FFI/extension bindings, or a bug in how the Racket application code is using a somewhat-fragile interface... that's a much better learning experience to have with a hobby project, than in production.

In the past, I greatly improved both the stability and performance of a large Racket production system by rewriting some C parts in pure Racket (this can be faster), and isolating other C parts into separate Linux processes.

That said, sometimes you should just do FFI.  As an exercise, I made a character terminal library without FFI, and in hindsight, probably should've just done a little bit of FFI: https://www.neilvandyke.org/racket/charterm/

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/75c3acec-1963-272b-fb1c-0235aa9a3bb3%40neilvandyke.org.

Reply via email to