Hacker News new | past | comments | ask | show | jobs | submit login

I made nearly all of my money with Phoenix and Django in 2018 so I'm probably not biased. For projects that can run on a single machine I'd say that Phoenix is slightly better than Django but Rails is much better than both of them. Metrics: ease of development, developer happiness, ease of debugging, ease of deployment, framework coherence (Django is almost not a framework compared to the other two), the ORM, the underlying language.

Phoenix wins on parallel jobs because thanks to Elixir it doesn't need ActiveJobs or Celery. Django doesn't win on anything IMHO, except maybe the ease to create an admin CRUD (but Rails has a gem for that.)

To add another tool I used, even Django would win against server side JavaScript. I'm using that only in special cases and for demos, because so many more people knows it than other languages.




Considering yours and the other answers I'll definitely give elixir a go. This isn't very easy when you are fully productive with a different tool (Django in my case) and you have projects with expected deadlines...

I'm mostly convinced to take the red pill thought! Can you recommend any good elixir/phoenix learning resources?

Now that I mentioned learning resources I think that you should agree that this is a point where Django wins: Its documentation and learning resources!


I learned Elixir and Phoenix on their web sites. Deep links to the starting points.

https://hexdocs.pm/phoenix/overview.html

https://hexdocs.pm/phoenix/Phoenix.html

https://elixir-lang.org/getting-started/introduction.html

https://elixir-lang.org/docs.html

If you buy books, look at https://elixir-lang.org/learning.html

You should probably start with Elixir but you can do as I did with Ruby/Rails, start with the framework and learn the language as you need it. If you do, in the case of Elixir you'll probably be puzzled by all the Supervisor and Gen* stuff based on OTP. Hint: GenServers are more or less objects with their own CPU https://hexdocs.pm/elixir/GenServer.html#content and Supervisors are kind of a systemd internal to the language.


Here is a tutorial that might help you in your first approach to Phoenix (a web framework akin to Rails/Django): https://lobotuerto.com/blog/building-a-json-api-in-elixir-wi...




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: