Best option to do desktop apps in Elixir

Sounds to me it might be this video Elixir Berlin meetup February 2021 - YouTube

4 Likes

This is the GitHub repo in the video GitHub - elixir-desktop/desktop-example-app: Elixir Sample App using the Desktop library with LiveView to create a desktop app

2 Likes

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: Elixir Engineer (or Erlang)

Cheers!

5 Likes

Maybe this could be interesting for desktop apps? GitHub - wojtekmach/elixir-run: Erlang/OTP + Elixir + IEx + Mix in a single executable for Linux/macOS/Windows. Just run Elixir!

You could use that to distribute the VM and just bundle in your code with it. Though I don’t know how it handles connections to libraries like OpenSSL, WxWidgets…

1 Like

elixir-run uses bakeware which in turns builds a release with the OTP that you’re currently using. If you have OTP with OpenSSL, wxWidgets, etc, properly set up, then your release will be fine.

elixir-run has limitations for certain kinds of apps so it will stay as a proof of concept. There may or may not be another tool coming in that space though. :slight_smile:

btw, here’s a way to build OTP openssl & wx, all statically linked for Macs: gh-actions: Add macOS builds by wojtekmach · Pull Request #5036 · erlang/otp · GitHub. I hope that PR will be merged in and later on we’ll also have official binary builds for Linux.

1 Like

I was more thinking about distributing to other people’s computers, who may or may not have the same versions and locations of the libraries. So a statically linked build would be very nice for this purpose.

Yeah, precisely, I meant that too. :slight_smile: When you’re building your executable with bakeware and your OTP has things statically linked, the executable will work on other people’s computers.

2 Likes