Термин · Глоссарий B2B-ПО

Виджет (Widget)

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

Буква «В» В категориях: 4 Платформ: 6+

Введение

Виджет (widget) – стандартный строительный блок пользовательского интерфейса: небольшой переиспользуемый компонент с конкретной функциональностью и визуальным представлением. Термин используется в нескольких контекстах:

  • GUI-виджеты (UI-компоненты): базовые элементы интерфейса – кнопки, поля ввода, выпадающие списки, чекбоксы, слайдеры, таблицы.
  • Десктопные виджеты: мини-приложения на рабочем столе ОС – часы, погода, новостная лента, системный монитор (Konfabulator/Yahoo Widgets, Windows Gadgets, macOS Dashboard).
  • Веб-виджеты: встраиваемые блоки сторонних сервисов – онлайн-чаты (Jivosite, Callibri), кнопки соцсетей, виджеты оплаты, карты.
  • Мобильные виджеты: интерактивные элементы на экране блокировки или рабочем столе смартфона (iOS/Android).

История и контекст

Слово «widget» как обозначение UI-элемента вошло в употребление в 1970–80-х годах в контексте разработки GUI на Xerox PARC. Библиотека Motif (1989) и Xt (X Toolkit Intrinsics) для X Window System стандартизировали концепцию widget toolkit. В Java (AWT, Swing) компоненты GUI официально назывались widgets.

Расцвет «Desktop Widgets» пришёлся на 2000-е: Yahoo Widgets (2003), Apple Dashboard (OS X 10.4, 2005), Windows Vista Sidebar Gadgets (2007). Веб-виджеты достигли пика популярности в эпоху Web 2.0 (2005–2010): каждый сайт встраивал виджеты Twitter, Facebook Like, Google Maps.

Как это работает

GUI-виджеты реализуются через UI-фреймворки (Qt, wxWidgets, Tkinter, SwiftUI, Jetpack Compose). Каждый виджет обрабатывает события (клики, ввод текста), хранит состояние и отрисовывается в виде пикселей на экране.

Веб-виджеты встраиваются через HTML-код (iframe или JavaScript-snippet):

  • Владелец сайта вставляет код виджета в HTML-страницу.
  • При загрузке страницы JavaScript-код загружает ресурсы виджета с сервера стороннего сервиса.
  • Виджет инициализируется в изолированном контейнере (iframe) или DOM-элементе.

Мобильные виджеты (Android/iOS) – мини-приложения, получающие обновления от основного приложения и отображающие данные на рабочем столе без запуска приложения целиком.

Где применяется

  • Корпоративные сайты: онлайн-чат, форма заявки, виджет обратного звонка, карта проезда.
  • E-commerce: виджеты отзывов, курсов валют, трекинга заказа, мессенджеров для поддержки.
  • Мониторинг ИТ: дашборды в Grafana, Kibana – виджеты метрик, графиков, алертов.
  • Мобильные ОС: погода, расписание, медиаплеер, быстрые действия.
  • Low-code/No-code платформы: drag-and-drop виджеты для создания интерфейсов без кода.

Преимущества и ограничения

Преимущества: переиспользуемость, стандартизация UI-взаимодействий, ускорение разработки за счёт готовых компонентов, быстрое встраивание сторонних сервисов без программирования.

Ограничения: сторонние веб-виджеты создают зависимость от третьих лиц (downtime провайдера = проблема на сайте), потенциальные риски XSS и утечки данных через JavaScript, негативное влияние большого числа виджетов на скорость загрузки страницы.

Связь с другими понятиями

Виджеты – базовые компоненты любой UI-библиотеки: React (компоненты), Vue (компоненты), Angular (компоненты) – всё это виджеты в широком смысле. В Low-code/No-code платформах виджеты – основной строительный материал интерфейсов. Dashboard-платформы (Grafana, Tableau, Power BI) состоят из виджетов-визуализаций. В mобильной разработке iOS App Widgets (WidgetKit) и Android App Widgets – отдельный API для создания рабочего стола. Концепция компонентного дизайна (Component-Based Architecture) является теоретической основой современного подхода к виджетам.

Понятия из глоссария Цифрового маркетплейса, которые часто встречаются вместе с термином «Виджет».

Платформы класса «Виджет»

Решения из каталога Цифрового маркетплейса, относящиеся к этому классу ПО. Карточки ведут на полные карточки платформ с тарифами, обзорами и кейсами внедрения.

Аспро: Оптимус

Аспро: Оптимус

Документооборот и контент
Готовый интернет-магазин с гибкими настройками, удобным каталогом, инструментами для увеличения конверсии и ин...
Цена по запросу
Подробнее →

Категории каталога

Разделы каталога Цифрового маркетплейса, в которые входят решения, использующие «Виджет».

Где применяется

Отрасли, в которых «Виджет» используется на практике. Откройте отраслевой раздел Цифрового маркетплейса, чтобы увидеть подходящие решения, кейсы и новости.

Частые вопросы про Виджет

Чем виджет отличается от плагина?

Виджет – UI-элемент с визуальным отображением и интерактивностью. Плагин – расширение функциональности без обязательного UI (может работать в фоне). Граница размыта: многие плагины добавляют виджеты.

Безопасно ли встраивать сторонние виджеты?

Риски есть: JavaScript виджета выполняется в контексте вашей страницы и может читать куки, форм-данные. Предпочтительны виджеты в iframe с sandbox-атрибутом. Проверяйте репутацию провайдера виджета.

Как виджеты влияют на скорость сайта?

Каждый виджет добавляет HTTP-запросы и JavaScript к странице. 5–10 виджетов могут добавить 1–3 секунды к времени загрузки. Рекомендуется загружать виджеты асинхронно (defer/async) и ограничивать их количество.

Что такое Widget в Android?

App Widget – расширение приложения, отображающее информацию прямо на рабочем столе без запуска приложения. Реализуется через AppWidgetProvider API. Обновляется периодически или по событию.

Что такое виджеты в Grafana?

Панели (panels) в Grafana – это виджеты для визуализации метрик: графики временных рядов, счётчики, таблицы, тепловые карты. Каждый виджет подключается к источнику данных (Prometheus, ClickHouse и др.).