Разработка SEO оптимизированных высокопроизводительных фронтенд приложений на базе 1С-Битрикс.

Клиент vs Сервер

Артем Житник

Артем Житник

Web бурно развивается, предлагая много вариантов для построения приложений, фреймворков, библиотек, архитектур. Выделяются два подхода - генерация контента на сервере, и на клиенте. Каждый имеет свои плюсы и минусы.

На сервере На клиенте
Пример Традиционное Битрикс приложение, построенное на компонентах Одностраничное приложение (SPA) на React
Маршрутизация страниц В Битриксе через механизм ЧПУ Используется браузерный History API
Серверный рендеринг (SSR) Нативный Настраивается отдельно, не всегда очевидно
SEO дружественность Хорошая. Поисковый бот качает контент каждой конкретной страницы без проблем Так себе. Обычное SPA приложение при первом запросе страницы отдает заглушку - каркас страницы, который наполняется контеном на клиенте, путем дополнительных запросов к API
Создание сложных интерфейсов пользователя Затруднено, приводит к запутанному коду, в котором сложно разобраться Отлично подходит. Многие компоненты работают в контексте приложения, а не размазаны по страницам.
Оптимизация клиентской части Ограниченная. Обычно подключаются готовые библиотеки типа jquery, bootstrap, которые содержат много лишнего. Отличная. Используя сборщик, типа webpack, можно оптимизировать js, css, svg и даже растровые картинки если надо.
Порог входа, сложность разработки и развертывания Все просто, можно не быть программистом. Покупается хостинг заточенный под Битрикс, через мастер установки (восстановления) разворачивается проект. Изменения, сделанные в php файлах, отражаются на страницах сразу. Сложнее. Клиентское приложение нужно собирать после изменения в коде. Нужно быть знакомым с javascript, typescript, react, webpack и т.д. Но также нужно ориентироваться и в backend, с которым будет взаимодействовать клиентское приложение.

Существуют так называемые гибридные варианты, сочетающие плюсы упомянутых выше подходов, например next.js, gatsby. В частности next.js делает SSR из коробки. Он может также отдавать если надо, страницы с рендерингом на клиенте как в классических SPA, и даже статические страницы сгенерированные на этапе сборки.

Индустрия явно движется в сторону клиентских приложений, и может быть скоро они станут стандартом, но пока это не так. Стоит хорошо задуматься, стоит ли платить за оптимизацию сборки усложнением развертывания и разработки.

    SPA
    SSR
    SEO
    Битрикс
    React
    Next.js
    Bootstrap
    jquery

©2022 ReactiveBx работает на «1С-Битрикс: Управление сайтом» и Next.js