Я создаю проект, ориентированный на сообщество, и Discourse выглядит для этого идеальным решением.
Однако в будущем я планирую перенести сообщество в кастомное приложение. Интересно, делал ли кто-то это раньше и насколько это сложно или просто. Не хочу оказаться в ловушке экосистемы.
Это зависит от того, что именно подразумевается под фразой «перенести сообщество в кастомное приложение позже».Если вы хотите мигрировать с Discourse на собственную базу данных, бэкенд, фронтенд и так далее, то решением будет миграция данных.Если же вы планируете продолжать использовать данные и бэкенд-слой Discourse, применяя его как headless-сервис, и написать новый фронтенд, который будет потреблять существующие API, это также возможно и уже реализовывалось ранее.Однако стоит учесть, что Discourse — это ОГРОМНАЯ система, действительно ОГРОМНАЯ. Например, функция чата — это масштабный проект, и при этом она составляет лишь крошечную долю от того, что представляет собой Discourse.Переписывание этих интерфейсов определённо будет ощущаться как изобретение велосипеда, и когда все эти функции станут привычными для вашего сообщества, будет сложно перейти на кастомное приложение, в котором их не будет.
Огромное спасибо за ваш ответ. У вас есть какие-либо примеры или кейсы на эту тему? Какие-либо сайты или приложения, использующие Discourse в headless-режиме?
Это потрясающе! Большое спасибо за то, что поделились этим.
Я читал обсуждения людей, которые пытаются создать полноценную социальную сеть на платформе Discourse. Если у вас есть примеры таких проектов, пожалуйста, дайте мне знать. Я пока не встречал серьёзных реализаций Discourse в вебе, которые не выглядели бы как форум.
Я бы также добавил огромные нетехнические вызовы: завоевание внимания, привлечение пользователей, распространение информации, маркетинг… набор функций — что именно вы предлагаете, что нельзя получить в популярных приложениях? И ещё финансы… время…
По крайней мере, форумы могут занять небольшие ниши, чтобы привлечь аудиторию… и не требуют огромного штата сотрудников.
Всё равно стоит попробовать: кто не рискует, тот не пьёт шампанское! (И, возможно, ничему не научится!)
Не мог бы ты поделиться своими выводами? Есть ли у тебя представление о том, насколько сложно разрабатывать функции простой и средней сложности? Я предполагаю, что разработчикам нужен опыт работы со стеком технологий. Но затем им предстоит разобраться в принципах работы платформы, а уже потом приступать к решению задач и реализации. Помимо примеров, приведённых в комментариях, часто ли это встречается? Почему да или почему нет?
Дублирование влечёт за собой накладные расходы на поддержку, включая необходимость адаптироваться к критическим изменениям в ядре.
Кроме того, если выйти за пределы экосистемы, вы не сможете использовать плагины или компоненты тем, чёрт возьми!
Разве не гораздо проще реализовать всю логику вашего сообщества с помощью Discourse «как есть» (для подавляющего большинства случаев), добавляя необходимые кастомизации через темы и плагины?
В качестве доказательства достаточно посмотреть на множество компаний, использующих Discourse для управления сообществами.
Не поймите меня неправильно, здесь нет идеального правильного ответа. Возможно, вы сможете это реализовать, но имейте в виду риски, компромиссы и затраты.