So the code for the web, the desktop app, and the cli where largely similar.
The component trees have to be rewritten, only the non-view related JS code can be reused.