Открыть сервисСервис

Виджет: интерфейсный элемент программного обеспечения

Виджет — это графический элемент интерфейса программного обеспечения, предназначенный для отображения информации или выполнения определённой функции. К виджетам относятся кнопки, поля ввода, ползунки, диалоговые окна, индикаторы прогресса и другие элементы, с которыми пользователь взаимодействует при работе с программой. Термин происходит от английского widget (сокращение от window gadget — «оконная штучка») и широко используется в информатике, веб-разработке и мобильных операционных системах.

История термина

Понятие «виджет» появилось в конце 1980-х — начале 1990-х годов в связи с развитием графических пользовательских интерфейсов (GUI). Одним из первых системных использований термина стала среда разработки NeXTSTEP, где элементы интерфейса назывались виджетами. В веб-разработке термин получил широкое распространение в середине 2000-х годов, когда появился стандарт W3C Widget Packaging and Configuration (2009), описавший формат упаковки небольших веб-приложений.

Виды виджетов

Виджеты классифицируются по нескольким признакам.

По среде исполнения

ТипПримеры
ДесктопныеЭлементы интерфейса Windows, macOS, Linux (GNOME, KDE)
Веб-виджетыКнопки, формы, слайдеры на веб-страницах
МобильныеЭлементы Android, iOS, HarmonyOS
Виджеты рабочего столаЧасы, погода, календарь на главном экране устройства

По функциональному назначению

  • Элементы управления — кнопки, переключатели, поля ввода, ползунки.
  • Элементы отображения — метки, изображения, индикаторы прогресса, графики.
  • Контейнерные виджеты — вкладки, списки, окна, в которых размещаются другие элементы.
  • Декоративные — рамки, разделители, фоновые панели.

Устройство и принцип работы

В большинстве современных фреймворков виджет реализуется как объект, объединяющий визуальное представление и логику поведения. Классический пример — паттерн «модель-представление» (MVC), где виджет отвечает за отображение данных и передачу пользовательских действий в модель.

В веб-разработке виджеты строятся на HTML (структура), CSS (оформление) и JavaScript (поведение). Популярные библиотеки, предоставляющие готовые виджеты, — jQuery UI, React, Vue.js, Angular. В мобильной разработке под виджетами часто понимают два разных объекта: элементы пользовательского интерфейса (кнопки, поля) и самостоятельные информационные модули на экране блокировки или рабочем столе.

Виджеты в операционных системах

Windows

В Windows 11 в 2022 году была введена панель виджетов, объединяющая погоду, новости, календарь и спортивные результаты. Пользователь может настраивать состав панели и порядок карточек.

Android

Виджеты на Android — информационные модули размером от 1×1 до 4×4 клеток рабочего стола. Они размещаются на главном экране и обновляются в фоне. Примеры — часы, погода, музыкальный плеер, заметки. С Android 12 поддерживается формат Material You с адаптивным оформлением.

iOS

В iOS виджеты появились в 2020 году в составе iOS 14. Они размещаются на экране «Сегодня», на рабочем столе и в режиме «Смарт-стек», где автоматически показывают наиболее актуальную информацию.

Linux

В средах рабочего стола GNOME и KDE Plasma виджеты (в KDE их называют «виджеты Plasma») — модули на рабочем столе: часы, мониторинг системы, погода, календарь.

Виджеты в веб-разработке

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

Стандарт W3C Widget (2009) описывал формат упаковки таких мини-приложений в ZIP-архив с манифестом, но стандарт не получил широкого распространения. Вместо него разработчики используют собственные платформы и библиотеки.

Применение

Виджеты применяются в большинстве программных систем:

  • Операционные системы — элементы интерфейса и информационные модули рабочего стола.
  • Веб-сайты — формы, фильтры, калькуляторы, чаты поддержки.
  • Мобильные приложения — элементы управления и виджеты рабочего стола.
  • Промышленные системы — панели управления оборудованием (SCADA-системы).
  • Игры — интерфейсные элементы: инвентарь, карты, шкалы здоровья.

Значение

Виджеты являются базовым строительным блоком современного программного интерфейса. Стандартизация виджетных библиотек (Qt, GTK, React, Vue) позволяет разработчикам быстро собирать интерфейсы из готовых компонентов, а пользователям — получать единообразный опыт взаимодействия с программами разных разработчиков.

Источники:

  • Руководство по проектированию интерфейсов (Human Interface Guidelines, Apple)
  • Material Design Guidelines, Google
  • W3C Widget Packaging and Configuration, 2009
  • Документация Qt Widgets, KDE Plasma, Android Developers
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru