Уходит ли React от SPA?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В последнее время большинство громких новостей в экосистеме React связаны с Server Components, Server Actions и в целом с Server Side Rendering и Next.js.

И вот вопрос, который беспокоил меня лично — что будет с уже созданными за последние 10 лет Single Page Applications на React? Неужели пора о них забыть? Действительно ли команда разработчиков React теперь занимается развитием только лишь SSR, или всё же в мире SPA тоже происходят обновления и они тоже развиваются?

Я решил взглянуть на список изменений в React 19 через призму применимости этих изменений к SPA. Вот что я отметил:

  • Появился хук useOptimistic: год назад я писал об этом хуке пост в своём телеграм канале. Этот хук позволяет реализовать в React подход Optimistic UI, когда мы отправляем запрос на сервер и сразу обновляем UI, не дожидаясь ответа от сервера, оптимистично предполагая, что ответ будет успешным. Сам этот подход — довольно старый (как и SPA), и призван он решать те проблемы, которые были ещё тогда, во времена jQuery. Поэтому, считаю, что появление этого хука можно смело записать в копилку обновлений, применимых к SPA.

  • Добавлена поддержка meta-тегов: теперь в React-компоненте можно отрисовывать теги <meta>, которые автоматически будут всплывать в секцию <head> вашего документа. Раньше это было в Next.js, а теперь и в обычном SPA-реакте это тоже есть.

  • Поддержка title: то же самое, что и предыдущий пункт: теперь <title> документа меняется прямо из React-компонентов. Чем не SPA-шная фича? :)

    Правда, если быть совсем точным, то <title> там не заменяется со старого на новый, а добавляется к уже существующему. Но мы об этом помолчим и поставим команде React четвёрку за старания))

  • Загрузка через preinit, preload, preconnect, prefetchDNS: целый набор методов для предварительной загрузки (и выполнения) браузером ваших ресурсов. Метод preload, например, позволит заранее подгрузить аудио, шрифты, скрипты, стили и т.д., а preinit позволяет сразу обработать/выполнить загруженный контент. Потенциально это может сильно облегчить жизнь всем, в том числе и SPA.

Кажется, что SPA пока будут жить

Да, у Single Page Applications есть свои минусы: это и долгая загрузка ресурсов, и сложности с SEO, и нюансы с роутингом или историей браузера. Фреймворки вроде Next.js и были созданы отчасти для того, чтобы решить эти проблемы.

Но, судя по количеству применимых к SPA нововведений в React 19, о полноценном отказе от SPA говорить ещё очень рано.

Источник: https://habr.com/ru/articles/870240/


Интересные статьи

Интересные статьи

Создадим прототип SPA в Bitrix без использования популярных JS фреймворков и библиотек, все будет сделано средставами Bitrix.И самое главное без потери серверного рендеринга и SEO страниц.ПогналиВсего...
Технология информационного моделирования постепенно захватывает рынок. Инженеры все чаще проектируют в Revit, NanoCAD, Renga и других аналогичных системах. И мы хотим доказать: BIM (информационно...
Доброго времени суток. При работе с Bitrix-инфраструктурой в определенный момент вы можете столкнуться с проблемой увеличения времени открытия различных страниц на вашей площадке (сайте), медленн...
Приятно познакомиться, мы битриксоиды. Да-да, те самые которые:- вообще не модные,- пишут НЕ на Laravel и Symphony,- возятся с кучей мягко говоря “неидеального” кода под названием “1С-Битрикс: Управле...
Для людей, работа которых связана с использованием сети Интернет, расширения браузера могут быть очень полезными инструментами. С помощью них можно избавить пользователя от повторения одних и тех...