AstonJ

AstonJ

Differences/pros and cons of Hologram's different modes (Phoenix based vs standalone)

Posting this as a separate thread as I’m sure lots of people will be curious - what will the (or the intended) differences be and when might you want to use one over the other Bart?

Most Liked

bartblast

bartblast

Creator of Hologram

Allright! The main use cases are:

Embedded (Phoenix-based) mode:

  • For existing Phoenix apps where you can’t or don’t want to fully migrate to Hologram
  • To gradually adopt Hologram by adding components/pages incrementally within your Phoenix app
  • If you prefer to treat Hologram as just the frontend layer while keeping Phoenix for the backend
  • If you prefer staying within Phoenix’s ecosystem and conventions

Standalone mode:

  • If you prefer simplicity - convention over configuration
  • Goal is to be dead simple and “just work” out of the box
  • The end-goal is ambitious: local-first features with a client-side data store that auto-syncs to the backend database, plus cross-platform development (web/mobile/desktop) using the same UI components from a single monorepo. The first standalone version will lay the basic foundation for this vision.

Edit:

See this newer post for a bit more detail: How should Hologram position itself in relation to Phoenix? (Poll) - #26 by bartblast

11
Post #2
bartblast

bartblast

Creator of Hologram

Yeah, I guess you can say so! I’d love to recreate that seamless ease of use and rapid development that Meteor devs experience (though hopefully fixing some of the architectural issues Meteor has). Zero is definitely on my radar, along with a few other related projects like ElectricSQL and PowerSync. The idea of having a subset of data on the client that syncs automatically is so compelling - so many problems just disappear this way! Add reactive client-side queries to the mix and you’ve got something pretty magical. That’s what I’m hoping to build into Hologram.

arcanemachine

arcanemachine

Nice. This seems like the best of both worlds.

The best choice is not having to choose!

jam

jam

Let’s go! :rocket:

jam

jam

Yes! This is the dream and why I’m a big fan of the Hologram vision. Meteor’s DX is unmatched to this day which is crazy. Even Zero, inspired by Meteor, doesn’t quite match it imo. InstantDB looks interesting but it seems you’re completely at their mercy and scaling is anyone’s guess.

Once you sync subsets of data to the client, any other way feels archaic. Now, beyond a certain scale, Meteor’s approach to syncing those subsets will run into issues. This is what originally led me to Elixir and the BEAM, the other benefits were mostly icing on the cake.

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
marciol
Thinking about how Contexts on Phoenix 1.3 are beautiful in the simplicity, elegance and minimalism, coalesced in the smallest unity of E...
New
marcandre
Compilation time for our project degraded from ~26 seconds to ~32 seconds (~23% slower) :disappointed_face:. Did anyone else compare com...
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
ryanrasti
Hey everyone – after coming off of 3 years building with Ecto, I’ve been working non-stop on Typegres, a new query builder that strongly ...
New
bartblast
Some great comments in the home page thread shifted toward what you’d like to see in Hologram’s future, particularly standalone mode. I’v...
New
paulanthonywilson
I like Umbrella projects and pretty much always use them for personal Elixir stuff, especially Nerves things. But I don’t think this is ...
New
krainboltgreene
Today I noticed that when defining a embeds_many the new struct has a default of [] which is confusing since: You can have jsonb[] colu...
New
axelson
Hi there! :wave: @frigidcode and I (but mostly him) have been running an Elixir Book club, we’re almost done with Designing Elixir Syste...
New
PragTob
:wave: I’m currently extracting the statistics calculation part from benchee and stumbled upon how to present error conditions. In the c...
New

Other popular topics Top

freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers' Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
lucidguppy
I have a super simple question about elixir - how would I take a file like this foo bar baz and output a new file that enumerates th...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
Nvim
Elixir appears to be a superior language to Python. I don’t see any advantage of Python over Elixir. Are there any?
New

We're in Beta

About us Mission Statement