Background
I have a little pet project that does some requests to an external site. The logic is pretty much figured out and now I want to do a Desktop app with it.
This desktop app has 2 requirements:
- it needs to be in an executable file that one can run by double clicking.
- it has to work for Linux and Windows.
Options
So, I have made a small research and found 2 main options:
- Make a webapp using PhoenixLiveView and turn it into a desktop app using webengine_kioks. A blog post describing this can be found here (https://puddleofcode.com/story/how-to-create-desktop-application-with-elixir).
- Using Scenic to make a desktop app
The first option looks rather gimmicky. Communication between Phoenix and my app would be done in HTTP and I would have to add some workarounds to make it feel like a desktop app. I would also have to link the Qt library to the release for Linux and Windows.
The second option looks rather promising, but I am not sure on how to use it with mix release, nor how it would work with Windows.
Questions
With this in mind, I have some questions:
- Is there a default way to make desktop apps in Elixir? (If so, what is it?)
- Which of the two options I studied would be the best way to go?
- Is it possible to create an executable that launches the app when I double click it?