Интерфейс – посредник, позволяющий организовать взаимодействиепользователей и технологий. В компьютерных системах различают аппаратный и программный интерфейс.
Аппаратный интерфейс – физические переключатели, тумблеры, клавиатура, порты для подключений и прочее, что позволяет пользователю взаимодействовать с техническим устройством и/или программой работы этого устройства.
Программный интерфейс – то, что позволяет пользователю или другим программам взаимодействовать с программой уже на уровне программного кода или операционной системы– через отправку программе различных команд или посредством запуска каких-либо событий, реакция на которые "зашита" в программу (закодирована). Программный интерфейс делится на пользовательский интерфейс (UI) и интерфейс прикладного программирования (API).
Пользовательский интерфейс компьютерной программы (UI) – доступная пользователю часть программы, ее «лицо», позволяющее пользователю вызывать те или иные функции программы, управлять ее работой, подключаться к ней для ввода и выводаданных. Пользовательский интерфейс компьютерной программы может быть представлен набором команд для командной строки, но обычно состоит из окна программы и элементовуправления (кнопок, переключателей, полей ввода, надписей, выпадающих списков и других объектов). В последнем случае говорят о визуальном (или графическом) интерфейсе компьютерной программы. Используется пользователями программы.
Интерфейс прикладного программирования (API) – стандарт, а также реализация стандарта (требований и команд), обеспечивающего соединение между компьютерами или между компьютерными программами. Используется программистами.