GNUstep
GNUstep software | |
---|---|
GNUstep-applicazioni con la classica interfaccia NeXTStep | |
Genere | Integrated development environment |
Sviluppatore | Progetto GNU |
Ultima versione | 1.14.0 cioè 0.12.0 (15 aprile 2007) |
Sistema operativo | Unix-like Microsoft Windows macOS |
Linguaggio | Objective C |
Licenza | GPL e LGPL (licenza libera) |
Sito web | www.gnustep.org/ |
GNUstep è un'implementazione delle librerie (chiamate "framework") OpenStep in Objective C di NeXT (attualmente Apple), inoltre offre strumenti di sviluppo non solo per sistemi operativi di tipo Unix ma anche per Microsoft Windows. 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). 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 compatibilità. Le origini delle API GNUstep sono le stesse radici di Cocoa: NeXT e OpenStep. GNUstep anticipa Cocoa.
Storia
[modifica | modifica wikitesto]La storia di GNUstep inizia quando Paul Kunz e altri allo SLAC vollero eseguire il porting di HippoDraw da NEXTSTEP verso una nuova piattaforma. Invece di riscrivere HippoDraw da zero riusando soltanto l'architettura dell'applicazione, decisero di riscrivere lo strato di oggetti NeXTSTEP su cui l'applicazione dipendeva. Questa fu la prima versione di libobjcX. Permise di portare HippoDraw verso sistemi Unix che usavano il sistema grafico X Window senza cambiare una singola riga di codice dei sorgenti della loro applicazione. Dopo che le specifiche OpenStep furono distribuite al pubblico nel 1994 essi decisero di scrivere un nuovo objcX che aderisse alle nuove API. Questo software divenne poi noto come GNUstep.
Paradigmi
[modifica | modifica wikitesto]GNUstep ricalca fedelmente OpenStep e per questo eredita alcuni dei principi di esso ed è coadiuvato dall'uso del linguaggio Objective C.
- paradigma Model-View-Controller
- Bersaglio-Azione (Target-Action)
- Drag and Drop
- Delegazione
- inoltro dei messaggi (mediante NSInvocation)
Potenzialità delle Classi
[modifica | modifica wikitesto]Foundation Kit
[modifica | modifica wikitesto]- 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
[modifica | modifica wikitesto]- elementi dell'interfaccia (viste a tabella, browser, matrici, viste a scorrimento)
- grafica (WYSIWYG, grafica in stile PostScript, curve di Bézier, 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 paragrafi, 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)
Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su GNUstep
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su gnustep.org.
- GNUstep / GNUstep (altra versione) / GNUstep (altra versione) / GNUstep (altra versione) / GNUstep (altra versione), su packages.debian.org.
- Repository sorgenti di GNUstep, su github.com.
- Sito di segnalazione bug, su savannah.gnu.org.
- (EN) GNUstep, su Free Software Directory.
- (EN) GNUstep Gorm (Interface Builder), su gnustep.org.
- (EN) GNUstep Project Center (Project Builder), su gnustep.org.
- (EN) Il Wiki di GNUstep, su wiki.gnustep.org. URL consultato il 20 giugno 2005 (archiviato dall'url originale l'8 marzo 2005).
- (EN) Applicazioni e tutorial per sviluppatori, su gnustep.it.