[HN Gopher] Hologram: A full-stack isomorphic Elixir web framework
       ___________________________________________________________________
        
       Hologram: A full-stack isomorphic Elixir web framework
        
       Author : kimi
       Score  : 116 points
       Date   : 2025-01-15 13:02 UTC (4 days ago)
        
 (HTM) web link (hologram.page)
 (TXT) w3m dump (hologram.page)
        
       | trescenzi wrote:
       | This looks really cool. Will have to play with it. Definitively
       | reminds me of Lustre as well. Which if you like Elm you'll like.
       | 
       | https://github.com/lustre-labs/lustre
        
         | r-w wrote:
         | I don't think that's a full-stack framework?
        
       | localghost3000 wrote:
       | If the website is made in this framework I have low hopes for it.
       | Animations are jank. Clicking on links and buttons takes two or
       | three tries before it does the thing. I'm on mobile safari. Maybe
       | just me?
        
         | whatnotests2 wrote:
         | Running this on my Samsung Galaxy S23 causes the hamburger menu
         | flyout to freeze halfway, and takes a few seconds for it to
         | appear at all.
         | 
         | I like the idea though. Post again when you get the bugs worked
         | out!
        
         | yawaramin wrote:
         | Mobile Safari takes at least two taps for most links on any
         | page. Eg try going to https://yawaramin.github.io/dream-
         | html/dream-html/Dream_html... then tapping on the first link in
         | the content area, 'Form'. It's just a simple <a> tag but takes
         | at least two taps to make it load the page.
         | 
         | It seems like mobile Safari treats the first tap as 'selecting'
         | the link, and the second one as actually navigating to it.
        
           | mcintyre1994 wrote:
           | Weirdly those content links all work fine for me. The only
           | one I've noticed does the double tap is the LiveReload button
           | in the text (linking to https://yawaramin.github.io/dream-
           | html/dream-html/Dream_html...)
        
           | throwaway290 wrote:
           | I had to tap at least five times on the burger menu... It
           | feels half baked. Either this is a problem of the site which
           | is fine, or the problem of the framework and then all bets
           | are off.
        
         | ruined wrote:
         | no, my experience in both firefox and chromium on android is
         | equally poor
        
         | knallfrosch wrote:
         | iphone13 mini 18.2.1 iOS works fine for me
        
         | 59nadir wrote:
         | Can't scroll on desktop Firefox, the entire site goes black in
         | Edge. I'm sure this would work in normal Chrome, but why would
         | I even care to try it at this point? If I can't even open the
         | framework's page I think it's worth a skip.
        
         | hayleighdotdev wrote:
         | I think the author might have a debug build enabled. If you
         | open the console you can see timing information logged. Loading
         | the introduction page of the docs [0] logs...
         | 
         | [Debug] Hologram: runtime script executed [Debug] Hologram:
         | page script executed [Log] Hologram: page rendered in - 876 -
         | "ms" [Debug] Hologram: connected to a server
         | 
         | Which is kind of crazy for a page with just text. Would be
         | super curious to see what the perf is like on a proper prod
         | build, it looks like they've implemented at least some part of
         | the elixir vm in js
         | 
         | [0]: https://hologram.page/docs/introduction
        
         | MarcusE1W wrote:
         | Single tabs on links with iOS Safari work just fine with me.
         | 
         | It does not feel slow to me, but I don't know what timings
         | should usually be achieved.
        
         | noman-land wrote:
         | Clicking the hamburger menu has a full second delay before it
         | opens causing you to click multiple times thinking you missed
         | the click target. This saves up all the click events and causes
         | the sidebar to open and close repeatedly while you just sit
         | there and watch. Not great.
        
       | pkkkzip wrote:
       | this is the most underwhelming launch of a web framework. doc
       | pages say "coming soon". no explanation or differentiator on the
       | landing page forced to click "getting started"
       | 
       | worst of all its just another JSX wrapper and some routing calls
       | with states in some language you won't be able to easily
       | hire/replace people.
       | 
       | many lessons to be learned from this poor execution on top of the
       | framework fatigue
        
         | yawaramin wrote:
         | What launch? What execution? Some random person just posted to
         | HN a link that happens to be publicly viewable. How does that
         | translate to 'launching a framework'?
        
           | pkkkzip wrote:
           | so im not allowed to criticize it because somebody posted a
           | random link to it?
        
             | yawaramin wrote:
             | Of course you are allowed to criticize it, but at least
             | criticize it for what it's trying to do, not based on some
             | criteria that you just made up? Do you criticize water for
             | not being dry?
        
         | kimi wrote:
         | Not sure if this is a launch or anything. I came across this on
         | an Elixir forum and found it interesting enough to be posted on
         | HN. That's it.
         | 
         | Not sure why everything must be a "launch" - there is more in
         | life than drinking the kool-aid of start-ups. Not everything
         | needs/wants to be the JS-bro full stack framework of the week.
         | Like, playing with some tech and some ideas just for the f* of
         | it.
        
           | knallfrosch wrote:
           | Thanks for the context. Interesting how it made the front
           | page without a single component though (coming soon.)
           | 
           | I guess the crowd just loves idiomatic frameworks, especially
           | in cool languages.
        
           | gooseus wrote:
           | yeah, guess you gotta be careful with that, maybe there
           | should be a tag like [Found] or [Discovered] so people don't
           | jump to the conclusion that this is your framework that
           | you're looking for critical feedback on.
        
             | airstrike wrote:
             | It's the other way around. People should only assume the
             | poster is looking for critical feedback when they see "Show
             | HN" in the title. Which is not to say this can't be
             | critiqued, but the grandparent was way off base
             | 
             | https://news.ycombinator.com/show
        
       | mcintyre1994 wrote:
       | I'm getting a weird issue with scrolling on this page:
       | https://hologram.page/docs/quick-start (iOS safari)
       | 
       | I seem to only be able to scroll once, then it freezes. Tapping
       | the URL bar kinda resets it and lets me scroll again, but then it
       | freezes again.
       | 
       | It looks like a static page so I'm not sure what would be causing
       | that, but a total guess would be re-renders on the code blocks?
       | Not sure if that makes sense though!
        
         | SALCKIN wrote:
         | Reply
        
       | Muromec wrote:
       | Nice, I saw the post on elixir forums the other week. Do you
       | compile elixir straight to js or do you deal with beam as
       | intermediate? I was doing a thing that compiled beam into wasm
       | and it was working great without having to dive into the whole
       | syntax.
        
         | vijaybritto wrote:
         | Oh that's super interesting. But won't that be a super heavy
         | wasm binary?
        
         | lpil wrote:
         | I'd love to learn more about your project! Is it public?
        
       | openrisk wrote:
       | Its impossible to read on firefox/android but would be
       | interesting to learn more about how they organize the division of
       | labor between server and client. As in: the principles, not
       | necessarily the implementation.
        
       | isodev wrote:
       | About the framework homepage: The first rule of Fight Club is:
       | you don't mess with the scroll. No amount of JavaScript can
       | recreate what my preferred OS and input device give me out of the
       | box.
       | 
       | That aside, I love the idea. We can certainly use more tools like
       | this in the Elixir ecosystem. I sometimes feel Phoenix has become
       | the hammer we sort of use on everything, but maybe there are
       | better ways (e.g. for more content focused websites).
        
         | 7bit wrote:
         | > The first rule of Fight Club is: you don't mess with the
         | scroll.
         | 
         | Just reading this about that homepage makes me irrationally
         | angry.
         | 
         | What kind of people STILL think it's okay to mess with the
         | scroll? Have you not learned after 15 year of that practice
         | being shunned? I want to fire the entire we dev department for
         | that blunder and hire competent people. Fortunately, I don't
         | even work there.
        
       | vijaybritto wrote:
       | I really like the idea and it aligns with my thinking. Its
       | missing some basic docs though
        
       | cultofmetatron wrote:
       | I can't really see what this brings to the table that phoenix
       | doesn't. Seems more minimal?
        
         | lpil wrote:
         | It could be advantageous for applications that need to work
         | offline. It doesn't seem to need a server connection, making it
         | more like React than LiveView. I may be misunderstanding
         | though! I've not tried it myself.
        
       ___________________________________________________________________
       (page generated 2025-01-19 23:01 UTC)