3 ms·
We use Phoenix and LiveView to power all of our non-video interactions on Glimesh.tv[0] and the immediate out of the box features and performance are unmatched.
by clone1018 5y ago
We use Phoenix and LiveView to power all of our non-video interactions on Glimesh.tv[0] and the immediate out of the box features and performance are unmatched. LiveView allowed us to get a completely real time updating channel where streamers can edit their metadata (game, title, viewer count, etc) and all of the viewers can see it in real time. Not to mention we implemented a distributed chat system that sends message updates in real time to both browser clients and API clients. Both of these features combined amount to less than 1000 lines of code and "just work" across multiple web nodes.
It can be daunting to jump into such a strange world as a LiveView environment may look (Elixir syntax, OTP terminology, etc) but honestly once you dig in deeper, everything just makes sense. LiveView (and HEEx) continue to be very simple to understand abstractions on top of the rock solid OTP platform. It's a joy to build real time applications using it, and I very much appreciate the "developer experience" focus both Chris & Jose have for us Elixir devs!
I'm excited for the launch of Phoenix 1.6 and HEEx is shaping up to be a complete replacement for your traditional SPA + Backend API, and using one consistent language for your full stack really has very freeing & powerful benefits, especially for small teams!
[0] https://github.com/Glimesh/glimesh.tv/ https://github.com/Glimesh/glimesh.tv/
- nickjj 5y agoAre you using Live View for everything related to navigation too? For example if you transition between any page, is this happening through Live View? In any case, I'd love to chat with you on my podcast on how you built and deploy Glimesh if you're interested. It's at https://runninginproduction.com/ https://runninginproduction.com/, there's a become a guest button in the nav bar on the top right if you wanted to schedule a call to be on the show.
- deleted 5y ago[deleted]
- cgarvis 5y agoSlight difference from stock phoenix but yes. Only area I’m not 100% on is auth. https://hexdocs.pm/phoenix_live_view/live-navigation.html https://hexdocs.pm/phoenix_live_view/live-navigation.html
- clone1018 5y agoRight, the normal way for Phoenix LiveView apps is to make the registration / login exist inside your regular controllers / actions since a LiveView cannot directly modify your cookies or global session (with some caveats).
- clone1018 5y agoYeah, the channel / category pages are all "live patched" generally, which means the user can navigate around without incurring a full HTTP roundtrip. Some pages like the account settings are "dumb views" though and do not offer the same advantages. Thanks for the offer to be on the podcast, I'll check it out!
- danjac 5y agoI've used a similar technique with HTMX[1]. General navigation just patches the main "content" section, but actions where it's necessary to replace the entire page (e.g. login/logout) just do a full page "dumb" refresh. [1] https://htmx.org https://htmx.org
- fulafel 5y agoThere's also a Clojure web setup based on htmx: https://whamtet.github.io/ctmx/ https://whamtet.github.io/ctmx/
- MathCodeLove 5y agoNick! Completely unrelated to this discussion but I just wanted to say I've bought a few of your courses and love you're work. What a pleasant surprise to run into you on HN.
- nickjj 5y agoHi! Thanks a lot, I really appreciate it.
- deleted 5y ago[deleted]
- arminiusreturns 5y agoHey great work on Glimesh! I stopped streaming for while and when I came back hitbox.tv was no more. So I went searching and comparing providers and ended up selecting Glimesh and have been really happy with it. I didnt realize you were using phoenix but the snappiness makes sense now!