GNUstep è parte del progetto GNU.
GNUstep offre un ambiente di sviluppo multi-piattaforma orientato agli oggetti compatibile con le specifiche OpenStep sviluppate da NeXT (ora comprata da Apple Computer).
Al pari di Cocoa GNUstep ha anche un'interfaccia per Java come anche per Ruby e Scheme. Gli sviluppatori di GNUstep hanno ultimamente aggiunto alcune funzioni che Apple ha introdotto in Cocoa così da garantirne la compatibilita'. Le origini delle API GNUstep sono le stesse radici di Cocoa: NeXT e OpenStep. GNUstep anticipa Cocoa.
- paradigma Model-View-Controller
- Bersaglio-Azione (Target-Action)
- Drag and Drop
- Delegazione
- inoltro dei messaggi (mediante NSInvocation)
Foundation Kit.
- stringhe
- collezioni (vettori, insiemi, dizionari) ed enumeratori
- gestione degli archivi (file)
- archiviazione degli oggetti
- manipolazione avanzata delle date
- oggetti distribuiti e comunicazione fra processi
- gestione degli URL
- notifiche (notifications) e notifiche distribuite
- facile multi-threading
- orologi (timers)
- blocchi (locks)
- gestione delle eccezioni
Application Kit.
- elementi dell'interfaccia (viste a tabella, browser, matrici, viste a scorrimento)
- grafica (WYSIWYG, grafica in stile PostScript, curve di bezier, gestione delle immagini con diverse rappresentazioni, contesti grafici)
- gestione del colore (colori calibrati e di dispositivo, CMYK, RGB, HSB, a scala di grigi e rappresentazioni nominative, trasparenza con canale alfa)
- sistema di gestione del testo: Rich Text Format (RTF), allegati di testo, gestore di layout, compositore, righelli, stile dei paragarafi, gestione dei caratteri, controllo ortografico
- gestione dei documenti
- gestione della stampa: operazioni di stampa, pannello di stampa e layout di pagina
- gestore dell'aiuto
- servizi di copia e incolla (o clip board, appunti)
- controllo ortografico
- collegamenti per le applicazioni all'ambiente di lavoro
- operazioni di drag-and-drop
- condivisione di servizi fra applicazioni (services)