Choice of tech stack for discourse if started in 2020

Discourse is built on Rails and Ember, great choices supporting the success of Discourse. However, the choice was made in 2012, I wonder how may the choices be different if the project is started in 2020 ? I wonder what’s the view of discourse dev team on alternative choices:

  • will the faster frameworks/lang like node/go benefit the target use case.
  • will other lighter frontend frameworks (react/vue) or even no front-end framework work better or equally well for discourse ?

I don’t know the value of speculation like this, it is a bit like asking “what if clouds were made of delicious cotton candy, and rain was tasty lemonade” … :wink:

That being said we will continue to iterate on Ember.js to keep it within the performance parameters we require, that’s the main thing I care about! There has been a ton of progress in this area, too! :raised_hands:


I like the fact that your are sharing your suggestions to discourse dev team. :slight_smile:

( My Opinion )
I am working on discourse since last 3 years (Rails & Ember Js) and I was also working on some other projects built in Angular/React etc. I also worked a lot on Canvas LMS ( Rails & React Js. ).

I find the speed & performance of Discourse much better compare to other different big products including lots of open source. Discourse is very fast, so smooth like silk, and robust. The real time events are the magical part of Discourse.

It’s really doesn’t matter a lot now that in which programming language it’s developed. The extraordinary part is that, how intelligently it is developed & everything integrated. It’s the community, who is working day and night to make it better each day.

It’s always best option to improve & optimise what we have.

Just think:
If Discourse is human then Ember.js is it’s blood. But yeah, you can say Ember.js is “A+” type of blood and rest other languages are similar others i.e B, O, AB etc. Conclusion is that, you can give good diet and healthy life to Discourse ( considered as a human ) to keep the blood healthy :wink: in place of changing the whole blood with new type i.e B+. It will not gonna work.

Also, we have bulk of plugins developed in Ember.js for discourse they will also stop working if we will do change the language etc. ( Discourse is in Ember.js afterall )

Please share your thoughts about what’s lacking in it then it will help discourse team to make it better.

Pleas let us know if you saw any criteria before thinking of different language.


We don’t need cars. We need faster horses.


Thanks @codinghorror @ashishprajapati for sharing insights. My question wasn’t meant as suggestion or doubt on choices, but wondered what’s the pro/con you see now in this stage of the project.

I fully echo that choice of framework/language ultimately matters much less than the community and execution.


Thank @hbm for your thoughts and ideas :slight_smile: Yes, I agree.