Обёртка библиотеки


Обёртка библиотеки[1], библиотека-обёртка[2] (англ. wrapper library) — библиотека, реализующая промежуточный слой между прикладной программой и другой библиотекой или интерфейсом программирования приложений (API). Обёртку можно рассматривать как внутренний предметно-ориентированный язык (как обычная библиотека программ), но не совершенно новый язык. Обёртка библиотеки предоставляет только увязку, уточнение или сокращение существующего синтаксиса базового API или ABI обёртываемой библиотеки.[3]

Написание обертки для библиотеки может быть направлено на обеспечение совместимости данной библиотеки (или API) с определенным языком программирования (часто сценарным), в котором прямое использование функций этой библиотеки (или API) может быть сложным или невозможным.

Ещё одной причиной для создания обертки может быть желание упростить работу для разработчиков приложений. Например, это может быть адаптация библиотеки к другой парадигме программирования или компенсация недостатков дизайна библиотеки.

Кроме того, существуют кросс-платформенные обертки для библиотек, которые нивелируют различия реализаций для разных операционных систем. Например, wxWindows является обёрткой библиотеки WxWidgets, написанной на C++[5].

И хотя обёртки упрощают программирование, недостаток заключается в том, что обёртки немного отличается: каждая обёртка требует своего изучения.[6]