Fl4m3Ph03n1x

Fl4m3Ph03n1x

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:

  1. it needs to be in an executable file that one can run by double clicking.
  2. it has to work for Linux and Windows.

Options

So, I have made a small research and found 2 main options:

  1. 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).
  2. 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

wanton7

Sounds to me it might be this video https://youtu.be/aFpBHQ0YEw4?t=2016

Also Liked

dominicletz

dominicletz

Creator of Elixir Desktop

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

dominicletz

Creator of Elixir Desktop

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

Exadra37

But not Revery:

https://github.com/revery-ui/revery

The new editor one the block uses it.

Last Post!

wojtekmach

wojtekmach

Hex Core Team

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.

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
apz
I’m new to elixir and just tried to install the elixirLS extension for VScode(ium) and it is throwing some errors that I would like help ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews