Интерфейс пользователя
- 1 year ago
- 0
- 0
Те́кстовый по́льзовательский интерфе́йс , ТПИ ( англ. Text user interface, TUI ; также Character User Interface, CUI ) — разновидность интерфейса пользователя , использующая при вводе-выводе и представлении информации исключительно набор буквенно-цифровых символов и символов псевдографики . Характеризуется малой требовательностью к ресурсам аппаратуры ввода-вывода (в частности, памяти ) и высокой скоростью отображения информации. Появился на одном из начальных этапов развития вычислительной техники , при развитии возможностей аппаратуры, нацеленной на реализацию появившегося ранее интерфейса командной строки , который, в свою очередь, является наследником использования телетайпов в качестве интерфейса вычислительной техники. Интерфейс командной строки имеет ряд преимуществ в юзабилити перед графическим интерфейсом , поэтому программы с текстовым интерфейсом создаются и используются по сей день, особенно в специфических сферах и на маломощном оборудовании.
Недостатком подобного типа интерфейса является ограниченность изобразительных средств по причине ограниченности количества символов, включённых в состав шрифта, предоставляемого аппаратурой.
Программы с текстовым интерфейсом могут реализовывать оконный интерфейс , чему особенно способствует применение псевдографических символов.
Текстовый интерфейс, воспроизводящий возможности телетайпа, то есть имитирующий прокручивающуюся на экране бесконечную ленту бумаги, на которую пользователь может вводить текст команд и ниже получать результаты её работы так же в виде текста, называется интерфейсом командной строки . Также такие программы часто называют консольными программами — потому что системы, где информация вводится и выводится через текстовую консоль, в основном реализуют именно интерфейс командной строки.
В простейшем случае текстовый интерфейс использует интерфейс командной строки , однако многие программы с помощью интерактивных элементов создают более дружественный интерфейс, приближающийся по удобству к графическому .
В текстовом интерфейсе могут быть реализованы все базовые элементы интерфейса, используемые и в графическом интерфейсе — меню , кнопки , переключатели , флажки, выпадающие списки , полосы прокрутки и так далее. Многие программы реализовывали развитую оконную систему, чему способствовали библиотеки вроде , , Turbo Vision и многие другие, некоторые имели сменные темы оформления (например, DOS Navigator ) и поддерживали различные устройства интерактивного взаимодействия, такие как мышь , джойстик , световое перо .
На программном уровне для ввода и вывода информации консольные программы используют
стандартные устройства ввода-вывода
(
stdin
,
stdout
,
stderr
), хотя могут открывать и другие
файлы
, сетевые соединения и совершать иные действия, доступные в выполняющей их среде. Вывод
печатных символов
в
stdout
и
stderr
приводит к появлению этих символов на устройстве вывода и к получению их пользователем.
Консольные программы для более продвинутых операционных систем , особенно UNIX , как правило, способны работать на достаточно широком классе реализаций интерфейса с пользователем. Для упрощения написания таких программ широко применяется библиотека ncurses .
Консольная программа не обязана заботиться о реализации самого взаимодействия с пользователем, ограничиваясь вводом-выводом на стандартные устройства , использованием библиотек типа ncurses или иных программных интерфейсов . Собственно взаимодействие с пользователем обычно осуществляет операционная система или иное программное обеспечение.
Классической реализацией текстового интерфейса, восходящей к первой половине XX века , является алфавитно-цифровое устройство ввода-вывода, например, комплект из клавиатуры и АЦПУ ( телетайпа ). Впоследствии вместо АЦПУ стали применять мониторы , снабжённые знакогенератором, что позволило быстро и удобно организовывать диалог с пользователем. Подобными устройствами снабжён или может быть снабжён почти каждый современный компьютер . Такие комплекты из монитора и клавиатуры (иногда с добавлением мыши ) называются консолью компьютера.
В соответствии с традицией использования консольными программами клавиатуры и АЦПУ для ввода и вывода соответственно взаимодействие таких программ с пользователем свелось к чтению из stdin и выводу на stdout. Таким образом, появилась возможность перенаправлять потоки ввода-вывода, осуществляя взаимодействие с пользователем посредством иных устройств, в том числе подключённых через сеть , а также при помощи специальных программ — эмуляторов терминала , например, рисующих окно с текстом в графическом интерфейсе пользователя ( текстовое окно ).
В 1970-е годы и позднее выпускались даже специальные устройства, реализующие текстовый интерфейс — текстовые терминалы , подключаемые через последовательный порт к компьютеру напрямую или через модем . С распространением персональных компьютеров функции текстового терминала, как правило, выполняет компьютер, тот, на котором выполняется консольная программа, или другой. Программы Telnet и ssh позволяют пользователю взаимодействовать с консольной программой, запущенной на удалённом компьютере (как правило, под управлением UNIX), через Интернет или локальную сеть . Программы xterm , rxvt , konsole и многие другие реализуют текстовый интерфейс посредством текстового окна в среде X Window System .
Альтернативный подход к консольному выводу был использован в персональных компьютерах, в частности (хотя не только), IBM PC под управлением DOS . Программа может не только выводить данные через stdout, но и прямо изменять содержимое определённой области памяти , связанной со знакогенератором монитора, приводя к немедленному изменению видимых на мониторе данных. Такие программы могут также работать в среде Microsoft Windows . Более того, Windows имеет поддержку текстовых окон, во многом превосходящую имевшуюся в DOS, в том числе и для приложений собственно Windows.
Linux предоставляет ещё бо́льшие возможности для консольных программ. В частности, даже безо всякого графического интерфейса несколько одновременно запущенных программ могут бесконфликтно взаимодействовать с пользователем, создавая иллюзию наличия в системе нескольких консолей (виртуальные консоли).
В POSIX -совместимых системах, таких как UNIX и Linux, работа пользователя с терминалом осуществляется при помощи особой подсистемы, называемой TTY-абстракцией .
Некоторые программы с ТПИ могут работать и в консольном режиме:
Для улучшения этой статьи
желательно
:
|