Native desktop apps

There are some electron specific APIs that do not have an Elm equivalent BUT, those APIs are usually used at the edges of the app (interaction with the host system). I think you can use Elm’s port system in order to interact with those APIs without much trouble.

There is no Electron UI to my understanding. The UI is rendered using just regular HTML that you can implement in Elm.

You can take a look at elm-electron-todomvc for an example of how to do an app in Elm and wrap it in an Electron Shell.

If you could implement the app as a webapp, this solution should be sufficient. If the app has some kind of special needs in terms of performance, you might need something else.