Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<router-view />).Не знаю, в каких случаях реально нужно обходиться без JS. Сейчас даже на недорогих моделях телефонов можно открыть сайт на фреймфорке и без особых тормозов с ним работать.
Я ни разу не встречал живого человека, который был бы одновременно в своём уме и выключал JS в браузере :)
Единственное, с чем глупо не согласиться — скорость первичной загрузки. Но это в случае с SPA мелочь, ради которой не стоит заморачиваться с SSR.
Environment agnostic — тоже не сказал бы. Всё равно для чтения HTML нужен браузер, который поддерживает также и JS, так что никаких дополнительных ограничений, связанных со средой выполнения, JS не накладывает.
В общем, по моему мнению SEO — единственная причина использовать SSR. Я пытался придумать другие реально веские причины для этого, но так ни к чему и не пришёл.
Ну во-первых, около 1% юзеров вообще не получают JS. Делал доклад на эту тему, могу найти пруф.
«Видишь суслика, а он есть» ...
Это вы так сейчас неудачно пошутили? А можете пояснить почему же для SPA — это мелочь? ...
Скрипты для сложных веб-приложений стали весить хренову тучу Мб…
нужно помнить что у вас есть всего 3 секунды, чтобы их заинтересовать
Есть всякие Cordova/Electron/etc. и у них немного разные принципы к построению приложения относительно того же веба ...
Да если рассуждать как вы, то SPA и SEO не нужно. Вы же наверное из тех, кто делает SPA только для кабинетов и админок.))))
В каком плане не получают? Доклад посмотреть было бы интересно, да!
Я и не утверждал, что таких людей нет. Просто их недостаточно много для того, чтобы только ради них внедрять SSR. Конечно, всё будет зависеть от ЦА, но сложно представить такую ЦА, где достаточно большая доля людей без JS.
— скрипты грузятся один раз и кэшируются, то есть при всех последующих загрузках страницы проблем с этим не будет
— в SPA нет явных физических переходов между страницами сайта/приложения, поэтому потерпеть придётся всего один раз при открытии ресурса
Это легко решается с помощью code splitting в webpack. То есть я не утверждаю, что проблемы нет, но есть более простые альтернативные способы их решения. SSR же — стрельба из пушки по воробьям.
Ну для таких целей подозреваю (не уверен), что можно просто делать разные сборки одного и того же приложения. К тому же они будут существовать параллельно с SSR, так как они вообще не имеют прямого к нему отношения. Ну и JS эти технологии прекрасно исполняют (иначе зачем они вообще), так что это принципе не аргумент в данном случае.
Зачем же вы так меня обижаете :(
Я, наоборот, топлю за то, чтобы вообще любой проект сложнее бложика делать как SPA, а проблемы с SEO решать серверным рендерингом. При должной квалификации разработчиков в человекочасах потерь не будет (скорее наоборот), зато UI/UX получит значительный прирост.
Вообще, мой посыл не совсем в том, что не надо использовать SSR для чего-либо кроме SEO. Я говорю о том, что все остальные проблемы, которые решает SSR не стоят того, чтобы его внедрять, так как можно обойтись меньшей кровью.
Но с другой стороны SSR достаточно один раз настроить и потом везде использовать без дополнительных затрат, и все новые проекты лично я бы всегда делал с поддержкой SSR, так как мне, как разработчику, у которого есть для этого готовое решение, это ничего не стоит.
Другое дело пересаживать на SSR какой-то существующий фронтенд, тут всё значительно сложнее.
По первым двум абзацам. На самом деле просто надо взвешивать все за и против на конкретном проекте. Сложно говорить об этом всём абстрактно.
Я просто хотел показать, что есть другая сторона, которая тоже имеет право на существование.
Идея с автопереключением SSR и SPA. Интересно, но оно того стоит? Можно просто рендерить на сервере всегда, так как это никому не приносит неудобств, кроме сервера. А если сервер начинает от этого уставать, то можно кешировать.
Про SSR — как ни крути, а это не то же самое, что мы делаем при построении старого доброго бэкенда с шаблонизаторами, jQuery и пр.
Про SEO — да, я признаю, что это субъективно. И да, SSR решает все проблемы разом, с этим я вообще не спорил.
А чем это не тоже самое?
Я о том, что просто нужно взвешивать целесообразность внедрения SSR с точки зрения трудозатрат. Чем сложнее проект и чем больше в нём legacy кода, тем больше человекочасов займёт внедрение SSR.
Ну как минимум тем, что фронтенд и бэкенд не пересекаются и гораздо более явно разделены.
Ха-ха, ну вы уже давно как матёрый разработчик)
А сервера на C/C++ я вообще вживую ни разу не видел. Слышал только, что до появления PHP только на них и писали.
А так да, я понимаю, что были и раньше способы. Но сейчас они становятся «народными» и большее количество людей начинает их использовать.
Server side rendering на Vue.js