Gracias a todos.
Ya había visto eso antes, pero me alegra tener la confirmación de que no es posible agregar complementos (add-ons) de Ember hasta que se complete esa actualización. Parece, entonces, que pronto será posible añadir complementos de Ember, una vez finalizada la migración. Eso suena genial.
Creo que esa es una pregunta interesante. Aquí van mis dos centavos:
En cuanto al uso de lo “abstraído” de Discourse frente a complementos de Ember: podría estar equivocado, pero creo que utilizar complementos de Ember para tareas específicas en plugins podría ser más fácil de mantener, en los casos en los que intentas hacer algo diferente a lo que ya hace Discourse. Esta es mi reflexión:
Un ejemplo aquí sería querer agregar un nuevo menú desplegable en un plugin. Esa distinción es probablemente importante: estoy hablando de intentar hacer cosas nuevas en un plugin que no existen en el código base de Discourse, y la pregunta es si comenzar con los métodos de Discourse o con un complemento independiente.
A menudo realmente no tienes opción. Por ejemplo, si quisiera agregar un campo personalizado a los temas, siempre lo haría sobre la base de los métodos y el código predefinidos de Discourse.
Pero si se trata de una funcionalidad específica, como un menú desplegable para un nuevo propósito, ya estaría en una situación en la que, si uso los métodos de Discourse, tendría que adaptarlos a cosas para las que no fueron diseñados originalmente.
Opción 1: Podría intentar tomar el código de select-kit que veo, por ejemplo, en category-chooser, e insertarlo en un nuevo lugar (que no tiene que ver con categorías), y luego tratar de personalizarlo para que se ajuste a lo que quiero que haga ese menú desplegable, en lugar de categorías. Esta es la tarea que describí anteriormente como complicada.
Y podría ser difícil de mantener: porque si el equipo de Discourse cambia algo en la forma en que funciona el código de select-kit de category-chooser, eso podría afectar mi nuevo menú desplegable personalizado, pero de formas que podrían ser inesperadas (ya que lo había personalizado para que funcione de manera ligeramente diferente al menú desplegable real de category-chooser).
Opción 2: Podría insertar algo de Ember que sea robusto pero que también esté diseñado para ser personalizado, donde pueda ver con bastante claridad cómo funciona realmente el código. En ese caso, podría perderme algunas nuevas características interesantes que Discourse agregue a sus menús desplegables, pero podría mantener un control más fácil sobre el funcionamiento de mi menú desplegable. Así que esta es probablemente la mejor opción, creo, si es posible.
Opción 3: Programarlo desde cero. Es a lo que he tendido a llegar. Cuando se termina de programar, es agradable tener un código que entiendo completamente y puedo personalizar. Pero, por supuesto, lleva más tiempo, y (al menos las versiones iniciales) es poco probable que sean tan potentes y robustas como lo que ha construido el equipo de Discourse o el equipo de Ember.