6 ms·
This is awesome. I recently built a multiplayer Phoenix LiveView experience - https://internetfight.club https://internetfight.club - and in the process had the
by Mizza 5y ago
This is awesome. I recently built a multiplayer Phoenix LiveView experience - https://internetfight.club https://internetfight.club - and in the process had the idea for a fully DB-reactive dev experience, seems like you scratched the itch first! Well done. I think this is the future of web development and I'm quite happy about it. That being said, I wonder how far you could get on ETS alone..
- wenbo 5y agoWould love to learn more about how you built Internet Fight Club! What were your design decisions and what challenges did you encounter? Also, what do you mean by ETS alone?
- Mizza 5y agoIt was mostly a learning project for me, but I'm planning to do a write-up soon as a guide for Python developers moving to Elixir. Re: ETS, I was just imagining something like Realtime but without Postgres, just using ETS. Most of the use cases I can think of for this type of thing don't require relational data, so I was thinking of just using ETS as a KV/document store to hold user and application state and then reacting to changes in to that the way you are here. I think you'd lose the benefits of relational queries and persistence but gain some function in overhead and decentralization. I'm moving to Elixir after spending a lot of time doing "serverless" and event-driven architectures, so now I'm spending a lot of time thinking about how to get the benefits of both worlds.
- wenbo 5y ago> write-up soon as a guide for Python developers moving to Elixir Awesome initiative! > ETS as a KV/document store to hold user and application state and then reacting to changes in to that the way you are here This is actually pretty interesting. I can't speak to ETS but Mnesia has replication and you can expose the replication log using something like https://github.com/emqx/mria https://github.com/emqx/mria. I've only had a cursory look at this so I could be wrong about its capabilities but it would be an awesome extension to the new Realtime if possible.
- EricMausler 5y ago> Python developers moving to Elixir. was this your path? I am heavily considering it, as I have been thinking about the BEAM for a couple years now but haven't dove in yet (coding is mostly hobby for me, though it does benefit my work sometimes)
- wenbo 5y agoThis was actually my path. I started working on side projects and picked Elixir because I had my eyes on it for a few years and wanted to give it a shot.
- EricMausler 5y agoWhat was your first elixir project? Did you have any trouble skipping Erlang and going straight to elixir?
- nesarkvechnep 5y agoYou don’t need Erlang especially if you’re not developing in Elixir professionally.
- wenbo 5y ago> first elixir project Simple Phoenix server that made requests to third party API endpoints. > Did you have any trouble skipping Erlang and going straight to elixir? I don't think I referred to any Erlang code and just picked up Elixir. Ultimately, you will have to pick up some Erlang but you can get away with just Elixir for a long time.
- keithnz 5y agosounds like you want "Meteor" as it was when it first came out. Which is nearly a decade old now! I really liked it, but the whole community fragmented a while back, not sure what it is like now
- nesarkvechnep 5y agoMeteor but built using a well-designed language.
- yumraj 5y agoI believe OP meant https://www.erlang.org/doc/man/ets.html https://www.erlang.org/doc/man/ets.html by ETS
- Nezteb 5y agoIs there any chance of getting access to the source? If not, no worries!
- wenbo 5y agoOf course! You can check out the demo code here: https://github.com/supabase/realtime/tree/multiplayer https://github.com/supabase/realtime/tree/multiplayer.