Udviklerne af Cutefish, der udvikler det ligesom navneprogram i macOS-stil, har annonceret udviklingen af lag Reef til at køre macOS-apps på Linux. Programmer, der er samlet til macOS, installeres fra filer i dmg-format og integreres med den primære desktop i Linux.
Applikationer kører uden emulatorer, virtuelle maskiner og proprietære komponenter fra macOS. Reef udvikles fra bunden uden brug af kodestykker fra projektet Darling og uden reverse engineering af Apples lukkede software. Under udviklingen implementeres funktionaliteten baseret på de behov, der er nødvendige for at køre specifikke applikationer – udviklerne forsøger at starte et program, identificerer ikke-fungerende funktioner og implementerer dem. Koden fra Reef er endnu ikke offentliggjort, men lagret forventes snart at blive en del af Cutefish-distributionen.
Det lag, der er skabt af Cutefish-projektet, indeholder omkring 460.000 linjer kode og bruger mere end 80 eksterne biblioteker, herunder komponenter fra macOS, der leveres af Apple under åbne licenser, såsom Core Foundation (swift-corelibs-foundation), Grand Central Dispatch (swift-corelibs-libdispatch), den standardbibliotek for Swift-sproget, samt biblioteker som Libc, lzfse, objc4, linker dyld og kernexnu. Projektet bruger også WebKit, LLVM libc++, libc++abi, libunwind, curl og Tcl. API Core Data er implementeret oven på SQLite, og det grafiske API Metal er oven på OpenGL. Der tilbydes en netværksramme, support til autosave af vinduer og inertial scrolling i macOS-stil.
Blandt de allerede kørende programmer oven på Reef er RSS-læseren NetNewsWire, terminalemulatoren Ghostty, arkivværktøjet Keka, tekstredaktørerne CotEditor og TextMate, kalendersystemet Itsycal, notatsystemet Things 3 og Speedtest.
Under præstationstest kører apps til macOS indtil videre flere gange langsommere; for eksempel starter CotEditor-exe-filen til Linux på 115 ms, mens den til macOS starter på 235 ms, forskellene i åbningstiden af en fil med 20.000 linjer er 0,12 sek. mod 0,50 sek., reaktionstiden på et tastetryk er 18 ms mod 21 ms, og tegnetiden ved scrolling er 1,2 ms mod 4,4 ms.



Kilde: opennet.ru
