Появление фронтенда было ошибкой. Что вам мешало генерировать статику в бэкенде? Сколько ГЛУПЫХ ошибок было было бы легче отладить, они бы происходили на вашем сервере, а не где-то у клиента в браузере? В редких случаях можно докидывать статику XHR или минимальный websocket клиент. Главное это будет рендериться всегда мгновенно, жрать совсем немного ресурсов как сервера, так и клиента и не будет жрать 100% CPU КРУТЯ АНИМАЦИЮ ЭКРАНА ЗАГРУЗКИ БЕСКОНЕЧНО Т,К ФРОНТЕНД ОБОСРАЛСЯ И НЕ ОБРАБОТАЛ ОШИБКУ.
И не будет нагло лгать пользователю неверной информацией из-за того что фронтендер так заебался разбираться в своём коде, что не смог обработать пустой ответ от бэкенда.
Теперь предыстория этой бомбёжки.
Был у РЖД сайт, продающий билеты. Нормальный сайт. Конечно со фронтендом, но небольшим. Информацию отдавал кусками статики.
Всё было неидеально, но просто работало. В случае ошибок выдавало хотя бы код ошибки с сервера/БД, если это не ошибка пользователя. Не все мелочи были продуманы, но по крайней мере при попытке поиска с 3 до 4 часов ночи писалось, что поиск зарабоатет через час-другой. При ошибке оплаты не выдавало 404, а позволяло оплатить заказ снова. Да и сайт работал во всех браузерах, а не только в последних хромах.
Потом кто-то подумал, что сайт выглядит не модно. Какие-то серые таблички, ничего не светится и не пердит. Хотя сайт к слову выглядел весьма стильно.
Ну и наняли каких-то школьников делать новый фронтенд к старому сайту. Ну и что теперь? А всё вышеперечисленное просто сломано. Сайт работает только когда всё пошло по плану, стоит хоть чему-то пойти не так, так всё ломается!
Недавно покупал билеты. Оплата отлетела с ошибкой. Были вбиты данные пассажиров. После обломившейся оплаты произошёл редирект на страницу на сайте РЖД с paymentFail в ссылке. Разумеется сайт РЖД вместо того, чтобы по этой ссылке вернуться к бронированию, как было раньше выдаёт 404. Все данные о бронировании слетают, надо всё вбивать заранее. Я даже звонил им в поддержку, но этодо сих пор не исправлено.
Далее. Попробуем поискать билеты после 3 часов ночи. Известно, что в некоторые дни поиск в это время не работает.
Фронтенд делает запрос, сервер отвечает 204 с пустым телом, а на экране крутится катях фронтендера с надпись мол идёт поиск.
Через 10 минут вращения этого катяха вокруг центра экрана (видимо фронтендер как-то пытался обработать ошибку, добавив таймер) оно прсото говорит что прямых рейсов по этому направлению НЕТ (ЭТО Ж ДО ЧЕГО СТРАНУ ДОВЕЛИ, ЧТО РАЗОБРАЛИ ПУТИ ПО СТОЛЬ ПОПУЛЯРНОМУ НАПРАВЛЕНИЮ???)
Никаких предупреждений, что поиск временно недоступен, никаких ошибок сервера, ПРОСТО БЛЯТЬ ПРЯМЫХ ПОЕЗДОВ НЕТ!!!
А ещё (когда поиск работает) - он просто не удобен. Строка в результатах в 2 раза выше чем раньше, из-за этого в экран влазит 3-4 результата на ПК. В итоге на просмотр билетов уходит в 2-3 раза больше времени.
Променять старый, хорошо работающий сайт на ЭТО БЕЗОБРАЗИЕ?
А главное, такие проблемы не только на РЖД. Такое происходит практически везде, где какому-то манагеру (ЗДОХНИ ОН МУЧИТЕЛЬНОЙ СМЕРЬЮ ОТ КОМКА СМУЗИ В ГОРЛЕ) приходит в голову что "нууу, сайт какой-то не модный" и нужно нанять школьника фронтендера, чтобы это исправить.
Аргументы про то, что серверу проще жисончик отдать напрямую сформированный из БД, чем генерировать статику - полный бред.
Современные технологии позволяют генерировать текстовые данные и XML(который можно встраивать в DOM как есть) с огромной скоростью.
Есть #rust, в котормо генерировать эту статику можно чуть ли не в компилтайме. Есть современный #c++, который может по шаблонам выдавать строки. Есть #go в конце-то концов. Для адаптивности на клиенте есть всякие css-eval, которые можно применять в меру. Ну есть user-agent'ы в конце-то концов если ваша статика таки в 2023 году где-то ведёт себя по разному. Нет блять надо залить на клиент огромный полуработающий вебпак с кучей говна, который будет делать всё кроме поставленной задачи
Недавно покупал билеты. Оплата отлетела с ошибкой. Были вбиты данные пассажиров. После обломившейся оплаты произошёл редирект на страницу на сайте РЖД с paymentFail в ссылке. Разумеется сайт РЖД вместо того, чтобы по этой ссылке вернуться к бронированию, как было раньше выдаёт 404. Все данные о бронировании слетают, надо всё вбивать заранее. Я даже звонил им в поддержку, но этодо сих пор не исправлено.
Далее. Попробуем поискать билеты после 3 часов ночи. Известно, что в некоторые дни поиск в это время не работает.