Darling: Running macOS Apps on Linux, the Wine Way
Translated by a model; the original is in Russian.
The Darling project does for the macOS world what Wine does for Windows: it makes it possible to run programs written for another operating system directly on Linux. The name is a blend of “Darwin” and “Linux” — Darwin being the very kernel that macOS and iOS are built on.
The authors stress that Darling is not an emulator: programs execute directly, without any virtualization of the hardware, which is good for speed. Under the hood there is a full-fledged Darwin environment with all the familiar components — Mach, dyld, launchd. The system largely handles setting up the environment on its own, so all that's left for the user is to launch the desired application.
Free software and the license question
Darling is distributed under version 3 of the GNU GPL and is developed openly on GitHub. The project relies heavily on the Darwin source code that Apple publishes as free software, and it also draws on the work of third-party projects: The Cocotron formed the basis for the Cocoa implementation, to which Apportable Foundation and pieces of GNUstep have been added.
The authors also address the natural question of whether this violates Apple's user agreement. In their view, there is no violation: the only parts of Darwin used directly are those released as fully free software.
What already works, and what doesn't
The developers' ambition is to integrate the programs run under Darling into the Linux desktop so thoroughly that they look and behave like native applications. With graphical programs things are more modest: after a long effort, only basic experimental support for simple GUI applications has emerged. The word “almost” here rings truer than any promise.
You can also run Darling on Windows — via WSL 2; for the details, the authors point you to the documentation.
Among the long-term plans is support for iOS apps on ARM devices, including most Android smartphones. The developers cite the need to write their own implementation of UIKit as the main obstacle, and here they are openly calling on anyone willing to help. You can join the project, they claim, even without experience developing for macOS or iOS — it's enough to start with the documentation and the blog.
Source: Hacker News
Comments
Sign in, to comment.