Текстовый интерфейс пользователя

Текстовый интерфейс пользователя — реализация элементов и идиом графического интерфейса пользователя исключительно путём вывода на экран моноширинных символов. Может использоваться для обеспечения совместимости или экономии системных ресурсов. Был широко распространён в 1980-е — начале 1990-х.
История
[править | править код]Точно определить, когда такой тип интерфейса пользователя появился впервые сложно в том числе из-за недостаточно чёткого определения, что это такое. Вопреки распространённому мнению, интерфейсы такого типа стали появляться достаточно поздно — позже, чем и первые разновидности графического интерфейса, и чем интерфейс на основе команд. Для его реализации требовалось устройство вывода текста, позволявшее оперативно изменять выводимый текст, и таким устройством стал компьютерный терминал. Возможно, первыми примерами можно считать программы для IBM/360, рассчитанные под использование совместно с терминалом IBM 2260, в частности системы резервирования авиабилетов. Интерфейс этих программ состоял из набора полей, между которыми можно было переключаться и вводить в них текст. Однако такой интерфейс долгое время оставался эксклюзивным для этого и подобных ему терминалов — в то время как более распространённые терминалы эмулировали телетайп и основным видом взаимодействия с пользователем в программах для них оставался либо ввод команд, либо простейшие виды меню, работающие через ввод символа, соответствующего пункту этого меню.

Впервые последовательно применять текстовый интерфейс вне специализированных терминалов стал написанный в 1976 году текстовый редактор Vi. До Vi стандартным текстовым редактором для операционных систем Unix был Ed, который мог использовать в качестве устройства ввода-вывода телетайп. В отличие от Ed, Vi позволял изменять текст прямо на экране и видеть результат сразу же, а также перемещаться по тексту.
Появившиеся в конце 1970-х массовые персональные компьютеры либо не поддерживали вывода растровой графики вовсе, либо имели малое разрешение экрана. Кроме того, у них обычно был небольшой объём оперативной памяти, что затрудняло реализацию полноценного графического интерфейса, организация видеопамяти часто была сложна и очень сильно разнилось от устройства к устройству, а полноценное обновление экрана занимало много процессорного времени. В то же время, текстовый режим, на тех устройствах, которые его поддерживали, как правило позволял работать с бо́льшим разрешением экрана. Даже при отсутствии знакогенератора текстовый интерфейс мог использоваться из соображений простоты портирования, так как вывод текста можно возложить на операционную систему, не заботясь о поддержке специфического графического адаптера.

╔════════════╤═══ C:\ ════╤════════════╗╔════════════╤═ C:\GAMES ═╤════════════╗ ║C:↓ Name │ Name │ Name ║║C:↓ Name │ Name │ Name ║ ║ADINF │ │ ║║.. │ │ ║ ║DOS │ │ ║║CIV │ │ ║ ║GAMES │ │ ║║LINES │ │ ║ ║NC │ │ ║║MARRIAG │ │ ║ ║TEMP │ │ ║║PRINC╔═════ Drive Letter ═════╗ ║ ║WORK │ │ ║║TETRI║ ║ ║ ║autoexec bat│ │ ║║ ║ Choose left drive: ║ ║ ║command com│ │ ║║ ║ ║ ║ ║config sys│ │ ║║ ║ A ▄ C ▄ D ▄ ║ ║ ║io ░sys│ │ ║║ ║ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄ ║ ║ ║msdos ░sys│ │ ║║ ╚════════════════════════╝ ║ ║sys com│ │ ║║ │ │ ║ ║ │ │ ║║ │ │ ║ ║ │ │ ║║ │ │ ║ ║ │ │ ║║ │ │ ║ ║ │ │ ║║ │ │ ║ ╟────────────┴────────────┴────────────╢╟────────────┴────────────┴────────────╢ ║config.sys 13 5-31-94 6:22a║║MARRIAG ►SUB-DIR◄ 12-25-97 4:54p║ ╚══════════════════════════════════════╝╚══════════════════════════════════════╝ C:\>_ 1Help 2Menu 3View 4Edit 5COPY 6RenMov 7Mkdir 8Delete 9PullDn 10Quit
Знаковым продуктом для персональных компьютеров, использовавшим текстовый интерфейс был текстовый процессор WordPerfect, вышедший в 1979 году. Приложение существовало в версиях для большого количества архитектур и операционных систем, включая Apple II, CP/M, DOS, Unix и многие другие. Однако при портировании на Amiga разработчики подверглись насмешкам за то, что встроили в программу эмуляцию знакогенератора, вместо того, чтобы реализовать полноценный оконный интерфейс средствами операционной системы. В том же 1979 году вышел табличный процессор VisiCalc, также портированный на множество систем и ставший наряду с WordPerfect наиболее востребованной офисной программой. Но наиболее известной программой, закрепившей каноны текстового интерфейса пользователя можно считать вышедший в 1986 году файловый менеджер Norton Commander, давший начало отдельному классу программ — так называемым ортодоксальным файловым менеджерам.
В начале 1990-х текстовый интерфейс пользователя всё ещё пользовался популярностью, прежде всего на PC-совместимых компьютерах, так как там были широко распространены операционные системы типа DOS. Но к середине 1990-х, особенно после выхода Windows 95 многие производители ПО перешли на полноценный оконный графический интерфейс, реализованный средствами операционной системы. Текстовый интерфейс ещё долго сохранялся в различных утилитах, предназначенных для работы без операционной системы, а также в интерфейсе настройки BIOS. Некоторые программы, в частности Far Manager, повторяющий интерфейс Norton Commander, продолжают использовать текстовый интерфейс.
Особенности
[править | править код]В текстовом интерфейсе могут быть реализованы многие базовые элементы интерфейса, используемые и в графическом интерфейсе — меню, кнопки, переключатели, флажки, выпадающие списки, полосы прокрутки и так далее. Но не могут быть реализованы элементы, требующие графического вывода — иконки, а также сложные WYSIWYG-идиомы. Многие программы реализовывали развитую оконную систему, чему способствовали библиотеки вроде CScape, D-Flat, Turbo Vision и многие другие, некоторые имели сменные темы оформления (например, DOS Navigator) и поддерживали различные устройства интерактивного взаимодействия, такие как мышь, джойстик, световое перо. Для отображения идиом графического интерфейса могут использоваться как специальные символы для рисования рамок и таблиц, так и выделение функциональных блоков цветом, а также эффекты выворотки, мигания и т.д. Так же, цветом или вывороткой, может обозначаться и курсор мыши.
Как правило, программы, имеющие текстовый интерфейс пользователя часто оптимизированы под работу с клавиатурой и в меньшей степени — под мышь или другое указательное устройство. Многие из них позволяют вообще не использовать мышь, изначально — потому что мышь могла отсутствовать в комплектации персонального компьютера. Навигация обычно происходит с помощью клавиш-стрелок, а также клавиши Tab. При этом активный элемент может выделяться цветом или вывороткой. Многие текстовые программы опираются на использование функциональных клавиш (для чего выводят специальную панель с перечнем доступных действий), клавиатурных мнемоник и сочетаний клавиш.