




Первый релиз LDL 0.1 — маленькая библиотека с большой душой. Один API на 30 лет компьютерной истории
Приветствую, Хабравчане!
Рад представить первый публичный релиз библиотеки LDL.
LDL (Little Directmedia Layer) это не просто кроссплатформенная библиотека, а мост между разными эпохами разработки. Она позволяет писать код, который одинаково хорошо работает на Windows 95 и Windows 11, на старых ядрах Linux и современных дистрибутивах, на FreeBSD 3.0 и свежих релизах.
Библиотека написана на чистом C89 (ANSI C), что обеспечивает максимальную переносимость даже на самые экзотические компиляторы и платформы.
Раньше я писал LDL на C++98, что уже давало хорошую портабельность. Но со временем я пересмотрел подход. Во-первых, я полностью перешёл на C89, что дало максимальную совместимость со старыми компиляторами и платформами, включая DOS, Windows 95, Solaris и даже PlayStation 1. Во-вторых, я отказался от идеи выпустить сразу версию 1.0 со всей функциональностью. Теперь релизы выходят итеративно: сначала окна, события и графика, потом 2D-рендер, затем звук и шрифты. Так проект не зависает в офлайне на годы, а постепенно развивается на глазах у сообщества.
Да, ещё одна важная часть стратегии, бэкенды. LDL не пытается заменить SDL, SFML или GLFW, а становится надстройкой поверх них. В планах добавить бэкенды для:
SDL 1.2
SDL 2.x
SDL 3.x
SFML
GLFW
Это значит, что приложение на LDL можно собрать поверх любой из этих библиотек без изменения кода. API остаётся единым, а внизу можно подставить любую поддерживаемую систему окон и ввода.
Такой подход решает несколько задач. Во-первых, если нативной реализации под какую-то платформу ещё нет, можно временно использовать бэкенд через существующую библиотеку. Во-вторых, разработчики, уже знакомые с SDL или GLFW, могут попробовать LDL без полной замены своего инструментария. В-третьих, появляется
Читать на habr.com