bartblast

bartblast

Creator of Hologram

Hologram standalone mode - wishlist and ideas

Some great comments in the home page thread shifted toward what you’d like to see in Hologram’s future, particularly standalone mode. I’ve split those comments here so we can have a focused discussion.

Quick context on the two modes:

  • Embedded (Phoenix-based): The current version where Hologram works as a library within Phoenix applications
  • Standalone: The upcoming version that will work independently of Phoenix

What would you like to see in standalone mode? What features or capabilities would make it a must-have for your projects?

Looking forward to your ideas!

Most Liked

jam

jam

IMO, HEAT would be better. Bring the HEAT :fire:

Personally I’m looking forward to keeping it simple with Hologram, Elixir, and scoped CSS :slightly_smiling_face:

bartblast

bartblast

Creator of Hologram

Getting rid of the Node/npm dependency is actually a core part of the standalone Hologram effort. The plan is to vendor essential JS libraries and eliminate the need for npm/build tools altogether.

This will be part of v0.7.0, and it’ll apply to both the standalone and embedded (Phoenix-based) versions. So you’ll be able to work with just Elixir, HTML, and CSS - no JavaScript toolchain required (unless you need specific npm packages for JS interop).

bartblast

bartblast

Creator of Hologram

The vision you’re describing here aligns pretty closely with where Hologram is headed. It’s not meant to be just a web framework - the goal is to build it into a development platform for cross-platform development with isomorphic components that can run through WebView and Web APIs (web/mobile/desktop). Also things like Hologram widgets you can embed in existing apps, JS interop with React/Vue/Svelte, serverless deployments, and eventually web extensions and more targeted transpilation.

The thing is, we need to build this in a specific order. Starting with web makes the most sense because it’s the most urgent community need, and there are already early adopters giving feedback that helps shape the direction. Plus, if we can solve web and local-first well enough, it should create momentum to support the project financially - like through paid courses or content - which would let me work on this full-time.

From there the plan is: PWA → mobile → desktop → extensions/serverless/advanced transpilation features. As I work on the web part, I’m gathering different use cases - for example, when I started I didn’t think about browser extensions at all, but it seems to be one of many possible deployment targets.

One thing I should mention - a lot of people think transpiling to JS is just a 1-1 translation of Elixir code, but it’s actually much more involved. The Elixir world is quite different from the JS world, and concepts don’t translate one to one. You essentially need an Elixir runtime in the browser, call graph analysis, process management eventually, and more. Even if I extracted just the transpilation parts (which would be quite a lot of work since it’s relatively coupled with the framework right now), you’d quickly realize you need much more than just transpilation - you’d basically end up recreating Hologram eventually. I think a much better approach is gradually supporting new use cases through a consistent Hologram development platform and ecosystem.

Anyway, really appreciate you sharing this. It’s good to know the vision resonates with what people are hoping for!

ghannam80

ghannam80

Really looking forward for cross platform experience especially for mobile apps and the other discussion that mentioned PWA is very interesting.

I would love the HATE stack to materialize :grin::grin:

It would be cool to mention “You will love what you will do with HATE”, :grin::grin:

HATE : Hologram, Ash, Tailwind, Elixir

zimt28

zimt28

This is not directly related to the website, but I’d love to see an Igniter installer. I found that it makes it very attractive to try things and maybe just having to mix igniter.install hologram would help adoption :slight_smile:

Where Next?

Popular in Discussions Top

isaacsanders
When I try to run my applications and I haven’t updated the dependencies, the output tells me to run mix deps.get. Why doesn’t the binar...
New
lichuan
Hi, I’ve created a new repository on GitHub to compare the fairness and real-time performance of schedulers in Erlang and Go. Feel free t...
New
jeramyRR
Is it really necessary for the compiler to spit out a warning about using @doc with private functions? I don’t want to have to document ...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
BigTom
With Phoenix, Liveview, Ash, Oban Web, Nx, Livebook, Beacon, Liveview Native, Flame, Nerves etc all getting mature, are there any major g...
New
NKTgLaw
Hello fellow BEAM enthusiasts, I’d like to introduce a conceptual idea I’ve been developing, which I call NKTg Law. It’s a physics-inspi...
New
AstonJ
@Garrison’s comment in another thread reminded me of this post by Joe: With the big five exerting more control than ever, new (AI) play...
New
tristan
First announced on the Erlang Forum, BEAMup is a tool for installing a managing the active instance of BEAM languages. It has support for...
New
travisf
In upgrading from Ecto 2 to Ecto 3 I’m dealing with a failing test. If I use ExMachina build(:address) I’ll get an error trying to put_e...
New
bartblast
It’s time to implement JavaScript interop for Hologram! Eventually, there will be Hologram wrappers for most APIs, but sometimes we’ll n...
New

Other popular topics Top

9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 42633 214
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
magnetic
Hey :wave:t3: Elixir community, I’ve been learning Elixir, and working on some side projects. My editor of choice is VSCode, and althoug...
New

We're in Beta

About us Mission Statement