Когда дело доходит до создания приложения, лучшие разработчики добиваются трех вещей: отличное взаимодействие с пользователем, масштабируемость с течением времени и высокая производительность.
Проекты часто жертвуют одним из них ради достижения двух других. Компоненты сервера React, анонсированные в конце 2020 года, помогут сократить компромиссы за счет включения большего количества функций при одновременном уменьшении количества JavaScript для оценки на клиенте. Это сделает работу пользователя и разработчика более приятной благодаря более высокой производительности.
На высоком уровне серверные компоненты React — это компоненты, которые могут отображаться на сервере и на клиенте. Это позволяет разработчикам создавать приложения, охватывающие обе стороны приложения, чтобы приложение могло обеспечить наилучшее взаимодействие.
Выполняя выборку данных на сервере, React Server Components изменит то, как разработчики создают приложения React. Поскольку код сервера никогда не отправляется клиенту в виде пакета, время, необходимое для взаимодействия с приложением, сокращается.
Это создает среду, в которой мы используем клиент для оптимизации интерактивности и используем сервер для дальнейшей оптимизации производительности.
Компоненты React Server вдохновляют из других технологий, включая PHP, Ruby on Rails и GraphQL. Однако компоненты React Server дают разработчикам больше контроля над тем, что отправляется, а что не отправляется клиенту, что обеспечивает большую гибкость.
Компоненты сервера React отличаются от SSR, но дополняют его. SSR — это все о начальной загрузке страницы, которая отображает элементы HTML. После начальной загрузки страницы React все еще используется на стороне клиента и по-прежнему выполняет то же количество JavaScript. С другой стороны, серверные компоненты React требуют повторного рендеринга с сервера каждый раз, когда делается сетевой запрос. Это позволяет React интеллектуально объединять новые данные с существующими клиентскими компонентами, чтобы клиент никогда не терял свое состояние.
Next.js объединит компоненты сервера React с SSR, чтобы упростить начальный рендеринг в формате HTML, ускоряя неинтерактивное отображение страницы. Из-за минимального количества JavaScript на клиенте также увеличивается время, необходимое пользователю для взаимодействия с сайтом.
Компоненты React Server все еще находятся на этапе RFC. Как и все новые функции, компоненты React Server будут развиваться и меняться по мере проведения дополнительных исследований. Здесь вы найдете обновления о том, как компоненты React Server будут интегрированы с Next.js.
Команда Next.js в Vercel тесно сотрудничает с командой React в Facebook. Компоненты React Server скоро появятся. Мы будем обновлять эту страницу по мере поступления дополнительной информации.