neilberkman

neilberkman

Swift-Erlang actor system, Crane browser, and the future of LiveView Native?

Carson Katri from DockYard posted today about swift-erlang-actor-system, which enables Swift programs to join Erlang clusters as distributed nodes.

In the Hacker News discussion, Brian Cardarella revealed this is part of a much larger project called “Crane” - a native UI browser that renders actual native components instead of HTML. So <Text>Hello</Text> becomes SwiftUI’s Text("Hello"), with each DOM node running as an Erlang process.

This Crane approach is very interesting - using distributed Erlang to bridge native UI with web-like development patterns, and representing DOM nodes as Erlang processes. If it pans out, the ability to run JavaScript via WASM in Elixir and target all Apple platforms (except Watch) could be game-changing for how we think about native development.

However, Brian mentioned this “originally started as the LiveView Native project but due to some difficulties collaborating with the upstream project we’ve decided to broaden our scope.”

I’m working on a commercial SaaS built entirely with Phoenix LiveView, and we’ve been considering using LiveView Native for our mobile apps. The big draw is keeping everything in Elixir without building a separate API layer.

I’m inferring the “upstream project” mentioned is Phoenix itself? Not looking for anyone to reveal private communications, but I’m trying to understand the implications for technology decisions I need to make in the near term.

I’m wondering if it would it make sense to start a new LiveView Native project given this development. Is Crane an evolution/replacement of LVN or something separate?

For those of us with production LiveView apps considering mobile options, what’s the recommended path forward? Would appreciate any insights from folks familiar with these projects or who’ve recently evaluated LiveView Native.

BTW to be clear: we hadn’t decided on LV Native but were planning to seriously evaluate it vs. alternatives (full native, other frameworks).

Most Liked

byu

byu

I too would like to know the direction of LiveView Native and this OTP interop.

  1. If elixir-pack can now bundle Erlang/BEAM into iOS App, which is so Crane can run as the “browser” on device, then does that mean the direction is to also bundle an entire Phoenix project to just serve offline on-device backend to Crane? Which would be complementary to having a cloud-phoenix project also serving “native markup” to the Crane browser?
  2. How does this change the current LVN Phoenix-side serving of “native liveview” implementation?
  3. Is it just a matter of switching out the LVN SwiftUI Client (dependency of iOS app) from the “rust client core” to the new “Crane” browser?

Where Next?

Popular in Discussions Top

JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1140 51847 244
New
hauleth
Maybe some of you know that there was (is?) something like BERT-RPC which in short is simplified version of External Term Format (also kn...
New
jdumont
I could write forever about this, but I’ll do my best to keep it succinct. For anyone familiar with event sourcing, what is your opinion...
New
AstonJ
Bart’s talk about Hologram got me wondering what kind of apps or components people are thinking about building (or think could be built) ...
New
James_E
I see that the current ExUnit source code has support for rich failure messages on a small whitelist of “recognized” assertion patterns, ...
New
bartblast
Hey there! :slight_smile: I’m working on updating the Hologram website home page and would love to get your input. Current situation: ...
New
lessless
I wonder if it’s possible to mimic a simple “class reopening”/inhertinace-based SEAM in Elixir to alter a module’s behaviour without edit...
New
jonator
FLAME is basically the dream for running AI agents that need system command access such as coding agents. However, I have concerns about ...
New
matreyes
I haven’t seen this paper being discussed by the community, but I think this makes Elixir more relevant than ever. TLDR; The paper...
New
AstonJ
Inspired by Andrew’s post in another thread about types: If the main benefit of static typing is to catch errors, and most people think...
New

Other popular topics Top

yurko
Here are few pieces of (common) Linux knowledge that we use for reasonably small one server apps. We use Ubuntu but this should work for ...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
chrismccord
As promised, the first release candidate of Phoenix 1.3.0 is out! This release focuses on code generators with improved project structure...
New
beno
I will often find my self writing things similar to: case some_value do nil -&gt; something() "" -&gt; something() _ -&gt; someth...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New

We're in Beta

About us Mission Statement