Hacker News new | ask | show | jobs
by marcus_cemes 1652 days ago
Does anyone know how Python/Django compares to something like Elixir/Phoenix?
4 comments

Phoenix has a much smaller footprint than Django. I would put Phoenix closer to Flask in terms of how much work the framework does for you. Phoenix has lots of generators which make hooking into the database layer very easy and bootstrapping new endpoints is also fast in Phoenix. Django makes more decisions for you (authentication, permissions, admin, the ORM to name a few).

In the Phoenix ecosystem you bring each of those pieces in as you please (auth generator, Ecto + other libraries etc). So I would say if your really want to move fast, you will still get further, faster with Django - but the trade-off (as other posts here have alluded to) is that once you need to implement custom features or optimisations you will often fight against Django (or need to wade-through half a dozen classes in some inheritance tree to find the right hook).

Another big difference between Phoenix and Django is that building websocket services in Phoenix is an absolute breeze. The Elixir runtime maps perfectly onto any type of messaging service.

Django has more features, a _much_ larger ecosystem, excellent documentation.

Elixir is dramatically more performant and will scale better. A lot of people enjoy Elixir more or find it conceptually more interesting than Python.

IMO the number of packages and facilities provided by Django will outweigh Phoenix's performance for 95% of users.

Django, Rails, Phoenix, Laravel, etc are all pretty similar at a high level.
Phoenix is on a much better performance level compared to the other two.