I am still exploring Rust as an option, but the reasoning behind its design is something I feel promising. So, I would not brag about what Rust can or cannot do. I just want to add some mental peanuts to chew on when GUI is in question.
1st, I believe GUI is not Rust problem per se, rather, it is much greater problem than being seen from the angle of one particular language.
We have recently changed our perspectives on information technology we use (recently means less than a decade). If we talk about GUI - which GUI we talk about? We have a spectrum of devices starting from relatively small mobiles (that may not be ‘smart’ ones), going over number of mobile variants, then we have ‘desktop’ variants (even when desk is your lap) and on the other side we have ‘smart’ TVs and even larger info panels - and that is just in terms of screen size.
To this we can add vertical diversity in the terms of functionality: are you after GUI that is used for rendering 3D game, stereoscopic VR or it is a GUI for business or general application or it is a GUI for embedded systems, controllers (home or industry or space rocket or your car or your watch or nuclear plant)? Is your GUI driven by buttons, mouse, touch or virtual sensors? Therefore, when we say GUI we can think of wildly different appearances and functionality depending of the type of application.
Now we have playing field. Choose your game. This is baseline of GUI pondering.
2nd. Taking this in account I cannot but get impression that if Rust attempts to be a systemic language (maybe better said system programming language) How come that it would not be suitable for making GUI systems?
The problem lies elsewhere as I have mentioned before. OO paradigm has caused GUI’s to become OO inclined, but nothing stop us in general to write new GUI that is NOT OO inclined. Perhaps Rust could go forward with that.
Producers of IT nowadays do something that one of thinkers named De Bono call surpetition. Surpetition is superior to competition. What we have today is trench war of technologies. Each major industry leader is trying to wrap up its users (hence developers) into its own paradigm of OS, languages and GUI that goes with it (Apple, Google, Oracle, Microsoft …) so struggle to squeeze one concept into another or trying to be trans-concept is causing much pain. Not impossible but problematic.
I am not really sure what Mozilla wants to do with Servo (did not really explored that venue). But one thing is sure, they will probably not go out of what current expectation of web based system is.
Question now becomes something else: Would Rust bear a different type of GUI? (Lets say that another language - Go - who boldly went not to be OO IMHO is also still struggling/suffering with lack of GUI, perhaps for same reasons). I would expect that these two system languages do define new GUI playing field - NON OO inclined GUIs. How they would look like?
I think we have chance to see something radically new and shift the paradigms.