Що таке GUI, CLI та TUI: у чому різниця між інтерфейсами
Одну й ту саму дію на комп’ютері можна виконати по-різному. Файл видаляють, перетягнувши його в кошик, ввівши текстову команду або вибравши пункт у меню, намальованому символами всередині термінала. Результат буде приблизно однаковим, але спосіб взаємодії і...
Одну й ту саму дію на комп’ютері можна виконати по-різному. Файл видаляють, перетягнувши його в кошик, ввівши текстову команду або вибравши пункт у меню, намальованому символами всередині термінала. Результат буде приблизно однаковим, але спосіб взаємодії із системою — принципово різним.
Ці три підходи називають GUI, CLI та TUI. Перший побудований навколо графічних елементів, другий — навколо команд, а третій поєднує текстове середовище зі структурою, схожою на звичайну програму. Межа між ними не завжди очевидна, особливо між CLI та TUI, адже обидва можуть працювати в одному термінальному вікні.
Що таке інтерфейс користувача
Інтерфейс користувача — це спосіб, у який людина взаємодіє з програмою, операційною системою або пристроєм. Він приймає дії користувача, передає відповідні команди системі та показує результат.
Кнопки, меню, текстове поле, командний рядок, сенсорні жести й навіть голосові запити — усе це різні елементи інтерфейсу. Вони не є самою внутрішньою функцією програми. Наприклад, копіювання файлу може запускатися через кнопку, комбінацію клавіш або текстову команду, хоча система в кожному випадку виконує подібну операцію.
Тому GUI, CLI та TUI варто розглядати не як три різновиди комп’ютерів, а як три способи керування програмами й даними.
Що таке GUI
GUI — це скорочення від graphical user interface, тобто «графічний інтерфейс користувача». У ньому інформація та доступні дії представлені за допомогою вікон, кнопок, піктограм, меню, списків, вкладок і зображень.
До GUI належать звичні інтерфейси Windows, macOS, Android та iOS, браузери, графічні редактори, офісні програми й більшість мобільних застосунків. Користувач взаємодіє з ними за допомогою миші, трекпада, клавіатури або сенсорного екрана.
Наприклад, щоб створити папку, людина відкриває контекстне меню, вибирає потрібну команду й вводить назву. Їй не обов’язково знати, як ця дія називається у внутрішній мові операційної системи.
Головна перевага GUI полягає в наочності. Користувач бачить доступні інструменти, стан програми та результат своїх дій. Операційні системи можуть надавати як графічний, так і командний спосіб взаємодії, але саме GUI став основним для повсякденної роботи більшості людей.
Водночас графічний інтерфейс не завжди є найшвидшим. Якщо потрібно однаково обробити тисячі файлів, повторити довгу послідовність операцій або віддалено керувати сервером, натискати кнопки для кожної дії може бути незручно.
Про появу вікон, піктограм і метафори робочого столу докладніше йдеться в окремому матеріалі «Що таке графічний інтерфейс: як з’явилися вікна, папки та іконки».
Що таке CLI
CLI розшифровується як command-line interface — «інтерфейс командного рядка». Замість пошуку функції в меню користувач вводить текстову команду, після чого система її аналізує та виконує.
Команда зазвичай містить назву програми або операції, а також додаткові параметри. Вони уточнюють, із яким файлом потрібно працювати, куди зберегти результат або за якими правилами виконати дію.
Наприклад, умовна команда може означати:
знайти всі файли певного типу;
скопіювати їх до іншої папки;
перейменувати за заданим шаблоном;
показати лише ті, що були змінені протягом останньої доби.
У GUI для цього іноді доводиться відкривати кілька вікон і повторювати однакові рухи. У CLI всю послідовність можна описати одним рядком або записати у сценарій для повторного виконання.
Командна оболонка приймає введений текст, розпізнає команду й передає її операційній системі або відповідній програмі. Багато оболонок також підтримують змінні, умови, цикли, функції та запуск команд зі сценаріїв. Тому CLI є не лише способом ручного керування, а й інструментом автоматизації.
До відомих командних оболонок належать Bash, PowerShell і Command Prompt. При цьому оболонка, термінал і CLI — не повні синоніми, хоча в повсякденному мовленні їх часто називають одним словом.
Термінал, консоль та оболонка — у чому різниця
Термінал — це середовище, у якому відображається текст і приймається введення користувача. Колись термінали були окремими фізичними пристроями з екраном і клавіатурою, а сьогодні переважно існують як програми: Windows Terminal, Terminal у macOS або різні емулятори термінала в Linux.
Командна оболонка, або shell, працює всередині термінала. Саме вона читає введені команди, інтерпретує їх і запускає потрібні операції. Один термінал може підтримувати кілька оболонок: наприклад, PowerShell, Command Prompt або Bash.
CLI — це сам принцип взаємодії через введення команд. Термінал показує текстове середовище, а оболонка забезпечує діалог між користувачем і системою.
Спрощено це можна уявити так: термінал є приміщенням для розмови, оболонка — співрозмовником, який розуміє певну мову, а CLI — способом спілкування за допомогою текстових команд.
Що таке TUI
TUI найчастіше розшифровують як text-based user interface або terminal user interface — текстовий чи термінальний інтерфейс користувача.
Він працює в текстовому середовищі, але на відміну від звичайного командного рядка використовує весь доступний екран. У ньому можуть бути панелі, рамки, таблиці, меню, списки, вкладки, кнопки й окремі поля. Замість повноцінної комп’ютерної графіки такі елементи формуються переважно з текстових символів і кольорових комірок термінала.
Користувачеві не обов’язково пам’ятати точну команду. Він переміщується між елементами стрілками, клавішею Tab або заданими комбінаціями, вибирає пункти меню та змінює параметри у видимих полях.
IBM описує текстовий інтерфейс як середовище, що використовує все вікно екрана, на відміну від CLI, зосередженого на введенні командного рядка. Бібліотеки на зразок ncurses дають програмам інструменти для створення в терміналі вікон, меню, полів введення та інших структурованих елементів.
Типовими прикладами TUI є файлові менеджери з двома панелями, термінальні текстові редактори, програми для перегляду системних процесів і майстри налаштування серверів. Вони можуть нагадувати графічні застосунки, хоча повністю працюють у терміналі.
Чому TUI плутають із CLI
CLI й TUI часто відкриваються в одному термінальному вікні та переважно керуються клавіатурою. Через це будь-яку програму з текстом на темному фоні можуть називати командним рядком.
Проте спосіб взаємодії в них різний.
У CLI користувач переважно формулює дію сам: вводить назву команди, параметри та шлях до файлу. Після виконання система виводить текстовий результат і знову показує запрошення для наступної команди.
У TUI програма вже створює готову структуру. Користувач бачить меню, таблиці, кнопки або панелі й обирає дію серед запропонованих. Він може взагалі не вводити команд вручну.
Наприклад, у CLI для копіювання документа потрібно написати відповідну команду та правильно зазначити початковий і кінцевий шлях. У файловому менеджері з TUI достатньо вибрати файл у панелі, натиснути потрібну клавішу й підтвердити папку призначення.
Отже, CLI — це розмова із системою командами, а TUI — керування текстовою програмою через видимі елементи.
GUI зручно використовувати там, де важливо бачити сам вміст: редагувати фотографії, монтувати відео, працювати з макетами, переглядати сайти або впорядковувати документи.
Він показує доступні дії та дозволяє досліджувати програму без попереднього знання всіх її функцій. Користувач може відкрити меню, навести курсор на кнопку, прочитати підказку й поступово зрозуміти принцип роботи.
Однак складна графічна програма потребує більше місця на екрані й системних ресурсів. Крім того, GUI погано пристосований до багаторазового повторення однакової операції, якщо розробники не передбачили окремого інструмента автоматизації.
Переваги та обмеження CLI
CLI дає змогу точно описати потрібну дію та зберегти її для повторного використання. Команди можна об’єднувати, передавати результат однієї програми іншій і запускати автоматично за розкладом.
Це особливо корисно для системного адміністрування, розробки програм, роботи із серверами та масового опрацювання файлів. Командний інтерфейс також добре працює через повільне віддалене з’єднання, оскільки не потребує передавання складної графіки.
Головний недолік CLI — необхідність знати синтаксис. Користувач має пам’ятати назви команд, порядок параметрів і правила роботи зі шляхами. Неправильно складена команда може завершитися помилкою, а в окремих випадках — виконати небажану дію.
CLI не обов’язково є складнішим за GUI в усіх ситуаціях. Просте відкриття фотографії зручніше виконати подвійним натисканням, але перейменувати десять тисяч фотографій за одним правилом часто легше командою або сценарієм.
Переваги та обмеження TUI
TUI займає проміжне положення між GUI та CLI. Він пропонує готову структуру, тому користувачеві не потрібно пам’ятати кожну команду, але залишається легким і придатним для роботи в терміналі.
Такий інтерфейс зручний на серверах, у віддалених сеансах і на пристроях, де немає повноцінного графічного середовища. Він також подобається користувачам, які прагнуть працювати переважно з клавіатури.
Водночас TUI обмежений можливостями текстової сітки. У ньому складніше показувати фотографії, довільну графіку, анімацію та нестандартні елементи. Клавіші керування в різних програмах також можуть відрізнятися, тому новий TUI часто потребує короткого періоду звикання.
Одна програма може мати кілька інтерфейсів
GUI, CLI та TUI не обов’язково відповідають різним програмам. Один інструмент може пропонувати кілька способів керування тією самою функціональністю.
Наприклад, застосунок для роботи з файлами може мати графічне вікно для звичайного користувача та CLI для автоматичних сценаріїв. Система налаштування сервера може пропонувати команди для досвідчених адміністраторів і TUI-майстер із меню для тих, хто хоче бачити доступні параметри.
У такому разі змінюється не сама операція, а спосіб її запуску. Графічна кнопка, пункт текстового меню та команда можуть звертатися до одного внутрішнього механізму.
Саме тому CLI не варто вважати застарілою версією GUI, а TUI — недомальованим графічним інтерфейсом. Кожен із них розрахований на свої умови роботи.
Який інтерфейс кращий
Універсально кращого варіанта немає. Вибір залежить від завдання, досвіду користувача, доступного обладнання та необхідності повторювати операції.
GUI найзручніший, коли потрібні наочність, вільне дослідження можливостей і робота з візуальним вмістом. CLI сильний у точності, швидкому повторенні команд та автоматизації. TUI корисний там, де потрібна зрозуміла структура, але графічне середовище недоступне або зайве.
Сучасний користувач часто переходить між усіма трьома форматами, навіть не замислюючись над їхніми назвами. Він налаштовує програму через GUI, запускає автоматичну обробку командою, а стан системи перевіряє в термінальній таблиці. Різниця між GUI, CLI та TUI полягає не в тому, наскільки «сучасно» вони виглядають, а в тому, якою мовою людина домовляється з комп’ютером.
Коли ми перетягуємо файл у папку, закриваємо програму хрестиком або натискаємо на піктограму кошика, ці дії здаються природними. Насправді жоден документ фізично не рухається ек...