yolo007wizard
I’ve been reading up on Firefly and it looks very impressive. Does this mean faster CPU bound Elixir? i.e. ballpark java speeds? Or at least tighter interop with Rust would be fantastic with what they mentioned in NIF section.
I also found Hologram which I think leverages Firefly to put Elixir client side and it made me drool a little.
Stuff like this makes me very excited about the beam garden.
Trending in Discussions
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
New
Hey there,
It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
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
Quite interesting article Google brought me. Didn’t find any mentions about it here.
What do you think in general? Would you use togethe...
New
:warning: Security advisory: Decimal DoS vulnerability
A vulnerability has been published for decimal where very large exponents can cau...
New
It would be helpful to have a list of companies worldwide that hire engineers without prior experience in Elixir. Often, it can be quite ...
New
Other Trending Topics
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
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
Aludel - LLM Evaluation Workbench
Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
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
- #hex
- #security
- #metaprogramming











Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
bartblast
Hey, the creator of Hologram here. Hologram is not using Firefly under the hood - it transpiles BEAM definitions directly to JavaScript, and it has a different scope than FireFly in general, think ElixirScript + LiveView + Surface. Btw expect playable version soon!
D4no0
I suppose none of the VM features are available, it is basically just limited elixir syntax?
bartblast
You can say so, it won’t support the stuff related to processes, at least in the initial versions. However I plan to experiment with Web Workers API later to see what can be done in this regard.
yolo007wizard
Thanks for clarification. Really like the page localization layout. Also do you have plans to make this work with Firefly in future?
bartblast
If it will have some dead-code elimination and code-splitting methods, then why not? I’d like to avoid having to ship a few MB runtime bundle to the browser on the initial page load. With the current architecture, Hologram is able to run a basic page with a few kB runtime bundle and a few kB page-related bundle.
D4no0
Yeah, but don’t forget that you will have VM capabilities, like processes and fault-tolerance, witch IMO is worth even the full VM size (witch is currently about 30 MB), ofc this is not for all cases.
bartblast
Yeah, I think it would be helpful, but for more complex cases than reactive UI. Maybe something like client-side file processing to relieve the server resources? In case processes are needed, the Hologram commands can be used that handle asynchronous server code (where you basically run on BEAM) and they have very low latency since they go through websockets similarly to LiveView events. Btw do you have ideas on how BEAM capabilities can be used on the client side, besides file processing that I mentioned?
D4no0
I think the potential is unlimited, you basically have the full-blown elixir/erlang capabilities at your disposal. You can write the part that is responsible for interaction with dom (from what I remember webassembly standard doesn’t include this) and write entire frontend applications in elixir, not having to go back to JS ever again.
Liveview is great, the biggest selling point is that you don’t have to write JS, however it has limitations for more involved applications, and currently people end up using a frameworks like react to solve this limitation, which is not something I enjoy doing.
For more possible features, think of applications as the native ones we use, the only difference is that it lives in browser.
bartblast
I completely agree about the benefits of using Elixir on the client. That’s precisely what Hologram aims to achieve, with state management on the client and full Elixir syntax coverage. My point is that I’m currently exploring use cases for Elixir’s concurrency in the context of UI on the client. Given that the DOM operates on a separate single thread and WebAssembly cannot directly access it, there may be limited advantages, aside from potentially enabling background file processing. However, I acknowledge that I could be mistaken in this regard, and I’m seeking other potential use cases and opinions.
djaouen
Disregard. I got Lunatic ( https://lunatic.solutions/ ) confused with Lumen, which was rebranded as Firefly. Carry on.