Pour être honnête, le front-end de Discourse est incroyablement gonflé. J’ai déjà utilisé une plateforme de forum basée sur Go qui n’avait pas de compilation front-end. Principalement parce que tout le CSS et le JS requis étaient suffisamment petits pour être facilement servis avec le HTML de la page. Cela fonctionnait bien mais n’était pas FOSS et n’est plus disponible. Le fait que vous ayez besoin de « compiler » un front-end pour Discourse me semble être un anti-pattern.
Hmmm, il y a des gens très intelligents dans le projet, donc je me méfierais de faire des remarques généralisantes et désobligeantes. Il y a toujours des raisons nuancées pour des choses auxquelles une équipe de personnes intelligentes a profondément réfléchi.
Discourse est une application web sophistiquée avec une interface très conviviale, semblable à une application native. Impossible à implémenter dans un navigateur sans une utilisation intensive de JavaScript, à moins que vous ne vouliez que votre page se rafraîchisse régulièrement toute la journée ? (Ce qui impose une énorme charge à votre serveur web par la même occasion !)
La « compilation » inclut la minification pour réduire les téléchargements afin d’aider les connexions Internet lentes et l’empreinte mémoire du navigateur. Difficilement controversé ?
Il y a aussi une certaine transpilation pour convertir une partie d’Ember en JavaScript natif, je crois. Idem.
Comme nous n’avons pas l’intention de réécrire l’application en Rust ou en Go, je pense que cette conversation est un peu sans objet.
Je vais clore ce sujet maintenant. ![]()