Darling: запуск macOS-приложений на Linux по образцу Wine
Проект Darling решает для мира macOS ту же задачу, что Wine решает для Windows: он даёт возможность запускать программы, написанные под чужую операционную систему, прямо в Linux. Название складывается из слов «Darwin» и «Linux» — Darwin как раз и является тем ядром, на котором построены macOS и iOS.
Авторы подчёркивают, что Darling — не эмулятор: программы исполняются напрямую, без виртуализации оборудования, что сказывается на скорости. Внутри реализована полноценная среда Darwin со всеми привычными компонентами — Mach, dyld, launchd. Настройку окружения система в основном берёт на себя, так что пользователю остаётся лишь запустить нужное приложение.
Свободное ПО и вопрос лицензии
Darling распространяется под лицензией GNU GPL версии 3 и разрабатывается открыто на GitHub. Проект во многом опирается на исходный код Darwin, который Apple публикует как свободное ПО, а также использует наработки сторонних проектов: The Cocotron лёг в основу реализации Cocoa, к нему добавлены Apportable Foundation и фрагменты GNUstep.
Отдельно авторы отвечают на закономерный вопрос о нарушении пользовательского соглашения Apple. По их словам, нарушения нет: напрямую задействуются только те части Darwin, что выпущены как полностью свободное программное обеспечение.
Что уже работает, а что нет
Амбиция разработчиков — интегрировать запускаемые под Darling программы в рабочий стол Linux настолько, чтобы они выглядели и вели себя как родные приложения. С графическими программами дело обстоит скромнее: после долгих усилий появилась лишь базовая экспериментальная поддержка простых GUI-приложений. Формулировка «почти» здесь звучит честнее любых обещаний.
Запустить Darling можно и на Windows — через WSL 2; подробности авторы отсылают искать в документации.
В долгосрочных планах — поддержка iOS-приложений на ARM-устройствах, включая большинство Android-смартфонов. Главным препятствием разработчики называют необходимость написать собственную реализацию UIKit, и здесь они открыто зовут на помощь всех желающих. Присоединиться к проекту, как утверждается, можно и без опыта разработки под macOS или iOS — достаточно начать с документации и блога.
Источник: Hacker News
Комментарии
Войдите, чтобы комментировать.