Fl4m3Ph03n1x
Best option to do desktop apps in Elixir
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 (Puddle Of Code - 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?
Marked As Solved
wanton7
Sounds to me it might be this video https://youtu.be/aFpBHQ0YEw4?t=2016
Also Liked
dominicletz
I’ve been working on a library to make the desktop apps part possible here: GitHub - elixir-desktop/desktop: Building Local-First apps for Windows, MacOS, Linux, iOS and Android using Phoenix LiveView & Elixir! · GitHub it all depends on Erlang OTP24 because that includes my pull request to include :wxWebView and so you can have a native window that shows your Elixir LiveView app. So the desktop library brings you all of that and avoids the need to mess around with any of the :wx* libs in your app.
I’ve got a local version of an app builder that produces a .dmg for macOS and a nsis Windows installer but it’s still a work in progress - planning to get that desktop-builder ready for the Code Beam V in May.
dominicletz
Thanks for linking that @wanton7 . If you guys are curious about that project we’re currently hiring for a position to work on this. So if you want to be paid to work on open source let us know: https://diode.io/jobs/elixir-engineer
Cheers!
Exadra37
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








