I’ve been using Elixir and Phoenix for two projects, yet. I like Phoenix, but having in mind that server-side templates is nowadays less sexy (I am in love with Vue.js), what would be a great match for a new project which have the following requirements:
Must use Websockets for communication between front-end and back-end, regardless of the realtime features. No REST API. HTTP(S) is used only to serve static content and for authentication.
Backend must handle PubSub (like Channels in Phoenix).
Data model with Ecto/PGSQL
I think Phoenix still a great match, but isn’t an overkill?
Since you need distributed PubSub you’ll find it a fantastic fit. Also since you want Ecto, you’ll find integration of protocols thru the phoenix_ecto project that makes your life easier.
I was basically coming here to say what @yurko said. People tend to assume that Phoenix is heavy, but it’s really just a thin layer around Plug. You’re not looking at a difference of raw ruby vs rails or something along those lines.
It’s one of the things that makes it such an easy go-to for…everything.