Ответ 1
Существует много обычных настольных приложений, которые используют GNUstep (бесплатная версия Cocoa API) в Linux.
Для игр вы можете попробовать sdlobjc - привязку SDL для Objective-C.
Существует даже дистрибутив Linux под названием Étoilé, в котором используется пользовательская среда, основанная на GNUstep, и все собственные приложения графического интерфейса написаны в Objective-C.
Если вы хотите узнать, как программировать в Objective-C, используя GNUstep в Linux (или cygwin), есть некоторые возможные проблемы:
-
Вы должны использовать cygwin в окнах для создания приложения. Это означает, что он:
a) некоторые приложения могут быть замедлены из-за перевода cygwin вызовов API POSIX на вызовы API Win32. Например, вызов
fork()
будет транслироваться в вызове Win32 CreateProcess и некоторых других и будет менее эффективным, чем в UNIX.b) ваше приложение должно быть распространено с dll cygwin
c) ваше приложение не может быть 64-битным (по крайней мере пока)
d) приложение увидит все ваши диски Windows в составе иерархии файловой системы unix (c: и d: будет /cygdrive/c и /cygdrive/d), и вы будете иметь /bin/tmp/usr/etc avialable под /.
-
Там нет современных книг о GNUstep или о программировании Objective-C, не использующих Mac OS. Thre - книга Стивена Кочана "Программирование в Objective-C 2.0 (2nd Edition)", где он, к сожалению, дает объяснение того, как создавать даже базовые примеры под Linux или Windows. Надеюсь, это исправлено в 3-м издании.
-
GNUstep имеет собственные темы, поэтому приложения могут быть разными, чем приложения GTK Linux в Linux или обычное тематическое приложение в Windows.