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 или другого инструмента
учитываются сложность приложения, опыт команды, требования к
производительности, поддержке и развитию проекта.