К основному содержимому
к презентации
Конспект выступления2020CTO

Мир web'а в эпоху mobile first

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

GDG Party3 минуты

Конспект сокращён относительно исходного материала; примеры и оценки передают опыт и позицию автора.

Основная линия материала
01

Мобильный продукт меняет путь привлечения клиента

Приведённая статистика 2020 года показывает широкое распространение мобильного интернета и большую роль Google и Facebook в развитии платформ. Исторический обзор связывает браузеры, JavaScript, Node.js, интерфейсные библиотеки и мобильные инструменты. Его смысл — показать расширение области применения веб-стека, а не представить однажды популярный фреймворк обязательным выбором для любого следующего проекта.

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

02

Выбор платформы зависит от стадии продукта

Веб-технологии рассматриваются не только в браузере: Node.js позволяет использовать JavaScript на сервере, Electron — в настольных приложениях, а мобильные решения предлагают разные способы совместного использования кода. При этом общность языка не устраняет различий между платформами. Возможности устройства, требования к интерфейсу и ограничения выбранного подхода нужно учитывать отдельно от привлекательности единой кодовой базы.

Для проверки идеи автор предлагает начинать с веб-приложения и при необходимости PWA, затем рассматривать мобильную оболочку. Если идея подтверждена и есть ресурсы, возможна нативная разработка. Кроссплатформенные инструменты вроде React Native и Flutter рассматриваются как другой компромисс, когда писать несколько отдельных приложений не хочется. Это варианты инвестиционного решения, а не утверждение, что одна технология одинаково подходит всем продуктам.

03

Backend for Frontend переносит ответственность ближе к интерфейсу

Общее API часто заставляет мобильный или веб-клиент делать несколько запросов для одного экрана и самостоятельно объединять данные. Такая логика дублируется на разных платформах, а команда интерфейса зависит от чужой очереди изменений. В качестве решения показан Backend for Frontend: отдельный серверный слой под конкретный клиент, которым владеет соответствующая продуктовая команда.

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

Выводы

Что стоит унести с собой

  1. 01Mobile first меняет распределение пользовательских сценариев между каналами, но не отменяет веб-разработку.
  2. 02Нативный, веб- и кроссплатформенный подходы следует выбирать с учётом стадии продукта и ограничений платформ.
  3. 03BFF упрощает клиент и улучшает управляемость изменений ценой дополнительного серверного слоя и ответственности.

Источники