Часто мы не знаем, как программные продукты устроены изнутри — в этом и не всегда есть необходимость. Используемые решения нередко скрываются за «черным ящиком» и многими слоями абстракции, что делает их удобными для пользователей. Такие абстрактные уровни заметно ускоряют разработку, ведь возможно использовать уже готовые варианты для добавления функций. Это распространенная практика. Например, в большинстве ОС есть собственные API system, рассмотрим, для чего они нужны:
- работают с файлами;
- отображают графику;
- управляют данными;
- подключаются к сети;
- воспроизводят звук и многое другое.
Windows, Linux и macOS самостоятельно определяют, какая именно функциональность и параметры нужны для выполнения определенных операций. Вся эта информация указана в документации.