Open sk1e opened 4 years ago
Да, в этом что-то есть. На большинстве проектов SSR не нужен, поэтому имеет смысл его выпилить, но оставить где-то ветку с полностью настроенным и пригодным к употреблению SSR.
Возможно стоит обсуждать этот момент на старте с заказчиками, типа есть 3 варианта:
Ещё есть вариант с использованием сервисов по пререндеру https://habr.com/ru/post/418619/ https://habr.com/ru/company/renderjs/blog/327612/ Кто-нибудь изучал/пробовал?
Кстати да, есть еще вариант юзать prerender-spa-plugin
, вставляешь его в вебпак конфиг и получаешь отрисованные странички. Но это как бы не совсем SSR, сервера нет и мы не можем динамическое что-то воткнуть в странички.
Я изучал темы по пререндеру около 3-х лет назад, все было плохо и поисковики в итоге херовато с ними работали.
Мне кажется, что SSR тут не надо выпиливать потому что он заствляет все вносимые в starter-kit свистопердерелки учитывать SSR, а значит, что все используемые здесь подходы не только подтвердили, что их можно подключить с имеющимся SSR, но и сразу примеры такого подключения.
Я изучал темы по пререндеру около 3-х лет назад, все было плохо и поисковики в итоге херовато с ними работали.
3 года это достаточно большой срок чтобы продвинуться. Возможно стоит снова изучить
Мне кажется, что SSR тут не надо выпиливать потому что он заствляет все вносимые в starter-kit свистопердерелки учитывать SSR, а значит, что все используемые здесь подходы не только подтвердили, что их можно подключить с имеющимся SSR, но и сразу примеры такого подключения.
То, что можно накидать костылей в несколько слоев - не значит что мы движемся в верном направлении. Я не работал сам с SSR, но слушал рассуждения на собеседовании где ребята долго обсуждали какимии хаками они решали ту или иную проблему и всё это довольно грустно звучало, совершенно не хотелось бы с таким работать. Причём ломается на любой чих, судя по ПР с выпилом jss
Ну на самом деле ты преувеличиваешь :) То, что JSS не приспособлен к SSR как раз пример сложной проблемы, когда вроде все в начале работает, но под хорошими объемами начинает лагать. Там кстати и на клиентской стороне стили лагали те вроде бы, так что там не стольо SSR виноват, сколько лагучесть рантайма JSS с кучей динамических значений. Хаки там далеко не везде, большинство задач вполне нормально решаются, просто их надо учитывать. Хак я вспоминаю только с ожиданием саг.
@Znack что по поводу самого смысла использования SSR? На проектах, где я был он не нужен был. Кому вообща нужна индексация поисковиками, если мы создаём SPA по автоматизации бизнес-процессов, а не публикации контента, который важно индексировать?
Ну на самом деле ты преувеличиваешь :) То, что JSS не приспособлен к SSR как раз пример сложной проблемы, когда вроде все в начале работает, но под хорошими объемами начинает лагать. Там кстати и на клиентской стороне стили лагали те вроде бы, так что там не стольо SSR виноват, сколько лагучесть рантайма JSS с кучей динамических значений. Хаки там далеко не везде, большинство задач вполне нормально решаются, просто их надо учитывать. Хак я вспоминаю только с ожиданием саг.
Тут немного не соглашусь.
Когда ты пишешь для ssr, нужно помнить довольно много ограничений и закрывать их костылями, которыми в итоге обрастаешь с завидной скоростью :)
Про jss и ssr.
Там проблема была не в лагучести рантайма, а в кривой реализации самого JSS, который при рендере на сервере и на клиенте по разному инкременил имена классов.
А причина лагов была иной и можно было написать с применением jss, но без лагов (ну почти без них). Просто то что везде выставляется как преимущество jss, в итоге оказалось самым слабым местом (это я про динамические стили от пропсов).
По поводу костылей можно пообщаться с @DYAPIK , он в свое время адаптировал даталайт под SSR, и помимо затыка с jss, на сколько я помню, было много разного.
SSR значительно усложняет инициализацию приложения, его архитектуру и разработку.
Учитывая что целевым сегментом с нашей архитектурой и стеком являются сложные приложения автоматизирующие бизнес-процессы, SEO самих приложений редко имеет смысл, а проиндексировать можно и лендинг который можно отдельно раздавать отрендеренным.
Скорость загрузки также неактуальна. Через code splitting всё весьма быстро работать будет.
Предлагаю выпилить весь относящийся к SSR код.
Если я что-то упускаю - объясните пожалуйста.