tduccuong
Hi,
is there any work on GUI with Elixir, that is similar to Electron/Javascript? My idea is to bundle Phoenix and BEAM into a single self-executable binary. When run, the Phoenix webserver will serve locally to a lightweight rendering engine like this one.
Thanks!
Trending in Questions
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
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
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
Documentation
While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
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
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
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
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
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
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
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
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #ai
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #elixirconf-eu
- #metaprogramming
- #hex










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
hauleth
Default Erlang distribution comes with Erlang bindings to WxWidgets (this is used by Wings3D - 3D modeller written in Erlang by @bjorng), this is what is used for example by
observerapplication, so you can use this instead of launching full fledged HTTP server to mock the GUI application. Alternatively you can check out Scenic.tduccuong
thanks a lot for the pointer to Scenic!
outlog
@evadne teased this cool project recently: Evadne W. on X: "Nice https://t.co/bXXNP8ejsY" / X (mac only I assume)
@ConnorRigby has also been doing some stuff to get native/cross platform flutter going coner @PressY4Pie@fosstodon.org on X: "Another late #NogginDay. Spent the afternoon working on @elixirlang + @FlutterDev #myelixirstatus https://t.co/CwdRA0PByM" / X
evadne
I think for most use cases you can consider spawnfest/bakeware which packs a single executable which contains a launcher and an embedded archive.
I’ve indeed been toying with the idea of building an entirely independent Mac app bundle that is compatible with Sandboxing etc and around the existing Elixir releases concept. Since I don’t know how to write applications well for Linux / Windows I’ve focused on Macs. A particular concern that came up pretty quickly was handling of dynamically linked libraries, which I have had to manually relocate and then rewrite the entries in shared libraries within the release via a build script. So far the solution works for OpenSSL and I am sure will work with most libraries, but it has been quite an ugly experience so more thinking and studying is required to simplify it.
I have tried this approach with a Phoenix app and a Scenic app and more or less things work and I could put the app bundle on another machine and it works properly. (Usually Erlang is installed on top of OpenSSL installed via Homebrew on Macs so a simple Elixir release won’t work on other Macs without Homebrew / OpenSSL.)
For Windows, the same technique which was used to build portable apps could probably be used. I’ve not studied how though.
sorentwo
That process reminded me of the old Yehuda Katz project, Tokaido:
I can’t believe that was 8 years ago now!
ityonemo
As much as I hate electron, I think if someone figured out how to bundle electron with elixir (possibly via bakeware) it would be really cool, even if it’s not much more than a proof of principle.
axelson
You will probably find this Proof of Concept relevant to your interests: GitHub - fazibear/elixir_desktop_application: Code for story: https://puddleofcode.com/story/how-to-create-desktop-application-with-elixir · GitHub (the startup instructions, although default are correct)
Which is powered by GitHub - nerves-web-kiosk/webengine_kiosk: Qt WebEngine-based kiosk · GitHub which runs with qt webengine. Of course that is different than electron, and may be more difficult to install. But on a machine that has qt installed, running
mix phx.serverwill bring up a desktop window that loads http://localhost:4000It would be interesting to see if someone could create a new Proof of Concept by adding bakeware to the above.
elcritch
I’ve been tempted to do exactly that. It’s what I use for IoT devices essentially. LiveView makes it much saner, but it’d be way cooler if you could use react-native somehow. As in LiveView modding vdom and re-using react native bindings.
ityonemo
wait, you’ve attached liveview to react native? That’s kind of amazing. Do you have a reference to how one does that?
elcritch
haha, alas no. I should’ve been clearer. I use LiveView with a browser in kiosk mode. Though, I do think it would be awesome to use react-native with LiveView. I think it may be possible to hook up, but not sure… it depends if the JSX calls are translated to a vdom that LiveView’s mdom library could modify.
According to this SO answer it looks like react-native does create a vdom. However that vdom has a bunch of shadow nodes specific to react-native. It wouldn’t be impossible to use, but it may require a lot of effort copying react-native JSX functions. Though someone could write a macro that’d parse a JSX view into a LiveView template (it’d probably not be too hard to convert 90% of JS expressions into Elixir equivalents probably, then hand tuning to fix the rest). That post links to https://www.youtube.com/watch?v=8va9prUqjnA as a more detailed source on the internals of react-native.
So if one were to do it it’d probably require:
Then who knows if it’d break on every react-native update or not.