GNUstep

GNUstep
software
Logo
Logo
GNUstep-applicazioni con la classica interfaccia NeXTStep
GNUstep-applicazioni con la classica interfaccia NeXTStep
GNUstep-applicazioni con la classica interfaccia NeXTStep
GenereIntegrated development environment
SviluppatoreProgetto GNU
Ultima versione1.14.0 cioè 0.12.0 (15 aprile 2007)
Sistema operativoUnix-like
Microsoft Windows
macOS
LinguaggioObjective C
LicenzaGPL e LGPL
(licenza libera)
Sito webwww.gnustep.org/
Modifica dati su Wikidata · Manuale

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

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

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

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 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

Altri progetti

  • Wikimedia Commons
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file su GNUstep

Collegamenti esterni

  • (EN) Sito ufficiale, su gnustep.org. Modifica su Wikidata
  • GNUstep / GNUstep (altra versione) / GNUstep (altra versione) / GNUstep (altra versione) / GNUstep (altra versione), su packages.debian.org. Modifica su Wikidata
  • Repository sorgenti di GNUstep, su github.com. Modifica su Wikidata
  • Sito di segnalazione bug, su savannah.gnu.org. Modifica su Wikidata
  • (EN) GNUstep, su Free Software Directory. Modifica su Wikidata
  • (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.
  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero