novelistapp / concept

Meta repository for concept planning and feature discussions (RFCs)
MIT License
0 stars 0 forks source link

Rust as a GUI language #2

Open herzmut opened 6 years ago

herzmut commented 6 years ago

I recommend to use Rust as the language for GUI as well. Vala, as it is a C-style language, would not come with the safety Rust brings by design and programming safely in Vala would require careful and thoughtful maintenance.

However, this proposal depends on the choice of a underlying GUI library. But instead of using GTK+ or Qt or any established library, I recommend to use the Firefox rendering engine, which already has been written in Rust, and to extend it with special typesetting features required for novelist.

Not only could the GUI be easily ported between the systems, it also would be easy to describe and to extend it. Plus, it ensures the maintainability of the whole project, as the Rust community is ongoing and adaptive for new libraries and backed by the Mozilla Foundation, whereas the future of Vala is uncertain. Both projects have been founded at nearly the same time, but as Vala seems to make only little progress when it has only version 0.38 after ten years of its beginning, Rust already features a complete major version which drives the community. Also, Rust ensures this portability comes with the memory safety it requires as in Vala this safety would have to be managed by hand.

spacekookie commented 6 years ago

Yes! :+1:

Although custom widgets will have to be written in either C or Vala because the Rust library for Gtk doesn't yet support that