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

13
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!

Where Next?

Popular in Discussions Top

vans163
So useless benchmarks aside, Its possible to write a webserver that can serve 300k requests per second (perhaps more with optimizations)....
New
blackode
Elixir Upgrading is so Simple in Ubuntu and It worked for me Ubuntu 16.04 git clone https://github.com/elixir-lang/elixir.git cd elixir...
New
marciol
Please, let me know if this kind of discussion already took place in another topic . Hi all, how do you consider if is better to build ...
New
jeramyRR
This is an interesting article to read. Elixir’s performance, like usual, is excellent. However, it seems like the high CPU usage is co...
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
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
mmport80
I have put far too much effort into Dialyzer over the last year or so - and basically - I doubt it’s worth the effort. It’s not as easy ...
New
pdgonzalez872
If this has been asked here before, please point me to where it was asked as I didn’t find it when I searched the forum. Maybe a mailing ...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 54250 245
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

Other popular topics Top

mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 39523 209
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 36432 110
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 54250 245
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

We're in Beta

About us Mission Statement