"Engines" like common logic written in languages like C and C++, using in-house toolkits where RenderButton() or ShowDialog() would do the right thing on each platform.
Apparently a forgotten art.
As for VMs, I am all for stuff like React Native, not for packing Chrome with each application.
Not only it shows laziness where Web == ChromeOS, bloats the applications and is yet another way for turning everyone into Chrome developers, bye bye Web.
I understand the sentiment. But I think the best approach is a bespoke app for each platform in the own native toolkit.
I have rarely enjoyed using a Gtk or Qt app on macOS because they feel alien.
On windows for example there seems to be no rhyme or reason for widgets, mainly due to historical reasons.
Games don’t need to be consistent because they take up the whole screen and are immersive. Some very specific programs such as the Godot editor are a good example of a similar usage.
How did we ever managed without Electron?!?
Man we were 1337!