Интерфейс в информатике
Интерфе́йс (англ. interface – средства, способ взаимодействия; от лат. inter – между и facies – лицо, поверхность) в информатике, способ и средства взаимодействия пользователя с программами или программ между собой, программ с аппаратными средствами или аппаратных средств между собой.
Интерфейс пользователя
Интерфейс пользователя – способ и средства взаимодействия пользователя с программами. Он определяет взаимодействие человека с операционной системой (ОС) и прикладными программами (приложениями), работающими под её управлением. Наиболее распространёнными аппаратными средствами реализации интерфейса пользователя служат клавиатура, мышь, стилус, джойстик, экран монитора или компьютерного устройства (смартфона, цифровой камеры и др.). В большинстве ОС применяется графический интерфейс пользователя (англ. Graphical User Interface – GUI). При этом для экранного отображения ввода и вывода команд пользователя и данных используются окна (англ. windows) – области экрана, каждая из которых относится к одной из работающих программ. Элементы управления программой изображаются графически внутри окон (в виде меню, кнопок, полей ввода и др.). Выбор пользователем одного из элементов может быть сделан с помощью мыши, клавиатуры, джойстика или прикосновения к экрану (если экран сенсорный). Программа может производить вывод результатов обработки данных (например, на экран монитора) в виде текста, гипертекста, таблиц, диаграмм, видео и др. Стандартность графических элементов управления облегчает процесс освоения пользователем новых программ.
Другим видом интерфейса пользователя является интерфейс командной строки: текстовые команды вводятся пользователем с клавиатуры в окне специальной программы.
По способу ввода команд и данных пользователя можно выделить контактный и бесконтактный жестовые интерфейсы, а также голосовой интерфейс. Контактный жестовый интерфейс реализуется путём жестовых движений по поверхности сенсорного экрана, клавиатуры, мыши или др., а бесконтактный жестовый интерфейс – путём жестов, производимых в поле обзора видеокамеры. Бесконтактный жестовый интерфейс применяется для управления программами распознавания движения (например, в охранных системах), «захвата движения» (в видеоиграх, производстве кинофильмов и др.) и др. Голосовой интерфейс реализуется с помощью микрофона и программ распознавания голосовых сообщений пользователя. Он реализован в современных поисковых системах, мобильных «помощниках» и других приложениях. В системах безопасности, автоматизированного управления технологическими процессами применяется сбор данных от датчиков температуры, давления, концентрации химических веществ и др. Помимо графического вывода результатов обработки данных (на дисплей или проектор), в различных приложениях реализуется генерация и вывод звуковых сообщений (например, голосовых). В системах виртуальной реальности (тренажёрах, симуляторах и др.) реализуется также вывод тактильных и за́паховых символов. Различные виды интерфейса пользователя являются взаимодополняющими.
Интерфейс программ
Способ и средства взаимодействия программных объектов (приложений, библиотек программ, компонентов ОС) называют интерфейсом программ. Описание функций и структур данных программных объектов, выполненное на некотором языке программирования или языке описания интерфейсов, называют интерфейсом программирования приложений (англ. Application Programming Interface – API). Такое описание позволяет разработчикам вставлять в коды программных объектов вызовы исполняемых кодов других объектов. Это даёт возможность повторно использовать программные объекты, созданные разными разработчиками. Стандартизация интерфейса программ позволяет программам, написанным на различных языках программирования, обмениваться командами и данными с помощью сообщений определённого формата. При этом взаимодействующие программы могут работать как на одном компьютере или компьютерном устройстве, так и на разных (являющихся узлами компьютерной сети).
Интерфейс программ с аппаратными средствами
Интерфейс приложений с аппаратными средствами реализует ОС. Она обеспечивает работу исполняемых кодов программных объектов (в т. ч. драйверов устройств), передавая необходимые команды центральному процессору компьютера или компьютерного устройства.
Интерфейс аппаратных средств
Интерфейсы аппаратных средств (компьютеров, компьютерных устройств и их компонентов) реализуются посредством шин, разъёмов, кабелей, а также средств беспроводного взаимодействия (радиоинтерфейсы: Bluetooth, Wi-Fi и др.). Разъёмы компьютеров и компьютерных устройств, к которым подсоединяются другие устройства, также называют портами. Например, USB‑порты используются для подключения устройств с USB-интерфейсом (такой интерфейс могут иметь флэш-накопители, устройства ввода, принтеры и др.).
Развитие и актуальные задачи
До изобретения графического интерфейса пользователя интерфейс командной строки был единственным. Основы стандартов графического интерфейса были заложены компанией Apple (США), выпустившей в 1984 г. персональный компьютер Macintosh с установленной на нём OC Mac OS. Технологии голосового интерфейса относительно недавно (2010) доработаны до уровня, оправдывающего их применение в устройствах, поставляемых на рынок. Активно совершенствуются системы бесконтактного жестового интерфейса и системы виртуальной реальности. Актуальной научно-технической задачей является создание и развитие технологий комплексного применения жестового, голосового и других видов интерфейса. Не менее актуальна задача стандартизации интерфейса всех видов. От того, как она решена, зависят продуктивность проектирования и изготовления программных и аппаратных средств, надёжность их функционирования и эффективность применения.