Just personal opinion here, but I think GUI's should/are being phased out. I much prefer writing a front-end web app and package it inside the application. That's what artifact does.
But at present I don't know how to use this approach for the imaging or CAD software I develop.
I need the ability to share GPU data between front and back ends, along with accurate timings for the control of various hardware devices. This is possible with Java (think the design of MATLAB or Mathematica) but the additional glue to enable cross language communication doubles the code size. That is why I'm sticking to C++ and Qt.
I think they are JUST starting with some gui frameworks for rust,so I think the language is a little behind there. Never done extensive searching though
I'm pretty sure that its just case of low-hanging fruit; its difficult to claim that webapps are at all effecient in their work, its just that most gui's don't actually have much work to do. But native apps are clearly preferable when a heavy interface is part of your app's usage