Többféle fordító létezik. A nyelvet az Apple fejleszti, ezért főként az ő fordítóik terjedtek el. Az Apple fordítói a GNU Compiler Collection-ön alapulnak, így a GCC tartalmaz Objective-C fordítót is. Mivel az Objective-C szintaxis a C/C++ szintaxis bővítése, működnek mindhárom nyelven írt forráskódokra. A fájlokat a kiterjesztésük alapján különböztetik meg: az Objective-C források .m, a tisztán C kódokat tartalmazó források .c, az Objective-C-t használó C++ források .mm kiterjesztéssel rendelkeznek.
A GNUStep project célja hogy egy jól használható implementációt adjon az egykori NEXTStep API-hoz, illetve a jelenlegi Cocoa könyvtárszerkezethez minnél több platformon.
Az 1980-as években Alakult a NEXTStep vállalat, amely céljául az új generációs hardware és software monponensek fejlesztését tűzte ki. A vállalat nagy sikereket tudhatott magáévá, a software komponensek terén nyújtott kitűnő eredményeinek köszönhetően. Megalkották a saját operációs környezetüket amely NEXTStep néven vált híressé. A vállalat egyre inkább a software fejlesztések irányába tolódott el.
A NEXTStep operációs környezet legnagyobb elónye a nagyon rugalmas és modern objetumoriantált kezelő és programozói felülete volt. Akkora sikernek örvendett hogy a fejlesztők úgy döntöttek hogy platformfüggetlen API-ként is létrehozzák hogy a software ipar mégnagyobb területén jelen legyenek. Az elkészült kereszt platformos API az OPENStep névre halgatott. Azonban alig hogy ez elkészült az Apple cég hivatalosan is bejelentette hogy felvásárolta a NEXTStep-et.
Az Apple természetesen felhasználta a NEXTStep környezetet az akkoriban fejlesztés alatt álló legújabb operásiós rendszerének magjaként a MAC OS X-hez. Az Apple hozzátette a saját fejlesztéseit a NEXTStep környezethez, amely lassacskán divergálni kezdett a nyilt szabványú OPENStep-től. Igy alakult ki az Apple fejlesztőinek kezei alatt a NEXTStep-ből a ma is használt Cocoa magja.
Az OPENStep nyilvánosságrahozása után számos kisérleti projekt indult az API teljes implementációját megcélozva. Ezen projektek egyike a ma is működő GNUStep, melynek alapjai a nyiltforráskódú linux világban gyökereznek. A GNUStep eredeti céljának tekintette hogy minnél számosabb platformon használhatóvá tegye az OPENStep API-t. Mikor azonban az Apple Cocoa-ja egyre távolabb került az eredeti OPENStep-től A GNUStep fejleszői feladatuknak tartották hogy lépést tartasank a Cocoa irányvonalával, miközben maximális mértékben hűek maradjanak az OPENStep szellemiségéhez. Megpróbálják ötvözni mindkét keretrendszer erősségeit miközben a gyengeségektől megpróbálnak megszabadulni, úgy, hogy a kész rendszer kompatibilis maaradjon az élő Cocoa-val.
A GNUStep sajnos nagyon sok könyvtári csomag kifejlesztését nem tartja feladatának, amiket az Apple adott a Cocoa-hoz. Így hát számos osztály amely szerves részét képezi az Apple fejlesztők eszköztárának, még mindig nem használható minden a GNUStep által támogatott platformon. Sőt könnyedén talalhatóak olyan a Cocoa által támogatott osztályok pl.: az AppKit-ben amelyek nem képezik a GNUStep AppKit-jének a részét.
Windows alatti fordításhoz használhatjuk a GNUStep rendszert és fejlesztőkörnyezetet, a következő címről: http://www.gnustep.org/experience/Windows.html
Innen telepítendő:
A 'home/MyFirstProject/hello.m' program fordítása:
Fontos, hogy a fordításnál megadjuk a szabványos Objective-C osztálykönyvtárat, mivel ennek használata nem automatikus, mint pl. C++ -nál. Ennek hiányában hibaüzenettel figyelmeztet a fordító.
A GNUStep Shell-ben egy Linux-szerű környezetet használhatunk programjaink fordításához, futtatásához, és teszteléséhez, de szabványos windows programként is futtathatóak lesznek.
A Fejlesztők nagy szerencéjére a GNUStep környezet tartalmaz néhány előre definiált linux stílusú makefile-t. Ezeket a makefile-okat kiegészthetjük saját forrásaink neveivel, majd egyszerűen futtahatjuk a linux rendszerek alatt jól megszokott make utasítást a shell-ben. Ennek hatására az egyes alkalmazás típusokhoz szükséges kapcsolók valamint forrásállományok autómatikusan hozzá lesznek linkelve a saját projektünkhöz.
Példa egy egyszerű TOOL ( nem grafikus parancssori alkalmazás ) makefile-jára :
Néhány fontos részlet amire érdemes felhívni a figyelmet :
Telepítenünk kell a GNUStep futtató és fejlesztő környezetet :
Ezután megpróbálhatjuk fordítani a forrásunkat. Vegyünk egy példát:
A fordítást a következő utasítással hajthatjuk végre:
Amennyiben hiba nélkül lefut a parancsunk, úgy futtathajtuk az alkalmazást. Azonban elképzelhető, hogy további csomagok szükségesek a fordításhoz. Például a következő hibaüzenetet kapjuk:
Ez azt jelenti, hogy a gobjc csomag hiányzik a rendszerből. A csomag telepítésével a hiba megszűnik.
Ha mindezek ellenére sem akar fordulni valami miatt a programunk, akkor érdemes kipróbálni a Windows-os szekcióban leírtak alapján egy makefile-t készíteni, majd kiadni a következő két parancsot.
A GNUStep System Preferences alkalmazásának segítségével a telepített gnustep környezetünk főbb beállításait menedzselhetjük. Technikailag az Apple OS X System Preferences klónja.
A ProjektCenter a GNUStep integrált fejlesztő eszköze (IDE), ami rapid fejlesztése, és könnyű alkalmazás menedzsmentet biztosít. Elkészítését a NeXT eredeti Project Builder alkalmazása és az Xcode ihlette. Segítséget nyújt új projekt indításában, a meglévők, valamint ezek forrásaink menedzselésében egy intuitív grafikai felhasználói felületen. Képes direkten makefile-t készíteni, amit aztán build-elni lehet promtból vagy magából az alkalmazásból is. Még mindig fejlesztés alatt áll, így várhatóak belőle újabb és újabb verziók.
Mielőtt a NeXT Computer Inc. forradalmasította a szofverfejlesztést az OpenStep API-val (Cocoa elődje), a grafikus interfészek tervezésének egy teljesen új módját is megalkotta a 90-es években. Ez volt az Interface Builder, ami az első alkalmazás volt ami a fejszetőnek lehetőséget adott gyorsan, szép felhasználói felület megalkotására, anélkül hogy mindent le keljen kódolnia. Drag & drop technikával rakhatta össze a felületet, például ablakok, gombok, és beviteli mezők elhelyezésével, és testreszabásával, valamint funkciók és változók összerendelésével. Ezáltal több időt hagyva a program fő funkciót megvalósító kódok kidolgozására. A GNUStep projekt része ként, ennek szellemében hozták létre a Gorm alkalmazást, ami a feljebb felsorolt összes lehetőséget biztosítja, továbbá képes együttműködni az előbb ismertetett ProjectCenter-el, és csakúgy, mint az még ez a termék is fejlesztés alatt áll.
A GNUStep, és alkalmazásainak telepítéséhez látogassunk el a projekt oldalára, azon belül a Download szekcióba, jelen esetben azon belül is a Windows Installer részhez: --Ezen a linken--