Перейти к содержимому
Максиметер

Дистрибутив Cutefish развивает прослойку для запуска macOS-приложений в Linux

Дистрибутив Cutefish развивает прослойку для запуска macOS-приложений в Linux Разработчики дистрибутива Cutefish, развивающего одноимённую среду рабочего стола в стиле macOS, объявили о разработке прослойки Reef для запуска приложений macOS в Linux. Собранные для macOS программы устанавливаются из файлов в формате dmg и интегрируются с основным рабочим столом в Linux. Приложения выполняются без эмуляторов, виртуальных машин и проприетарных компонентов macOS. Reef развивается с нуля без использования наработок проекта Darling и без обратного инжиниринга закрытого ПО Apple. В процессе разработки функциональность реализуется отталкиваясь от возможностей, необходимых для запуска конкретных приложений - разработчики пытаются запустить какую-то программу, выявляют неработающие функции и реализуют их. Код Reef пока не опубликован публично, но в скором времени прослойку обещают добавить в состав дистрибутива Cutefish. Созданная проектом Cutefish прослойка насчитывает около 460 тысяч строк кода и использует некоторые компоненты macOS, поставляемые Apple под открытыми лицензиями, такие как Core Foundation (swift-corelibs-foundation), Grand Central Dispatch (swift-corelibs-libdispatch), стандартная библиотека языка Swift, библиотеки Libc и lzfse. Загрузчик и Objective-C runtime написаны с нуля на основе изучения кода objc4 runtime, компоновщика dyld и ядра xnu, но без его копирования. В проекте также используются WebKit, LLVM libc++, libc++abi, libunwind, curl, SQLite и Tcl. Графический API Metal реализован поверх OpenGL. Предоставляется сетевой фреймворк, реализация API Core Data, поддержка автосохранения окон и инерционная прокрутка в стиле macOS. Из уже запускаемых поверх Reef программ отмечены RSS-ридер NetNewsWire, эмулятор терминала Ghostty, архиватор Keka, текстовые редакторы CotEditor и TextMate, календарь Itsycal, система заметок Things 3 и тест Speedtest. При тестировании производительности, программы для macOS пока выполняются в несколько раз медленнее, например, исполняемый файл CotEditor для Linux запускается за 115 мс, а для macOS за 235 мc, различия во времени открытия файла с 20 тысячами строк составляют 0.12 сек. против 0.50 сек., реагирование на нажатие клавиши - 18 мс против 21 мс, а время отрисовки при прокрутке - 1.2 мс против 4.4 мс. @linux0ids

99 просмотров

Канал в каталоге Максиметера

2 537 подписчиков · IT и технологии

Ещё по теме «IT и технологии»

Читать дальше

Два раза в неделю свежие посты этого канала — на почту и в личную ленту. Без повторного поиска канала вручную.