jpbecotte
Which framework for a new project
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?
Thanks,
JP
Marked As Solved
chrismccord
Nope, not 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.
Lastly, the inclusion of server-side templates does not make it overkill, after all Phoenix.Template amounts to only 400 LOC:
https://github.com/phoenixframework/phoenix/blob/master/lib/phoenix/template.ex and the majority of folks need to render an index page at any rate ![]()
Also Liked
yurko
The nice thing about Phoenix is that that it doesn’t have much overhead
So my two cents - definitely Phoenix, it’s WS support is really awesome.
brightball
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.
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #javascript
- #code-sync
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








