1. Frontend-фреймворки и библиотеки помогают создавать пользовательские интерфейсы веб-приложений. Компонент — самостоятельная часть интерфейса, например меню, карточка курса или форма поиска. Компонентный подход позволяет повторно использовать код, разделять приложение на небольшие части и упрощать сопровождение. К современным инструментам относятся React, Vue и другие решения.

 

2. Props - входные данные, которые компонент получает от родительского компонента. Состояние — данные, которые могут изменяться во время работы компонента и влиять на его отображение. Например, название курса может передаваться через props, а выбранный фильтр храниться в состоянии. Однонаправленный поток данных означает, что данные передаются от родительских компонентов к дочерним, что делает поведение интерфейса более предсказуемым.

 

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

 

4. SPA (Single Page Application) - одностраничное веб-приложение, в котором переходы между экранами часто выполняются без полной перезагрузки HTML-документа. Клиентская маршрутизация сопоставляет URL с соответствующим компонентом или представлением. Например, адрес /courses может открывать список курсов, а /profile — профиль студента. Для работы прямых переходов по адресам SPA необходима правильная настройка сервера.

 

5. SSR (Server-Side Rendering) - серверный рендеринг, при котором HTML-разметка страницы формируется на сервере и передаётся браузеру. Статическая генерация создаёт HTML-страницы заранее, например во время сборки приложения. Эти подходы могут улучшать первоначальную загрузку и индексирование страниц, но требуют соответствующей архитектуры. При выборе React, Vue или другого инструмента учитываются сложность приложения, опыт команды, требования к производительности, поддержке и развитию проекта.