3 ms·
That's something only you (or your team) can answer. Does one of them help you solve a problem better than the other? If you can't articulate an answer to that
by mehphp 5y ago
That's something only you (or your team) can answer. Does one of them help you solve a problem better than the other?
If you can't articulate an answer to that, then I would suggest using whichever your team is most productive in.
- rpastuszak 5y agoOf course, 100% agree, but I'm after concrete examples from other teams, because at the moment I belong to only one, which is a limited sample:) and I'm curious. I should've asked what are the cases when one outperforms the other? Or, what are the cases where Django is a better choice than Phoenix (besides talent, available libs, etc...). Or even, better, what are the concrete examples in which one is a better choice--from your own experience? Given my (fairly superficial) experience with both Django and Phoenix I can see a tonne of similarities: convention over configuration, generators/scaffolding, ORM, fairly similar project structure (to some extent). At the same time things such as realtime/WebSockets feel so unnecessarily complex in Django and so much easier to work with in Node, Elx, Go, literally anything else. I feel like Django fits in the niche once occupied by RoR, whilst Phoenix has a stronger overlap (in terms of use cases) with something like Next.js + Prisma.
- mehphp 5y agoJust a nitpick but Django is definitely not convention over configuration, you might be thinking of Rails. > At the same time things such as realtime/WebSockets feel so unnecessarily complex in Django and so much easier to work with in Node, Elx, Go, literally anything else. So this is where Elixir shines. If you need highly scalable real-time applications, then it's no contest. If it's a pretty straightforward crud app then it's really going to come down to preference. > Or even, better, what are the concrete examples in which one is a better choice--from your own experience? I personally chose Phoenix because of liveview. It removed the need for me to maintain what feels like two separate apps when you have a back-end and then a front-end in React/Vue/whatever.