9 главных трендов в разработке фронтенда в 2024 году

Самые популярные языки, технологии, инструменты и архитектурные концепции.

Тренды в разработке фронтенда

JavaScript – по-прежнему бесспорный лидер

JavaScript вызывает сложные чувства у многих разработчиков, и по разным причинам: кому-то не хватает синтаксиса для явного определения типов, на кого-то наводят тоску async/await и промисы. Альтернативные языки для разработки фронтенда есть: это и вариации на тему JS – TypeScript, CoffeeScript, – и независимые решения, которые позиционируются как замена JavaScript (хотя и транспилируются в JS во время выполнения кода) – Dart, Elm, Reason, ClojureScript. Тем не менее, 11-й год подряд JavaScript занимает первое место в рейтинге популярности Stack Overflow.

JavaScript – самый популярный язык по версии Stack Overflow
JavaScript – самый популярный язык по версии Stack Overflow

Фреймворки и библиотеки на основе JavaScript также лидируют в рейтинге технологий веб-разработки – Node.js для бэкенда, React.js для фронта. Стоит отметить растущую популярность Next.js – фреймворка, работающего поверх React.js: с 11 места в прошлом году он поднялся на 6 место в 2023.

Node.js и React.js – лидеры рейтинга веб-технологий
Node.js и React.js – лидеры рейтинга веб-технологий

TypeScript набирает популярность

В 2023 TypeScript занял 3 место в рейтинге самых используемых языков Octoverse – ранее эту позицию стабильно занимал Java. Количество репозиториев, использующих TypeScript, за год выросло на 37%, и вот почему:

// JavaScript
const result = "5" + 5;
console.log(result); // Выведет "55"

// TypeScript
const result: number = 5 + 5;
console.log(result); // Выведет 10

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

Прогрессивные веб-приложения (PWA) стали стандартом

Прогрессивные веб-приложения (Progressive Web Apps, PWA) сочетают в себе возможности обычных сайтов и мобильных приложений:

Микрофронтенды (Micro Frontends) – микросервисы на фронтенде

Идея этого архитектурного подхода пришла из бэкенд-разработки, где сложные серверные приложения часто разделяют на микросервисы. При использовании микрофронтендного подхода веб-приложение (сайт) разбивается на небольшие независимые модули с собственным жизненным циклом разработки, доставки и развертывания. Каждый такой модуль отвечает за определенную бизнес-функцию или компонент интерфейса и может быть реализован на той технологии, которая больше нравится команде разработчиков. Многие крупные компании (Netflix, PayPal, American Express) уже перешли на эту архитектуру.

Монолитный подход и микрофронтендный
Монолитный подход и микрофронтендный

Вот основные преимущества микрофронтендов:

Feature-Sliced Design – оптимальная архитектура

FSD – это еще один подход к структурированию фронтенда, сфокусированный на разбиении по бизнес-функциям и пользовательским сценариям. При этом подходе приложение делится на слайсы (срезы), каждый из которых реализует некоторую целостную функцию, видимую пользователю. Этот архитектурный подход пока не настолько популярен, как Micro Frontends, но на него стоит обратить внимание. Вот список компаний, которые уже используют FSD.

Feature-Sliced Design
Feature-Sliced Design

Проект на FSD состоит из слоев (layers). Каждый слой выполняет свою функцию:

Каждый слой разбит на слайсы по предметным областям, чтобы облегчить навигацию и поиск. Слайсы в свою очередь состоят из сегментов – модулей с разным техническим назначением (интерфейс, модель данных, API, утилиты). Такая иерархия обеспечивает стандартизацию, возможность повторного использования кода, устойчивость к изменениям, ориентацию на бизнес-логику. FSD можно внедрять постепенно, начиная с базовых слоев – не нужно сразу придерживаться строгой декомпозиции.

Jamstack – статические сайты, неотличимые от динамических

Jamstack состоит из JavaScript, API и Markup (разметки), и прекрасно подходит для реализации проектов, которые в основном (или полностью) состоят из статического контента. При этом, с точки зрения пользователя, такие сайты выглядят как вполне себе динамические веб-приложения. Главные преимущества такого подхода:

Веб-приложение на Jamstack – это не статический сайт в привычном смысле этого слова (т. е. это не простой набор HTML/CSS страниц). Для обработки действий пользователя Jamstack предусматривает использование разнообразных сторонних сервисов, которые добавляют в приложение все нужные динамические функции:

SWC – супербыстрый транспайлер

Speedy Web Compiler (SWC) – транспайлер для JavaScript и TypeScript, ориентированный на оптимизацию производительности. Основные преимущества:

Backend-driven UI – интерфейс, управляемый бэкендом

Backend-driven UI – новый подход к созданию пользовательских интерфейсов, при котором дизайн и функциональность UI определяются преимущественно на стороне сервера. Например, бэкенд может определить:

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

Backend-driven UI пригодится в следующих случаях:

Backend-driven UI особенно полезен в тех случаях, когда помимо обычного сайта нужно одновременно обновлять мобильные приложения:

Использование ИИ на всех этапах разработки фронтенда

Этот тренд – очевидно, самый важный из всех: использование ИИ значительно ускоряет разработку, улучшает качество продукта и позволяет сосредоточиться на бизнес-логике вместо выполнения рутинных задач. В 2023 году появилось множество самых разных инструментов для разработки фронтенда и UI/UX. Уже сейчас с помощью этих инструментов можно:

PULS.LV Professional rating system