реклама
разместить

Разработка фронтенда ИТ-продукта: какой подход выбрать исходя из задач бизнеса

Подход к разработке фронтенда в продукте – уже давно не прихоть разработчика, а инструмент для решения бизнес-задачи. Расскажем простыми словами, почему это так, как выбор подхода зависит от назначения продукта, и приведем примеры.

Разработка фронтенда ИТ-продукта: какой подход выбрать исходя из задач бизнеса

Сразу оговоримся, что в этой статье не рассматриваются варианты использования конструкторов сайтов вроде Tilda или Webflow. Мы работаем с заказчиками, запросы которых эти инструменты покрыть не в состоянии. Поэтому речь пойдет о разработке более сложных ИТ-продуктов: highload проектов, личных кабинетов в B2B и автоматизации бизнеса.

Личные кабинеты, онлайн-сервисы, веб-приложения: клиентский рендеринг

Поговорим о приложениях, в которые пользователь заходит через логин: личный кабинет, внутренняя корпоративная система, CRM, ERP. Сюда же – интернет-банк, веб-интерфейс почты, личный кабинет на Озоне или Госуслугах, лента и переписка в соцсетях. Пользователь в таких приложениях видит данные, актуальные только для него. А индексация поисковиками для этих данных не нужна, поэтому используется метод клиентского рендеринга.

Среди наших приложений, основанных на клиентском рендеринге: например: личный кабинет для ЖК «Ньютон», система «Цессионарий».

Клиентский рендеринг (client side rendering) или SPA (Single Page Application) – метод, при котором браузер загружает основную структуру страницы и код приложения один раз и генерирует HTML код страницы в самом браузере на устройстве пользователя.

Далее при взаимодействии с пользователем браузер обращается в один или несколько API за дополнительными данными и динамически обновляет HTML без необходимости полной перезагрузки страницы. В результате, когда пользователь решит перейти в другой модуль, браузер откроет его практически мгновенно.

Схема работы клиентского рендеринга
Схема работы клиентского рендеринга

Фронтенд при клиентском рендеринге выполняется в браузере, а бекенд API поставляет данные. Организационной плюс в том, что фронтенд команда при таком подходе полностью контролирует всю логику интерфейса и может изменять ее без привлечения бекенда.

Когда такие приложения становятся достаточно большими, первая загрузка приложения может растянуться на несколько секунд. Это минус, если сервис вы открываете много раз день (почта или CRM).

Ускорить процесс помогает кеширование кода приложения в браузере. Код сохраняется, и отпадает необходимость загружать его снова каждый раз.

Можно загружать код и по частям. Например, сначала – код для отображения открытого раздела приложения, с которым пользователь взаимодействует, а остальной код загружается уже после.

С клиентским рендерингом одна проблема — он не годится для проектов, требующих SEO-оптимизации. Поисковики плохо индексируют страницы, которые рендерятся в браузере, поэтому для SEO стоит применять другую архитектуру фронтенда.

PWA: вернуть пользователям мобильный сервис, даже если приложение удалили из сторов

Отдельно отметим Progressive web apps (PWA): набор технологий, позволяющий максимально приблизить веб-приложения к привычным мобильным приложениям. Такой подход актуален сейчас, когда приложения регулярного удаляются из App Store и Google Play, а ограничить установку PWA-приложения не может никто.

Установка PWA на мобильное устройство
Установка PWA на мобильное устройство

PWA позволяет добавить ярлык приложения на рабочий стол телефона, работать без интернета, получать push-уведомления. Подход полезен также в случаях, когда делать отдельные мобильные приложения для iOS и Android в дополнение к веб-сервису слишком накладно или сложно.

Контентные порталы, медиа, блоги: статическая генерация сайта

На какие проекты пользователи привлекаются с помощью SEO? Как правило, это контентные ресурсы, где новые материалы регулярно публикуются и затем хранятся в архиве, генерируя трафик. Примеры: онлайн-медиа, журналы, блоги, каталоги продукции компаний, тематические информационные порталы.

Чтобы поисковики лучше индексировали сайт, HTML разметка для каждой его страницы должна отдаваться с сервера. Быстрота загрузки, как и качественное наполнение веб-страницы, влияет на ее позицию в выдаче поисковика. Поэтому важно, чтобы сайт загружался быстро – и на сервере, и в браузере.

Статическая генерация сайта (static site generation или SSG) – подход, при котором HTML код страниц генерируется один раз в момент публикации и сохраняется на сервере. Изменения в этой публикации не появляются (либо появляются очень редко), поэтому генерация «статическая». Дальше сервер будет моментально отдавать HTML код готовой страницы пользователям и поисковикам, гарантируя быструю загрузку страницы.

Схема работы статической генерации контента
Схема работы статической генерации контента

Для отдачи статического сайта не нужен мощный сервер, ведь основная нагрузка происходит только в момент публикации статьи. Дополнительно можно выложить статический сайт на CDN, чтобы еще больше ускорить загрузку страниц. Подробнее о применении CDN в создании порталов читайте в другой нашей статье.

Часть страниц ресурса со статической генерацией все-таки должна обновляться. Например, в онлайн-медиа динамичной будет главная страница, страница новостей. Для таких разделов можно настроить частоту обновления статического HTML-кода или обновлять их при определенных событиях. Например, для срочных новостей.

Headless CMS: конструктор и API для контента

Портал, предназначенный для публикации большого количества индексируемого контента, с использованием статической генерации – это хорошо. Однако контент нужно редактировать и хранить. Для этого мы используем Headless CMS. Например, Strapi.

Отличие Headless CMS от предыдущего поколения CMS вроде Битрикс или WordPress в том, что они не генерируют HTML-код страниц сами, а просто предоставляют контент через API в структурированном виде.

Как работает Headless CMS
Как работает Headless CMS

Один и тот же контент из Headless CMS таким образом можно переиспользовать под различные каналы. Например, на сайте, в мобильном приложении или в email-рассылке.

Headless CMS позволяет выбирать любой фронтенд-стек или технологии для создания пользовательского интерфейса, независимо от бекенда.

Другой плюс – проекты на Headless CMS может делать фронтенд- разработчик целиком. В нашей команде фронтенд разработчики сами настраивают структуру контента в Headless CMS и интегрируются с ней — этому достаточно легко научиться. Не нужно дополнительно привлекать, например, PHP бекенд-разработчика, как при разработке на Битрикс или WordPress.

Динамические интернет-магазины и пользовательский контент: серверный рендеринг

Контент, который часто публикуется и обновляется на портале, тоже может требовать индексации и непрерывного поддержания актуальности. Например, так происходит в онлайн-магазинах, где часто меняются цены, актуальные позиции или скидки (привет, Озон!). Другой пример – сайты, где в основе пользовательский контент — форумы и площадки с объявлениями, типа hh.ru или Авито.

Для таких сервисов статическая генерация не очень подходит, ведь важно всегда отображать самую актуальную информацию. Большое количество контента генерировать статически не практично: полная перестройка может занять часы и дни, а на хранение потребуются многие терабайты. Поэтому используется метод серверного рендеринга.

Как работает серверный рендеринг
Как работает серверный рендеринг

Серверный рендеринг (server side rendering / SSR) – подход, в котором страница генерируется на сервере при каждом запросе от пользователя.

Основная особенность серверного рендеринга – нужно значительно больше серверных ресурсов, чем при статической генерации, ведь каждый запрос обрабатывается отдельно. Для оптимизации использования ресурсов разумно применять различные стратегии кеширования.

Из этого вытекает потребность в более опытной и дорогой команде разработки.

Гибридные подходы

Не стоит думать, что при создании сложного сайта нужно ограничиваться только одним подходом к формированию и загрузке страниц. Можно и нужно порой делать гибридные модели.

Самый частый и простой случай: догрузить в браузере динамических или персонализированных данных на статически сгенерированную страницу.

Так, на сайте нашего проекта для Crystal Palace FC большинство контента генерируется статически. При этом отдельные блоки рендерятся в браузере. Это, например, индивидуальные для пользователя блоки или очень динамические сегменты.

Пример гибридного подхода 
Пример гибридного подхода 

Другой пример – использовать статическую генерацию и клиентский рендеринг для различных разделов сайта.

На одном из наших фронтендерских проектов – Seller Drive – портале для поставщиков Emex DWC, стартовая страница портала – индексируемая и общедоступная, поэтому реализована на статическом рендеринге. А вот личный кабинет, который становится доступен пользователю после аутентификации, мы построили уже на базе клиентского рендеринга.

Совмещение подходов помогает веб-сервису быть более производительным.

Этой цели служат и другие решения, выходящие за рамки фронтенда – они помогают сервису стать более масштабируемым и устойчивым к высоким нагрузкам. Подробнее об этом читайте в другой нашей статье.

Что подойдет моему проекту

Чтобы выбрать самый эффективный подход, стоит на этапе переговоров с подрядчиком быть максимально честным. Как на приеме у доктора. И здесь главное для клиента приходить с запросом не в виде решения («Разработайте мне новый сайт»), а в виде описания своей боли («Мой старый сайт совсем не приносит денег, помогите»).

Добросовестный подрядчик не станет слепо предлагать заказчику свою стандартную архитектуру или «пакет услуг», а постарается понять задачу. Поэтому свою «боль» клиенту стоит описать честно и без утайки деталей. Так подрядчик с большей вероятностью сможет разобраться в проблеме и предложить решение, которое закроет потребность клиента.

2323
реклама
разместить
Начать дискуссию
Одни запрещают, другие просят: компании начали искать «вайб-кодеров» — разработчиков, которые «оркестрируют кодом с помощью ИИ»

«Никакой возни с синтаксисом — только промпты, итерации и вайб».

Источник фото: Getty Images
77
66
22
"благодаря ИИ команда из десяти разработчиков может создать то, для чего раньше понадобилось бы 50-100 человек" - превратить проект в неподдерживаемое легаси за неделю?
реклама
разместить
Пошаговый гайд по созданию лендинга с помощью AI

________________
Время создания сайта: 40 минут
Стоимость: 1000 руб
________________

▪— Планирование и структура
▪— Генерация сайта в Durable
▪— Наполнение контентом
▪— Кастомизация
▪— Публикация сайта

Пошаговый гайд по созданию лендинга с помощью AI
66
55
33
11
Как заработать на курсе по подготовке к ЕГЭ по информатике с помощью закрытого Telegram-канала

Арсений работает репетитором по информатике с 2020 года. В какой-то момент он устал оплачивать рекламу, чтобы найти новых клиентов, и решил искать их через соцсети. Постепенно большая часть его работы переехала в Telegram. Поговорили с ним о том, как монетизировать образовательный курс через закрытый Telegram-канал.

Как заработать на курсе по подготовке к ЕГЭ по информатике с помощью закрытого Telegram-канала
11
Зато не в найме: Делаю 70к в месяц на шоколаде ручной работы. Пошаговый план с цифрами.

Если всегда хотели свободный график, работать из дома и чтобы у вас всё было в шоколаде — вы по адресу. Мы разобрали данный бизнес по шагам и приоткрыли ширму сладкой мини-империи.

Зато не в найме: Делаю 70к в месяц на шоколаде ручной работы. Пошаговый план с цифрами.
2727
77
33
«Если вам не нравится, не покупайте, но машины сжигать-то зачем»: Илон Маск — о вандализме, «легионе» роботов и призыве «держаться за акции»

Предприниматель провёл внеплановое собрание с сотрудниками Tesla.

Источник: Getty Images
1111
77
Маск стал проблемой для глобалистов, они хотят уничтожить его бизнес, лишить его средств, либо поставить на колени. Если он не подчинится, в следующий раз когда демократы придут к власти, он может забыть про все правительственные контракты, они сделают все чтобы создать ему проблем.
Разработка Telegram Mini Apps в 2025: популярные направления

Подготовили актуальные направления для разработки TMA на рынке с анализом данных, чтобы вам было легче ориентироваться с выбором категории при поиске ниши.

Разработка Telegram Mini Apps в 2025: популярные направления
Падение турецкой лиры после ареста мэра Стамбула стало худшим для валюты с 2023 года — Bloomberg

Фондовый рынок страны потерял около $30 млрд капитализации.

33
реклама
разместить
«У иностранцев начали отбирать бренды в России»: что на самом деле случилось с Ericsson и что это теперь значит для нас с вами

Вчерашнее утро началось с громких заголовков. Сегодня разберемся, что реально произошло и где ошиблись журналисты.
Можно ли теперь забрать иностранный бренд себе и где встать в очередь за Apple, если да — смотрим, чем на практике пригодится эта история нашим предпринимателям.

«У иностранцев начали отбирать бренды в России»: что на самом деле случилось с Ericsson и что это теперь значит для нас с вами
1515
22
OpenAI выпустила модели для озвучивания текста и создания голосовых помощников с поддержкой русского языка

Они доступны разработчикам и в бесплатной демоверсии.

1616
66
Что пошло не так с NUUM: разбираем ошибки и уроки от провала платформы

В декабре 2023 года МТС решила бросить вызов YouTube и TikTok и запустила амбициозный видеосервис NUUM, вложив в него около 6 миллиардов рублей. Новый проект обещал объединить в себе лучшее из двух миров: длинные видеоролики, короткие вертикальные клипы и стримы для молодежной аудитории. Но спустя чуть больше года, несмотря на громкие обещания и ма…

Что пошло не так с NUUM: разбираем ошибки и уроки от провала платформы
44
22
11
[]