Electron/Cordova + JavaScript seems to have been a popular way. Tauri w/ Rust, looks like it could be a candidate on the desktop side.
However, I tend to think native UI toolkit/componets in each platform work better, more familiar. So reusable libraries/API with UI specific to each platform.