Do you find that you use channels a lot in Phoenix?
I’m new to Phoenix but It is certainly the killer feature to me.
I’m pretty sure most people are interested in Phoenix for it’s real-time possibilities and not merely as a REST framework. The effort they are putting into channel presence features is good evidence of that.
Channels is why I’m considering Phoenix. But I’m just not sure I want to rely on that connection for sustaining a session. I still need a token, whether it’s JWT or just a user id in a secure cookie.
Even without channels, I’d be interested in Phoenix for the performance over Rails. With channels, it seems likely there is little I’d want to do with a webapp that it can’t do, and do well. Regarding auth, even will channels, I’m seeing a lot of mobile app based tooling that prefers JWT anyway, so I don’t think that and channels are mutually exclusive.
I think many people feel this way
There were some recent criticisms that Elixir (and Phoenix) were not different enough - but I think the critics failed to appreciate the draw of familiarity. If people wanted something radically different to Rails then they have plenty of Ruby options (Lotus, Volt, Trailblazer etc). But that’s not what most Rails devs want - they want top of the class performance… and Phoenix gives that - while at the same time - moving towards better paradigms, practises etc.
At least that’s how I see it
Its hard for me to believe people think Elixir isn’t different enough to matter, I think all of 2 days with it convinced me I needed to unlearn several things, and once I did, that it was a new, wonderful and different language.
I can see that argument applied to phoenix, but I also think its a good thing. The surface similarities run a bit deeper, though I think just because its also basically following the MVC pattern. But as Chris McCord has said, you don’t end up with a phoenix app, you end up with an app that happens to use phoenix, and I believe that matters.
A strong appeal of Phoenix for me is the familiarity. There are enough Rails touch points that I don’t feel overwhelmed. It also helps that many of the differences in Phoenix address areas of Rails that I perceived as weaknesses.
Currently I don’t use channels in my small personal and still private project, but as soon as the back-end is ready, there is planned to use heavy channelsthrough front-end