Django vs Phoenix

Why not post a question here? Response times on the forum are excellent, and chances are your question could help lots of people further down the line (since most people google first).

Alternatively once you’ve found an answer why not post a thread and an answer here or on stack overflow for the benefit of others? I’ve done this a few times even when the answer has been relatively straight forward.

1 Like

Whenever I’ve been stuck and made a question here I’ve found the responses to be very helpful and timely (I have never asked in SO though)

I think this has to do more with popularity since popularity means more possible jobs opportunities. I’m a newbie myself and I was attracted initially to the language because I felt it was more future proof (more advanced) than other languages in real-time stuff, but ultimately even without that I’ve found the functional aspect and the community to be good fit for me as I’m interested in making my own projects with a language I enjoy

5 Likes

Django is similar to RoR in terms of maturity. Both scale (time and developers). Take an experiment, create an interactive dashboard in RoR, Django, Phoenix. You will find in order of fastest development with less people, Django, RoR, then Phoenix (since you have to start from scratch, please correct me if I am wrong).

I think it depends on your needs.
Rails(and rails like frameworks) might have a lot of batteries included libraries that let you create something fast, but I almost always end up fighting against those libraries to tune them to my needs, and that defeats the point of using them in the first place. My personal opinion is that they offer perceived productivity. YMMV.

You’ll find experienced developers that will give you A LOT of useful thoughts and resources, but that’s not the only people it attracts. I myself am not a seasoned developer, I found elixir looking for alternatives to PHP, I needed websocket support and a language a felt comfortable with, Elixir met those requirements and had the added benefit of being based on erlang/OTP, even if you don’t know what that means, it gives you more confidence on your choice.

2 Likes

Here’s one thing about django vs Phoenix that is super relevant:. I’m hiring a junior this month. I’m confident that a junior dev can deploy code into a phoenix app without running into a major footgun. I wouldn’t be so confident about django.

3 Likes

Bitbucket, Pinterest, Instagram, Disqus, Mozilla, Instagram are all powered by Django. Phoenix needs to mature more to get to the level of Django. I think this forum itself is powered by Django.

This forum is powered by Discourse which is a Rails app. And Discourse is quite resource-heavy as all big Rails apps are. @AstonJ has posted this forum’s hosting details in the past. The server is quite beefy.

Sadly there are no good alternatives to Discourse as not many people out there are the retired creators of StackOverflow who can afford to brainstorm and create a new forum from scratch, and take years to do so. We are not Jeff Atwood.

I’d work on commoditising various pieces of software – forums, CRM, bookmarks, budget apps included – in Elixir and/or Rust but alas, I see no benevolent people around who would fund me for years while I’m doing it. :010: It’s the world we live in.

You can draw conclusions how Rails is fantastic if even ElixirForum is based on it, sure. But the truth is, there isn’t much choice of good forum software out there. A lot of people would still use Discourse even if it was written in COBOL.

4 Likes

yes, and Pagerduty, aka, “literally the service that everyone uses to make sure their services are running correctly or else everyone is in trouble”, is Phoenix microservices on top of Kafka.

2 Likes

Exactly Ruby and Django are mature solutions. If Phoenix is that superior then people will replace their setup but without the things I mentioned it will not become mainstream.

No they won’t. There is rarely much to be gained by re-creating something that already works well enough.

2 Likes

You just reminded me of this one stack overflow I started almost 8 years back. Wonder if it’s still an issue.

Job listing?

Yep, and is developed by a few of the best programmers and innovators out there – Jeff Atwood, Robin Wood, Sam Saffron… They have an insane focus on quality, speed, and user experience. So Discourse isn’t something to be discarded out of hand just because it’s not coded in the language one might like.

1 Like

I am not discarding it. I said it is a resource hog and that’s a fact – by the mere virtue of it being a Rails app.

There’s a misunderstanding somewhere. I actually admire Discourse. But I am pretty sure it would have been much more lightweight if it was coded in Phoenix.

from somebody that worked with Django, Rails in the past, I believe there’s absolutely nothing that is makes Django or Rails a deal breaker. Personally I strongly believe that Elixir as a platform enforces best paradigms and code decisions, but, if I have to choose the technology for my next work, I’d let team that is gonna maintain the project which is the best solution.

1 Like

I think both of you are going in the same direction i.e. why one could not easily replace Discourse.

The fact that it is not rewrited in Elixir does not mean, it won’t gain anything from that. ^^

I would say rather not yet necessary as someone said:

1 Like

Yeah, exactly. A lot of effort and money has been poured into Discourse already. Sure it can gain extra efficiency, resilience and not dropping a few requests when under load, if it gets rewritten in Elixir – or in Rust or C++ even! – but at that point Discourse is mature and used enough for a rewrite to be risky and not worth it.

I tried deploying Discourse to a VPS I owned in the past and it was a nightmarish experience though. And may I remind everyone that ElixirForum doesn’t support dark theme because it’s too big a hassle to add that to an existing Discourse installation. :stuck_out_tongue:

So all in all, Discourse is great. But it has some drawbacks like (1) being hard to deploy, (2) being hard to visually customise and (3) being a resource hog.

It still works well enough for a lot of communities to choose it though, and that’s okay.

1 Like

This is actually not the case Dimitar. Discourse uses less server resources, per pageview, than the PHP forums I have run - I posted about this on the Discourse forum too :smiley:

Rails isn’t necessarily a resource hog either, for 90% of sites it is probably more than good enough - it’s just when you get to the scale of Twitter it begins to struggle a bit (but hey, least it can get you there - especially when used in conjunction with things like Redis).

We should probably get back on topic though, of Django vs Phoenix - honestly the best advice I think is that anyone considering either should weigh up what they need from a framework, and then go with whichever suits their needs best :023:

If anybody is interested in continuing the discussion, the points in the first post are a good place to start:

  • Where are they similar?
  • Where do they differ the most?
  • When would you use/recommend either?

:003:

2 Likes

sorry, our pipeline is currently filled, we recruited from local bootcamps, which, if successful will be the way we will proceed moving forward.