Programeri distribucije Cutefish, koja razvija istoimeno radno okruženje u stilu macOS, najavili su razvoj sloja Reef za pokretanje macOS aplikacija na Linuxu. Programi prikupljeni za macOS instaliraju se iz datoteka u dmg formatu i integriraju s glavnim radnim stolom na Linuxu.
Aplikacije se izvode bez emulatora, virtualnih mašina i vlasničkih komponenti macOS-a. Reef se razvija od nule bez korištenja tehnologija projekta Darling i bez obrnjenog inženjeringa zatvorenog softvera Apple-a. U procesu razvoja funkcionalnost se provodi oslanjajući se na mogućnosti potrebne za pokretanje konkretnih aplikacija — programeri pokušavaju pokrenuti neku aplikaciju, otkrivaju neispravne funkcije i implementiraju ih. Kod Reef-a trenutno nije objavljen javno, ali u bliskoj budućnosti se planira dodati ovaj sloj u distribuciju Cutefish.
Sloj koji je stvorila ekipa Cutefish sadrži oko 460.000 linija koda i koristi više od 80 vanjskih biblioteka, među kojima su komponente macOS-a, koje Apple isporučuje pod otvorenim licencama, kao što su Core Foundation (swift-corelibs-foundation), Grand Central Dispatch (swift-corelibs-libdispatch), standardna biblioteka jezika Swift, biblioteke Libc, lzfse, objc4, linker dyld i jezgra xnu. U projektu se također koriste WebKit, LLVM libc++, libc++abi, libunwind, curl i Tcl. Core Data API je implementiran na SQLite-u, a grafički API Metal na OpenGL-u. Pruža se mrežni framework, podrška za automatsko spremanje prozora i inercijsko pomicanje u stilu macOS-a.
Među već pokretanim programima na Reef-u su istaknuti RSS čitač NetNewsWire, emulator terminala Ghostty, arhivator Keka, tekstualni urednici CotEditor i TextMate, kalendar Itsycal, sustav za bilješke Things 3 i test brzine Speedtest. Tijekom testiranja performansi, programi za macOS trenutno rade nekoliko puta sporije, na primjer, izvršna datoteka CotEditor za Linux pokreće se za 115 ms, dok se za macOS pokreće za 235 ms, razlika u vremenu otvaranja datoteke sa 20.000 redaka iznosi 0,12 sekundi naspram 0,50 sekundi, reakcija na pritisak tipke — 18 ms naspram 21 ms, a vrijeme renderiranja pri pomicanju — 1,2 ms naspram 4,4 ms.
Programeri distribucije Cutefish, koja razvija istoimeno radno okruženje u stilu macOS, najavili su razvoj sloja Reef za pokretanje macOS aplikacija na Linuxu.



Izvor: opennet.ru
