This may be a silly question, but since the newer Mac systems are built on unix, is it possible to run a Mac app natively on Ubuntu? I'm specifically interested in the Coda development environment.
This may be a silly question, but since the newer Mac systems are built on unix, is it possible to run a Mac app natively on Ubuntu? I'm specifically interested in the Coda development environment.
They're both POSIX systems but no. Most OSX applications rely on various libraries (eg: Cocoa -- like GTK but not GTK) that aren't open source and therefore can't be ported.
I think there has been some interest in writing a layer like Wine to replace things like Cocoa but as far as I know, nothing has ever come of it.
Correct, both are POSIX compliant. But Unix BSD originates from the Unix source code, that belonged to AT&T. The University at Berkeley and San Diego shared the rights to this code with AT&T, the original C code. The operating system interface layer to Unix System V was published in the "Unix SVID" documents" - three large volumes of how to use Unix System V - and interface to it: Interface Definition.
This book was compared to a number of standardisation documents at the time: X/Open and OSF had very similar definitions, and then the IEEE approved of the POSIX definition with the US DoD throwing in their "Steelman" requirements for a robust operating system. Xenix is like Linux an implementation from scratch of POSIX: Linus Torvald started with the skeleton and took on the task of working through the volumes, pulled through and submitted it to the IEEE for compliance verification and Linux passed.
The others, like SCO Unix, were approved as "Unix" by AT&T, and POSIX was made to be compliant to them - not that they should comply to POSIX. Mac only runs on the Intel iApX/x86 instruction set, while Linux is available on many more chips-set and "architectures".
The main difference between Mac and say Linux Mint is the file hierarchy. macOS has
/Applications
,/Library
and/User
folders - in Linux Mint/Ubuntu these are in the "Unix" like file hierarchy/usr/share/bin
usr/share/lib
and/home
- big deal. Besides that, the two are the same.Over the years, the libraries have been named differently and placed differently. Otherwise the difference in the file systems could have been bridged with environment variables. But Apple have designed things their way, and they the systems have gone different ways.
On Mint - outside Ubuntu, work is done on "Windows" as a diversion of KDE, where a standard way of setting up the libraries are defined, and this allows development for both - see "Homebrew".
Both use the X11r4 window manager and Apple based macOS on the Xfgc from DEC, we are free to choose. But the window manager is important, since this is the way the user interface to the systems. Both Mac and Ubuntu/Mint share the icons, widgets and styles. Apple has taken a lot of the management tools for macOS, just compiled them for their hardware and used them as "proprietary" - compare "Disk Utilities" on a Mac to "Disks".