Owens

Owens

Would love to know if anyone has made an Electron app from your Phoenix app.

I know a lot of people like to hate on Electron. Yes, it’s bloated and the performance is not amazing, but AFAIK there’s nothing out there that can match the ease of building a cross-platform desktop app that just works.

Showing Posts 1 to 6

kokolegorille

kokolegorille

As there is a package for phoenix js, I found it easy to integrate phoenix w/ javascript.

I made some test w/ Electron + React and was quite satisfied by the result.

Owens

Owens OP

package for Phoenix js

Wow can you link me to this?

Is it possible to get this to work with LiveView?

kokolegorille

kokolegorille

The package is at https://www.npmjs.com/package/phoenix

LiveView is trying to avoid js, so it would not be the best match… unless your electron application is just a web client.

But You can do better, because You could also have a state manager in the frontend (like Redux, or newly use reducer hook).

Having a state manager on the frontend allows You to transform any data received in whatever You want. For example, I use those data in the frontend w/ THREE.js

LiveView is a way to have the state manager on the backend. But it will mostly communicate in HTML.

Having a state manager both in the backend AND in the frontend looks like a good solution to me, because You can send data on the wire only (JSON) :slight_smile:

Owens

Owens OP

This is great.

Well, it makes total sense to have frontend state manager for single-player features. But LiveView is ideal to manage state on backend for multi-player features (e.g. Google Docs).

Now that I think about it, what I need is just a way to publish a desktop app. I want to store state on the client but not manage the state on the client. Could I just publish a shell Electron app, which all it does is act as a PWA (Progressive Web App) so when someone is offline it shows the UI and previous state, then it calls the server/LiveView when it’s actually runnning?

kokolegorille

kokolegorille

I have just updated an old project which is in my public repo, You might have a look…

https://github.com/kokolegorille/three_api

I don’t think it should be exclusive, I prefer to have a state manager on the backend AND on the frontend.

Owens

Owens OP

Will check it out, thanks!

Also, I just came across this, which I think solves my problem: Progressive Web Apps  |  web.dev

— All posts loaded —

Where Next? Top

Trending in Questions Top

stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New
jonnycharles
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
spammy
I’m looking to build a personal workflow to quickly deploy web applications written in elixir/phoenix, for local consumption (ie not on t...
New
dli
Before I dive in myself, did anyone successfully sprinkle Hologram into their existing LiveView app? Looking for hints regarding: Addi...
New
roeland
Kia ora, We have been using elixir-google-api to connect to Google Drive. However, with the updates to Tesla due to CVEs this is now bro...
New
bottlenecked
Hi all, I wanted to ask how the community is dealing with post-release steps. Today we have Ecto migrations, which make sure that the db...
New
rahultumpala
Hello, I have an Elixir backend that implements a custom protocol over TCP. I want to load test the backend and assess the performance o...
New

Other Trending Topics Top

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
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews