Grazie a tutti.
L’avevo già letto, ma sono felice di avere la conferma che non è possibile aggiungere add-on Ember fino al completamento di tale aggiornamento. Quindi sembra che l’aggiunta di add-on Ember diventerà possibile a breve, una volta completato l’aggiornamento. E questo è un ottimo risultato.
Penso che sia una domanda interessante. Ecco il mio punto di vista:
Per quanto riguarda l’uso della “roba astratta” di Discourse rispetto agli add-on Ember: potrei sbagliarmi, ma penso che utilizzare add-on Ember per compiti specifici nei plugin possa essere più facile da mantenere, nei casi in cui si cerca di fare qualcosa di diverso da ciò che Discourse fa già. Ecco il mio ragionamento:
L’esempio qui è voler aggiungere un nuovo menu a discesa in un plugin. Questa distinzione è probabilmente importante: sto parlando di cercare di fare cose nuove in un plugin che non sono già presenti nel codice di Discourse, e la domanda è se iniziare con i metodi di Discourse o con un add-on separato.
Spesso non si ha davvero scelta. Ad esempio, se volessi aggiungere un campo personalizzato ai topic, mi baserei sempre sui metodi e sul codice preesistenti di Discourse.
Ma se si tratta di una funzionalità mirata, come un menu a discesa per un nuovo scopo, mi troverei già in una situazione in cui, se usassi i metodi di Discourse, li adatterei a scopi per cui non erano stati pensati.
Opzione 1: Potrei provare a prendere il codice select-kit che vedo, ad esempio, in category-chooser, inserirlo in una nuova posizione (non relativa alle categorie) e poi cercare di personalizzarlo per adattarlo a ciò che voglio che il menu a discesa faccia, invece che alle categorie. Questo è il compito che ho descritto prima come complicato.
E potrebbe essere difficile da mantenere: perché se il team di Discourse modifica qualcosa nel funzionamento del codice select-kit di category-chooser, ciò potrebbe alterare il mio nuovo menu a discesa personalizzato, ma in modi imprevedibili (poiché lo avevo personalizzato in modo che funzioni leggermente diversamente dal menu a discesa di category-chooser).
Opzione 2: Potrei inserire qualcosa di Ember che sia robusto ma anche progettato per essere personalizzato, dove posso vedere chiaramente come funziona effettivamente il codice. In tal caso, potrei perdere alcune nuove funzionalità interessanti che Discourse potrebbe aggiungere ai suoi menu a discesa, ma riuscirei a tenere sotto controllo il funzionamento del mio menu a discesa più facilmente. Quindi questa è probabilmente l’opzione migliore, penso, se è possibile.
Opzione 3: Scriverlo interamente da zero. È qui che tendo a finire. Quando la codifica è completata, è piacevole avere un codice che comprendo appieno e posso personalizzare. Ma ovviamente ci vuole più tempo, e (almeno nelle versioni iniziali) è improbabile che sia potente e robusto quanto quello costruito dal team di Discourse o dal team di Ember.