La maggior parte delle volte dovresti essere abbastanza sicuro.
OS-X è basato su BSD che, come Linux, è una variante di Unix, anche se una delle versioni più diverse.
Ha tuttavia chiamate kernel e OS molto simili ed è considerato conforme a Posix, che è la cosa principale necessaria per il funzionamento multipiattaforma.
Il più grande problema che devi affrontare quando si tratta della variazione di Apple sulle cose è
- CPU e amp; Architettura del processore.
- Aggiunte fatte al kernel del sistema operativo ma non rese nuovamente disponibili.
Prendendo ciascuno di questi a turno:
CPU e amp; Architettura del processore
Tutte le macchine Apple prodotte dal 2007 hanno CPU basate su Intel, tuttavia le macchine Apple precedenti utilizzavano una varietà di tipi di CPU diversi, dal Motorola 68000 fino all'IBM PowerPC.
Alcuni progetti Linux hanno in essi un linguaggio di assemblaggio in-line, specialmente cose che sono progettate per interfacciarsi con il kernel ad un livello molto basso.
In un giorno moderno Apple con un Intel, questo non è davvero un problema, ma se stai cercando di compilare qualcosa con una CPU non Intel, avrai dei problemi.
Fortunatamente, a causa della filosofia di Linux e della natura open source, questo tipo di pratica è disapprovato e molto raramente visto in applicazioni e strumenti regolari.
Inoltre, dove è noto che un'applicazione ha parti specifiche della piattaforma, spesso c'è uno script ./configure da eseguire che "configura" i sorgenti per la piattaforma su cui è costruita, o c'è un modo per specificare quale sia la build obiettivo dovrebbe essere.
Aggiunte fatte al kernel del sistema operativo ma non rese nuovamente disponibili allo stato selvaggio
Apple è famosa per aver dato il meglio di sé e, anche se non sono uno sviluppatore Apple (quindi non posso dire al 100% ciò che è e non è aggiunto), conosco molti altri sviluppatori chi sono.
Seguendo i vari commenti e le cose che mi sono state dette da altri, ci sono una serie di funzionalità del sistema operativo che sono disponibili solo nella variante Apples del SO base di Linux, e in alcuni casi, gli sviluppatori sono incoraggiati a utilizzarle luogo delle chiamate regolari.
Questo, tuttavia, dovrebbe solo influenzare il porting delle applicazioni andando in modo opposto, in quanto la piattaforma target è legata all'essere apple e non facilmente portabile ad altre varianti.
Portare le app esterne non dovrebbe essere un grosso problema, a patto che l'applicazione utilizzi solo chiamate API standard basate su posix e non provi a fare qualcosa di speciale o intelligente, né fare ipotesi sull'ambiente in cui è in esecuzione .
L'area in cui è più probabile avere problemi, si trova nello spazio della GUI. Beacuse la GUI è così strettamente legata alla libreria di finestre, e la libreria di finestre è dove si trova la maggior parte delle estensioni di terze parti di Apple, quindi IMHO se qualsiasi tipo di applicazione ti presenterà un mucchio di problemi, sarà qui .
La maggior parte delle robe generiche di Linux sono progettate per essere eseguite sotto un server X generico, o usando un toolkit come Gnome o Kde, entrambi i quali (correggimi se ho torto qui) mi permetto di credere non disponibile su OS-X.