All Topics  
GNUstep

 

   Email Print
   Bookmark   Link






 

GNUstep



 
 
GNUstep is a free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 implementation of NeXT
NeXT

NeXT, Inc. was an American computer company headquartered in Redwood City, California, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets....
's OpenStep
OpenStep

OpenStep is an object-oriented application programming interface specification for an object-oriented operating system that uses any modern operating system as its core, principally developed by NeXT with Sun Microsystems....
 Objective-C
Objective-C

Objective-C is a Reflection , Object-oriented programming programming language which adds Smalltalk-style message passing to C .Today it is used primarily on Mac OS X, iPhone OS, and GNUstep, three environments based on the OpenStep standard, and is the primary language used for the NEXTSTEP, OpenStep#OPENSTEP, and Cocoa application framew...
 libraries (called frameworks), widget toolkit
Widget toolkit

A widget toolkit, widget library, or GUI toolkit is a set of GUI widget for use in designing applications with graphical user interfaces ....
, and application development tools not only for Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s, but also for Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
. It is part of the GNU Project
GNU Project

The GNU Project is a free software, mass collaboration project, announced on September 27 1983 by Richard Stallman. It initiated the GNU operating system, software development for which began in January 1984....
.

GNUstep features a cross-platform, object-oriented development environment based on and completely compatible with the OpenStep specification developed by NeXT
NeXT

NeXT, Inc. was an American computer company headquartered in Redwood City, California, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets....
 (which has since been bought by Apple Inc.) and Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
.






Discussion
Ask a question about 'GNUstep'
Start a new discussion about 'GNUstep'
Answer questions from other users
Full Discussion Forum



Encyclopedia


GNUstep is a free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 implementation of NeXT
NeXT

NeXT, Inc. was an American computer company headquartered in Redwood City, California, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets....
's OpenStep
OpenStep

OpenStep is an object-oriented application programming interface specification for an object-oriented operating system that uses any modern operating system as its core, principally developed by NeXT with Sun Microsystems....
 Objective-C
Objective-C

Objective-C is a Reflection , Object-oriented programming programming language which adds Smalltalk-style message passing to C .Today it is used primarily on Mac OS X, iPhone OS, and GNUstep, three environments based on the OpenStep standard, and is the primary language used for the NEXTSTEP, OpenStep#OPENSTEP, and Cocoa application framew...
 libraries (called frameworks), widget toolkit
Widget toolkit

A widget toolkit, widget library, or GUI toolkit is a set of GUI widget for use in designing applications with graphical user interfaces ....
, and application development tools not only for Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s, but also for Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
. It is part of the GNU Project
GNU Project

The GNU Project is a free software, mass collaboration project, announced on September 27 1983 by Richard Stallman. It initiated the GNU operating system, software development for which began in January 1984....
.

GNUstep features a cross-platform, object-oriented development environment based on and completely compatible with the OpenStep specification developed by NeXT
NeXT

NeXT, Inc. was an American computer company headquartered in Redwood City, California, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets....
 (which has since been bought by Apple Inc.) and Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
. Like Apple, GNUstep also has a Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
 interface to OpenStep
OpenStep

OpenStep is an object-oriented application programming interface specification for an object-oriented operating system that uses any modern operating system as its core, principally developed by NeXT with Sun Microsystems....
, as well as Ruby and Scheme bindings
Binding (computer science)

In computer science, binding is the creation of a simple reference to something that is larger and more complicated and used frequently. The simple reference can be used instead of having to repeat the larger thing....
. The GNUstep developers track some additions to Apple's Cocoa
Cocoa (API)

Cocoa is one of Apple Inc.'s native object-oriented application program environment for the Mac OS X operating system. It is one of four major Application programming interfaces available for Mac OS X; the others are Carbon , POSIX , and Java platform....
 to remain compatible. The roots of the GNUstep application interface are the same as the roots of Cocoa: NeXT and OpenStep. GNUstep predates Cocoa.

History


GNUstep began when Paul Kunz
Paul Kunz

particle physics and software developer Paul Kunz initiated the deployment of the first web server outside of Europe. After a meeting in September with Tim Berners-Lee of CERN, he returned to the SLAC with word of the World Wide Web....
 and others at Stanford Linear Accelerator Center
Stanford Linear Accelerator Center

The SLAC National Accelerator Laboratory, originally named Stanford Linear Accelerator Center, is a United States Department of Energy United States Department of Energy National Laboratories operated by Stanford University under the programmatic direction of the U.S....
 wanted to port HippoDraw
HippoDraw

HippoDraw is a powerful Object oriented programming statistical data analysis Software package written in C++, with user interaction via a Qt -based GUI and a Python scriptable interface....
 from NEXTSTEP
NEXTSTEP

Nextstep was the original Object-oriented operating system, computer multitasking operating system that NeXT developed to run on its range of proprietary computers, such as the NeXTcube....
 to another platform. Instead of rewriting HippoDraw from scratch and reusing only the application design, they decided to rewrite
Rewrite (programming)

A rewrite in computer programming is the act or result of re-implementing a large portion of existing functionality without re-use of its source code....
 the NeXTSTEP object
Object-oriented programming

Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs....
 layer on which the application depended. This was the first version of libobjcX. It enabled them to port HippoDraw to Unix systems running the X Window System
X Window System

The X Window System is a computing software system and network protocol that provides a graphical user interface for networked computers. It implements the X Window System protocols and architecture and provides windowing system on raster graphics Visual display units and manages Keyboard and pointing device control functions....
 without changing a single line of their application source. After the OpenStep specification was released to the public in 1994, they decided to write a new objcX which would adhere to the new APIs. The software would become known as "GNUstep".

Paradigms


GNUstep is modeled somewhat on OPENSTEP, NeXT's implementation of the OpenStep API
OpenStep

OpenStep is an object-oriented application programming interface specification for an object-oriented operating system that uses any modern operating system as its core, principally developed by NeXT with Sun Microsystems....
, and thus inherits some design principles proposed in OPENSTEP as well as the Objective-C
Objective-C

Objective-C is a Reflection , Object-oriented programming programming language which adds Smalltalk-style message passing to C .Today it is used primarily on Mac OS X, iPhone OS, and GNUstep, three environments based on the OpenStep standard, and is the primary language used for the NEXTSTEP, OpenStep#OPENSTEP, and Cocoa application framew...
 language.
  • Model-view-controller
    Model-view-controller

    Model?View?Controller is an Architectural pattern used in software engineering. Successful use of the pattern isolates business logic from user interface considerations, resulting in an application where it is easier to modify either the visual appearance of the application or the underlying business rules without affecting the other....
     paradigm
  • Target-Action
    Target-Action

    The term Target-Action design paradigm refers to a kind of software architecture, where a computer program is divided up into Object which dynamically establish relationships by telling each other which object they should target and what action or message to send to that target when an event occurs....
  • Drag and drop
  • Delegation
  • Message forwarding
    Message passing

    Message passing in computer science, is a form of communication used in parallel computing, object-oriented programming, and interprocess communication....
     (through NSInvocation)


Applications

There are several applications built for/upon GNUstep. For example the e-mail client GNUMail
GNUMail

GNUMail is a Free software, open source, cross-platform e-mail client for GNUstep and Cocoa . It is the official Mail Client of GNUstep and is also used in ?toil?....
, which can also run on Mac OS X. Or the application server GNUstepWeb.

Class capabilities


Foundation Kit
Foundation Kit

The Foundation Kit, or just Foundation for short, is a framework specified under the OpenStep specification. It specifies device independent class and programming functionality....


  • strings
  • collections (arrays, sets, dictionaries) and enumerators
  • file management
  • object archiving
  • advanced date manipulation
  • distributed objects and inter-process communication
  • URL handling
  • notifications (and distributed notifications)
  • easy multi-threading
  • timers
  • locks
  • exception handling


Application Kit
Application Kit

The Application Kit is a collection of classes within the OpenStep specification and provided by such operating systems as OPENSTEP, GNUstep, and Mac OS X under Cocoa , providing classes oriented around graphical user interface capabilities....


  • user interface elements (table views, browsers, matrices, scroll views)
  • graphics (WYSIWYG, postscript-like graphics, bezier paths, image handling with multiple representations, graphical contexts)
  • color management (calibrated vs. device colors; CMYK, RGB, HSB, gray and named color representations; alpha transparency)
  • text system features: rich text format, text attachments, layout manager, typesetter, rules, paragraph styles, font management, spelling
  • document management
  • printing features: print operations, print panel and page layout
  • help manager
  • pasteboard (aka clip board) services
  • spell checker
  • workspace bindings for applications
  • drag and drop operations
  • services
    Services menu

    The Services menu is a user interface element in a computer operating system. The services are programs that accept input from the user selection, process it, and optionally put the result back in the clipboard....
     sharing among applications


See also


  • Étoilé
    Etoile

    ?toile is French for "star", from Latin stella. More specifically, it can refer to:* Place de l'?toile, a Paris road junction* Charles de Gaulle - ?toile, a station on the Paris metro...
     - GNUstep-based desktop environment
  • Gorm
    Gorm (computing)

    Gorm is a graphical interface builder application. It is part of the developer tools of GNUstep.Gorm is the equivalent of Interface Builder that was originally found on NeXTSTEP, then OPENSTEP, and finally on Mac OS X....
     - Graphical Object Relationship Manager (also UI builder)
  • GNUstep Renaissance
    GNUstep Renaissance

    GNUstep Renaissance is a development framework that reads XML descriptions of graphical user interfaces from an Bundle and converts them into native GUI widgets and connections at runtime under either GNUstep or Mac OS X....
     - framework for XML description of portable GNUstep/Mac OS X user interface
    User interface

    The user interface is the aggregate of means by which people—the User s—Interaction with the system—a particular machine, device, computer program or other complex tools....
    s
  • StepTalk
    StepTalk

    StepTalk is the official GNUstep Scripting language framework that represents separate scriptable servers or applications as a single object environment....
     - Scripting framework
  • Miller Columns
    Miller Columns

    Miller Columns are a File_manager#Navigational_file_manager/visualization technique that can be applied to Tree . The columns allow multiple levels of the hierarchy to be open at once, and provide a visual representation of the current location....
     The method of file tree browsing the GWorkspace File Viewer uses.
  • Window Maker
    Window Maker

    Window Maker is a window manager for the X Window System, allowing graphical applications to be run on Unix-like operating-systems. It is designed to emulate NeXT's graphical user interface as an OpenStep-compatible environment and has been described as "one of the most useful and universal window managers available." Window Maker is released...
     - a window manager
    Window manager

    A window manager is computer software that controls the placement and appearance of window within a windowing system in a graphical user interface....
     designed to emulate the NeXT GUI as part of the wider GNUstep project
  • AfterStep
    AfterStep

    In Unix computing, AfterStep is a window manager for the X Window System. The goal of AfterStep's development is to provide for flexibility of desktop configuration, improved aesthetics and efficient use of system resources....
     - a fork of the FVWM
    FVWM

    The F Virtual Window Manager is a virtual window manager for the X Window System. Originally a twm derivative, FVWM has evolved into a powerful and highly configurable environment for Unix systems....
     manager with a look based on that of NeXTStep.


External links

  • - hosted by , which archives GNUstep mailing lists into a searchable forum.
  • - a Linux distribution
    Linux distribution

    A Linux distribution is a member of the family of Unix-like software distributions built on top of the Linux kernel. Such distributions consist of a large collection of software applications such as word processors, spreadsheets, media players and database applications....
    /live CD focused on implementing the GNUstep framework and applications.