Discourse está construido sobre Rails y Ember, excelentes opciones que han apoyado el éxito de Discourse. Sin embargo, la decisión se tomó en 2012; me pregunto cómo podrían ser diferentes las opciones si el proyecto hubiera comenzado en 2020. Me pregunto cuál es la postura del equipo de desarrollo de Discourse sobre alternativas:
¿Beneficiarían frameworks/lenguajes más rápidos como Node o Go al caso de uso objetivo?
¿Funcionarían mejor o igual de bien otros frameworks frontend más ligeros (React/Vue) o incluso la ausencia de un framework frontend para Discourse?
No sé cuál es el valor de una especulación como esta; es un poco como preguntar «¿y si las nubes estuvieran hechas de algodón de azúcar delicioso y la lluvia fuera limonada sabrosa?» ..
Dicho esto, seguiremos iterando en Ember.js para mantenerlo dentro de los parámetros de rendimiento que necesitamos; ¡eso es lo que más me importa! ¡También ha habido un montón de progreso en esta área!
Me gusta que compartas tus sugerencias con el equipo de desarrollo de Discourse.
(Mi opinión)
He estado trabajando en Discourse durante los últimos tres años (Rails y Ember.js), y también he trabajado en otros proyectos construidos con Angular/React, etc. Además, he trabajado mucho en Canvas LMS (Rails y React.js).
Considero que la velocidad y el rendimiento de Discourse son mucho mejores en comparación con otros grandes productos, incluidos muchos de código abierto. Discourse es muy rápido, tan suave como la seda y robusto. Los eventos en tiempo real son la parte mágica de Discourse.
En realidad, ahora no importa tanto en qué lenguaje de programación está desarrollado. Lo extraordinario es la inteligencia con la que está construido y cómo todo está integrado. Es la comunidad la que trabaja día y noche para mejorarlo cada día.
Siempre es la mejor opción mejorar y optimizar lo que ya tenemos.
Solo piensa:
Si Discourse fuera un ser humano, Ember.js sería su sangre. Pero sí, podrías decir que Ember.js es un tipo de sangre “A+”, mientras que los demás lenguajes serían tipos similares, como B, O, AB, etc. La conclusión es que, en lugar de cambiar toda la sangre por un tipo nuevo, como B+, es mejor darle una buena dieta y una vida saludable a Discourse (considerado como un ser humano) para mantener la sangre sana No funcionaría cambiarla por completo.
Además, tenemos una gran cantidad de plugins desarrollados en Ember.js para Discourse; dejarían de funcionar si cambiáramos el lenguaje, etc. (Después de todo, Discourse está construido en Ember.js).
Por favor, comparte tus pensamientos sobre lo que le falta, ya que eso ayudará al equipo de Discourse a mejorarlo.
Háznos saber si has identificado algún criterio antes de considerar un lenguaje diferente.
Gracias @codinghorror@ashishprajapati por compartir sus perspectivas. Mi pregunta no pretendía ser una sugerencia ni poner en duda las decisiones, sino que me preguntaba cuáles son las ventajas y desventajas que ven en esta etapa del proyecto.
Coincido plenamente en que la elección del framework o lenguaje importa mucho menos que la comunidad y la ejecución.