Discourse построен на Rails и Ember — отличный выбор, способствовавший успеху проекта. Однако этот выбор был сделан в 2012 году. Интересно, как бы изменились решения, если бы проект запускался в 2020 году? Мне любопытно, какова позиция команды разработчиков Discourse относительно альтернативных вариантов:
принесут ли выгоду для целевого сценария использования более быстрые фреймворки/языки, такие как Node.js или Go?
будут ли другие более лёгкие фреймворки для фронтенда (React, Vue) или даже отсутствие фреймворка для фронтенда работать лучше или так же эффективно для Discourse?
Я не вижу ценности в таких спекуляциях, это немного похоже на вопрос «а что, если облака состоят из вкусной ваты, а дождь — из вкусного лимонада» ..
Тем не менее, мы продолжим совершенствовать Ember.js, чтобы он соответствовал требуемым параметрам производительности — это главное, что для меня важно! В этой области также был достигнут огромный прогресс!
Мне нравится, что вы делитесь своими предложениями с командой разработчиков Discourse.
(Моё мнение)
Я работаю с Discourse уже три года (Rails и Ember.js), а также занимался другими проектами на Angular/React и т.д. Кроме того, я много работал над Canvas LMS (Rails и React.js).
Я считаю, что скорость и производительность Discourse значительно лучше, чем у других крупных продуктов, включая множество проектов с открытым исходным кодом. Discourse работает очень быстро, плавно, как шёлк, и надёжно. Настоящее время — это волшебная часть Discourse.
Сейчас уже не так важно, на каком языке программирования он написан. Особенность заключается в том, насколько умно он разработан и как всё интегрировано. Именно сообщество, работающее день и ночь, делает его лучше с каждым днём.
Всегда лучше улучшать и оптимизировать то, что уже есть.
Просто представьте:
Если Discourse — это человек, то Ember.js — его кровь. Да, можно сказать, что Ember.js — это кровь типа «A+», а остальные языки — аналоги, например, B, O, AB и т.д. Вывод таков: лучше обеспечить Discourse (рассматриваемого как человек) хорошим питанием и здоровой жизнью, чтобы кровь оставалась здоровой, чем полностью заменять её на новый тип, например, B+. Это не сработает.
Кроме того, у нас есть множество плагинов, разработанных на Ember.js для Discourse; они перестанут работать, если мы сменим язык и т.д. (В конце концов, Discourse написан на Ember.js).
Пожалуйста, поделитесь своими мыслями о том, чего не хватает, — это поможет команде Discourse сделать проект ещё лучше.
Дайте знать, если вы заметили какие-либо критерии, прежде чем рассматривать другие языки.
Спасибо @codinghorror и @ashishprajapati за обмен мнениями. Мой вопрос не был призван предложить что-то или выразить сомнение в принятых решениях, но я хотел бы узнать, какие плюсы и минусы вы видите на данном этапе проекта.
Я полностью поддерживаю мысль о том, что выбор фреймворка или языка программирования в конечном итоге имеет гораздо меньшее значение, чем сообщество и качество реализации.