gnat
GUI programming in Elixir?
I’m completely new to Elixir and don’t know Ruby, either.
Is anyone writing GUI applications in Elixir? I don’t know the language and the easiest way for me to learn (not to mention the way I’d primarily be using any language right now) is for desktop applications with a GUI front end - ideally something that will work on both Mac and Linux. What are my choices and how well supported/ integrated are they? In case it matters, I’m specifically interested in writing a distributed business application connecting multiple machines over the internet. From that standpoint, Elixir seems like it might be a good fit. But I need to have a GUI interface and not just in a browser.
I tried to research this question first with a web search and then with a search on this site; I haven’t found any good answers so far.
Marked As Solved
AstonJ
Will the app be connected to a central server?
If so I would look at http://electron.atom.io for the GUI and then use Elixir on the back end/server. (@kofno has some experience with Electron. Hopefully he’ll spot this and add some thoughts.)
Also Liked
AstonJ
No they are not competitors at all - Elm is front end and Elixir is backend. Elm is a HTML/CSS/JS transpilier, I can’t see why they would want it on the server as well, and even if they did, it would be JS - nobody in their right mind would want JS on the server ![]()
yawaramin
Here’s Joe Armstrong’s research on GUI options for Erlang: http://erlang.org/pipermail/erlang-questions/2017-July/092949.html
Gee5ive
NobbZ
For GUIs in Elixir you can still use Erlangs wx-module. For this to work, of course, it is necessary that your Erlang release is compiled with wx included.
But for the client side I’d prefer a more lightweight solution that does not pull in a full gigabyte as runtime dependency…
This in mind, I do think, currently the best approach is a JavaScript-application which runs in the Browser and is written in a way that it can work without internet access. This could even update itself silently whenever necessary (and online). Also there are multiple tools available, that can convert HTML5/JS-Applications into native applications for iOS, Android or Win mobile. They might need additional tweaking of the source though.
But if you really want to use the same language in the complete applications stack, I heard about a language called haxe which promisses exactly that, but I never tried more than a hello-world, because I#ve no project which could make use of it.
mackenza
if this is your goal, Elixir is not at all well suited to learn by creating GUIs. All the answers you got above are about actually creating the GUI itself in another language (Elm, JS/HTML/CSS with Electron, Java) not in Elixir. All the above answers are good, but if your stated goal is to learn Elixir by doing GUI programming (non-web), you won’t find much/anything to support that in Elixir itself.







