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 like the fact that your are sharing your suggestions to discourse dev team.
( 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.
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 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.