🇮🇹 Что такое GUI (графический интерфейс пользователя)?
GUI или графический пользовательский интерфейс — это интерфейс, предоставляемый пользователю, суперпользователю или администратору для простого взаимодействия с системой.
Графический интерфейс обычно состоит из одного прикосновения или нажатия компонентов, таких как кнопка, текстовое поле, слайдер, изображение и т. д.
История GUI
GUI был разработан в конце 1970-х годов, и до появления GUI существовал интерфейс командной строки или CLI, который представляет собой отвратительный интерфейс, обычно используемый техническими или профессиональными людьми.
Первый коммерчески доступный графический интерфейс разработан Xerox под названием PARC.
Он выпущен с именованной информационной системой Xerox 8010, выпущенной в 1981 году.
После этого Стив Джобс увидел GUI в туре по Xerox. Запущена операционная система Apple на основе графического интерфейса для персонального компьютера Macintosh, выпущенная в 1984 году.
После этого выпуска Windows также начала разработку операционной системы на основе графического интерфейса, в которой 1985 год был выпущен на основе графического интерфейса для Windows 1.0.
GUI Компоненты
Графический интерфейс состоит из разных компонентов.
Не все компоненты должны существовать в графическом интерфейсе, но в большинстве случаев эти компоненты используются.
- Окно является одним из самых популярных компонентов графического интерфейса. Обычно окно содержит несколько компонентов графического интерфейса. Окно также используется в качестве интерфейса для разных приложений
- Кнопка обычно используется для запуска действия, такого как сохранение, редактирование, запуск, остановка некоторых действий в графическом интерфейсе.
- Метка представляет собой текстовую метку, которая используется для предоставления информации с текстом.
- Текстовое поле используется для ввода текстовой информации в графический интерфейс и очень популярный компонент.
- Ползунок используется для перемещения указателя, чтобы установить конкретное значение.
- Изображение — это еще один популярный компонент, который используется для отображения некоторых изображений в графическом интерфейсе.
- Видео является популярным компонентом, где могут быть показаны различные типы видео.
- Чекбокс используется для предоставления нескольких опций для проверки одного или нескольких из них.
- Панель — это часть экрана, которая предоставляет ярлыки или список чего-либо.
- Tab предоставляет несколько экранов в Windows, что очень удобно для размещения множества компонентов графического интерфейса в одном окне.
- Значок используется, чтобы показать небольшую картинку
- Мышь — аппаратная, но очень важная для пользовательского ввода в графический интерфейс
- Клавиатура — это другое оборудование, которое обеспечивает ввод для таких компонентов, как текстовое поле.
- Меню предоставляет несколько ярлыков в окне, чтобы открыть их.
- Указатель используется для выбора и взаимодействия с компонентами графического интерфейса с помощью мыши.
- Рабочий стол используется в операционных системах для предоставления пользователю основного экрана с различными инструментами и компонентами графического интерфейса, такими как меню, окно, изображение и т. д.
Преимущества GUI
До GUI интерфейс командной строки или простой CLI был способом взаимодействия с системой или приложениями.
С развитием и использованием графического интерфейса популярность компьютерных систем возросла, поскольку она дает много преимуществ.
Вот некоторые преимущества GUI.
- Графический интерфейс более дружественный и приятный для глаз.
- GUI обеспечивает легкий доступ к функциям системы и приложений
- GUI может использоваться с очень небольшими знаниями, что полезно для начинающих пользователей.
- GUI обеспечивает визуально богатый вывод и информацию относительно CLI.
Примеры GUI
Сегодня многие операционные системы, программы и приложения имеют графический интерфейс. Здесь мы перечислим различные типы GUI
Google Chrome предоставляет классические компоненты графического интерфейса, такие как вкладка, меню, кнопка, изображение и т. д.
Windows Server GUI предоставляет пользователям доступ к рабочему столу.
Windows Проводник GUI предоставляет левую панель для навигации с панелью для списка файлов и папок
Linux GUI
Linux — открытая и вызывающая операционная система.
Linux в основном начинался как операционная система на основе командной строки, которая в основном предназначена для опытных пользователей.
Со временем он сильно изменился и интегрировал различные компоненты и инструменты графического интерфейса, такие как Desktop Manager.
Linux имеет тот же опыт для Windows с точки зрения рабочего стола.
Linux предоставляет различные графические окружения рабочего стола, как показано ниже.
Графический интерфейс Windows
Windows — самая популярная операционная система пользовательского уровня, где ее графический интерфейс делает ее настолько популярной.
Windows предоставляет своим пользователям очень простой интерфейс с графическим интерфейсом, где дети, пожилые люди, не имеющие технической подготовки могут легко изучить и использовать его.
Windows в основном предназначалась для использования в основном с мышью, а в некоторых случаях с клавиатурой.
GUI или консоль? Шокирующая правда
Большинство разработчиков (да чего уж там, почти все) периодически сталкиваются с работой в консоли и использованием консольных инструментов. Многие при этом испытывают почти физическую боль от непонимания, что происходит:
- где варианты выбора действий?
- почему я должен заучивать какие-то команды?
- где моя многозадачность и возможность таскать окошки?
Другой лагерь, проникшийся дзеном текстового интерфейса люто негодует:
- зачем так много элементов интерфейса?
- почему конфигурации не в текстовых файлах?
- почему я не могу решить это скриптом?
- почему я должен вообще трогать мышь?
Данный спор является заслуженной дисциплиной в холиварах компьютерных гиков с далёких времён, когда и Windows-то не существовал, но холивар уже вёлся, как и всегда, когда сталкиваются несовместимые интересы. Хотя стоп. А несовместимые ли? Вроде как автор этих строк (ярый консольщик) с удовольствием пишет этот текст в Kubuntu и браузере Chromium, а не упражняется в ловкости рук в кошерной консольной lynx. Но при этом на соседних рабочих столах (опять GUI) у меня открыты порядка 7 консолей под разные нужды.
Обсудим плюсы и минусы обоих интерфейсов
Оба интерфейса работы с компьютером равнозначны, но при этом предназначены для разных задач. И там, где рядовой пользователь с удовольствием жамкает нарисованные кнопочки, программист предпочтёт обойтись скриптом или парой-тройкой команд. Неужели вы бы предпочли настраивать разворачивание серверов путём накликивания конфигов в чём-то подобном мастеру установки Windows (не просто «далее-далее-ок», а прям с кучей полей ввода)? Или вам сильно нравится разбираться с графической консолью управления AWS (представьте, что у вас там порядка двух-трёх сотен серверов и прочих ресурсов)?
Ок. Если взять что-то более приземлённое, с чем разработчик не devops сталкивается ежедневно, вроде запуска приложения в режиме отладки и прочего обслуживания процесса разработки? Но и тут гораздо удобней добавлять зависимости коротким `yarn add reactjs` или простым копированием зависимости в конфиг gralde. Вряд ли добавление зависимости в графический интерфейс обошлось бы менее, чем 3-4 клика мыши и вставке текста (а то и вовсе в нексколько полей).
Можно предположить, что у нас нет графического интерфейса потому что текстовый проще (тут готов спорить) и разработчики ленятся проектировать кросплатформенный удобный GUI для всех платформ. Но это опять не так. Многие задачи практически невозможно довести до состояния понятного интерфейса и проще их оставить в текстовом виде для упрощения и ускорения взаимодействия. В качестве примера могу привести окно настроек любой IDE или личный кабинет разработчика или рекламодателя в любой социальной сети, при том, что конфигурация большинства IDE хранится как раз в конфигах.
Console
Опять-таки, из-за того, что консоль давно и прочно заняла место на машинах разработчиков и системных администраторов, она обросла большим количеством средств, помогающих использовать её гораздо эффективней. Очень многие консольные инструменты используют автодополнение команд, имеют отлично расписанный help с примерами команд (тот же git вообще в ascii графике рисует деревья с коммитами до и после команды). Все ныне используемые шеллы вроде bash, zsh и fish предоставляют автокомплит либо сами, либо после установки простых плагинов, а последние двое и вовсе умеют подкрашивать пользовательский ввод
Если вам нужно несколько консолей на одном экране — для этого даже не нужен GUI, давно в наличии имеется простой и понятный инструмент tmux.
Gui что это в windows
GUI (Graphical User Interface) или ГИП (графический интерфейс пользователя) — это одна из разновидностей пользовательских интерфейсов, элементы которого выполнены в виде графических изображений. То есть все основные объекты, присутствующие в этом интерфейсе — иконки, функциональные кнопки, объекты меню и т.д. — выполнены в виде изображений.
Если сравнить GUI с обычной командной строкой, то в первом варианте перед пользователем открывается полный доступ к абсолютно всем элементам, который он видит на дисплее. Реализовать этот доступ можно с использованием разных устройств ввода: оптической мыши, трекбола, клавиатуры, джойстика и пр.
Обычно в GUI каждый графический объект передает смысл функции с помощью понятного образа, чтобы пользователю было проще разобраться с определенным программным обеспечением и легче взаимодействовать с ОС в целом. Но важно понимать, что GUI — это лишь составная часть графического интерфейса. Функционирует он на уровне визуализации данных и таким же образом взаимодействует с пользователем.
Разновидности GUI
Трехмерные — 3D-объекты интерфейса, транслирующиеся на дисплей в виде трехмерных графических элементов.
Простые — обычные дисплейные формы и штатные объекты интерфейса, работа которых обеспечивается подсистемой ГИП.
Двухмерные — уникальные интерфейсные элементы и изображения, которые были созданы сторонней библиотекой или внутренними средствами какой-либо программы.
Одно из ключевых требований к хорошему GUI — реализация концепции DWIM (Do What I Mean или дословно «делай то, что я имею в виду»). То есть система должна функционировать предсказуемо, чтобы пользователь интуитивно понимал, что произойдет после его определенного действия (ввода команды).
Преимущества и недостатки GUI
GUI считается наиболее «дружественным» для новичков, только знакомящихся с ПК в целом или определенным программным обеспечением в частности. В программах для обработки изображений или любых графических элементов GUI — единственное возможное решение.
В то же время, GUI более требователен к памяти ПК, если его сравнить с текстовым интерфейсом. С ним труднее организовать полноценную удаленную работу, трудно автоматизировать, если это не было заложено по умолчанию разработчиком ПО.