2011-08-20 18 views
11

Eventuali duplicati:
Game programming on Objective-C and linuxObjective-C in Linux

So che lo sviluppo di applicazioni per iPhone (in modo indolore, almeno) richiede praticamente un Mac. Tuttavia, è possibile sviluppare normali applicazioni desktop usando Objective-C in Linux? Ad esempio, posso creare un gioco utilizzando una libreria di sviluppo per Objective-C e rilasciarlo per Linux, piuttosto che per iOS?

risposta

14

Ci sono un sacco di normal desktop applications che utilizzano GNUstep (versione gratuita di cacao API) su Linux.

Per i giochi si può provare sdlobjc - vincolante SDL per Objective-C.

Esiste anche una distribuzione Linux denominata Étoilé che utilizza l'ambiente utente basato su GNUstep e tutte le proprie applicazioni GUI scritte in Objective-C.

Se si desidera imparare a programmare in Objective-C utilizzando GNUstep su Linux (o Cygwin) ci sono alcuni possibili problemi:

  • È necessario utilizzare cygwin in finestre per generare l'applicazione. Il che significa che:

    a) alcune applicazioni può essere rallentato a causa delle traduzioni delle chiamate API POSIX per chiamate API Win32 di Cygwin. Ad esempio la chiamata fork() verrà tradotta nella chiamata CreateProcess di Win32 e in altri e sarà meno efficiente rispetto a UNIX.

    b) l'applicazione deve essere distribuito con dll di cygwin

    c) l'applicazione non può essere a 64 bit (almeno per ora)

    d) si applicazione vedrà tutte le finestre unità disco come parte della gerarchia del file system UNIX (c: e d: sarà /cygdrive/c e /cygdrive/d) e si avrà /bin/tmp/usr/etc avialable sotto / pure.

  • Non c'è up-to-date libri su GNUstep o sulla programmazione Objective-C non si utilizza Mac OS. Thre è il libro di Stephen Kochan "Programming in Objective-C 2.0 (2nd Edition)" in cui sfortunatamente spiega come costruire anche degli esempi di base sotto Linux o Windows. Spero sia stato risolto nella 3a edizione.

  • GNUstep ha i propri temi in modo che le applicazioni possano essere a tema in modo diverso rispetto alle applicazioni GTK Linux in Linux o alle normali applicazioni a tema in Windows.

+2

è GNUstep un intero IDE o è solo un framework? Per temi, suppongo che tu intenda il tema gui. – zeboidlund