SSR-это запуск фронтендового js-фреймворка на ноде заранее,(вместо работы в браузере) и отдача клиенту того что получилось, вместе с фреймворком, дальше все это продолжает работать на клиенте.
на php этого просто нет.
$email = request()->input('email');
$exists = User::where('email', $email)->exists();
if ($exists) {
return 'красивое сообщение об ошибке';
}
User::create(['email' => $email]);
$email = request()->input('email');
try {
User::create(['email' => $email]);
} catch (\Exception $e) {
if ((int)$e->getCode() === 23000) {
return 'красивое сообщение об ошибке';
} else {
Log::error($e);
}
}
you may run multiple personal licensed copies of the IDE at the same time across multiple operating systems (like on laptop and desktop for remote debugging client/server apps).
Взял страницу about с текущего проекта. Там только текст и картинки. Никакой логики нет, никаких обращений на сервер нет.
Положил эту страницу в /pages на nuxt, собрал, запустил через pm2 cluster mode и запустил нагрузочный тест ab -n 1000 -c 100. Результат ~ 200 запросов в секунду.
Теперь я беру эту же страницу, создаю роут в laravel и по адресу /about отдаю ее. Тест ab -n 1000 -c 100 выдает уже ~940 запросов в секунду.
Я, к сожалению, не могу перенести что-то более сложное с nuxt на php, потому что на это нужно время.
Я не могу сравнить и оценить работу рендера nuxt, у меня недостаточный уровень знаний, чтоб открыть исходный код и разобраться в нем, я поверхностно знаком с nodejs.
Поэтому я и обращаюсь сюда с вопросом: почему рендеринг обычной текстовой страницы на php в 4-5 раз быстрее, чем на nuxt? Ну или по-другому: "Действительно ли рендеринг обычной страницы на php в 4-5 раз быстрее, чем на nuxt"? Потому что мне в первую очередь важно понять не почему так, а действительно ли так, потому что у меня подозрения, что это я что-то не так сделал.
Вместо ответа мне предлагают посмотреть на код рендера, использовать кэширование и еще кучу всего.
И ваш ответ я тоже не понимаю. Вы говорите:
Фреймворк - это что? Обработка роутинга, затем запуск кода, выполнение кода, получение каких-то результатов и отдача получившегося клиенту.
Чем запуск js фреймворка на сервере отличается от запуска php фреймворка на сервере? У js фреймворков код хуже написан или nodejs медленнее, чем php?