From Wikipedia, the free encyclopedia

Jump to: navigation, search
The GNUstep Project

GNUstep screenshot, showing a variety of applications developed with the GNUstep libraries, including a gomoku game, calculator, and a text editor.
Developed by GNUstep Developers
Latest release make 2.0.8, base 1.18.0, gui & back 0.16.0 / 2008-12-22; 110 days ago (make 2009-01-06; 95 days ago)
Written in Objective-C
Operating system Cross-platform
Type Desktop environment
License GNU General Public License
GNU Lesser General Public License

GNUstep is a free software implementation of NeXT's OpenStep Objective-C libraries (called frameworks), widget toolkit, and application development tools not only for Unix-like operating systems, but also for Microsoft Windows. It is part of the GNU Project.

GNUstep features a cross-platform, object-oriented development environment based on and completely compatible with the OpenStep specification developed by NeXT (which has since been bought by Apple Inc.) and Sun Microsystems. Like Apple, GNUstep also has a Java interface to OpenStep, as well as Ruby [1] and Scheme [2] bindings. The GNUstep developers track some additions to Apple's Cocoa to remain compatible. The roots of the GNUstep application interface are the same as the roots of Cocoa: NeXT and OpenStep. GNUstep predates Cocoa.


[edit] History

GNUstep began when Paul Kunz and others at Stanford Linear Accelerator Center wanted to port HippoDraw from NEXTSTEP to another platform. Instead of rewriting HippoDraw from scratch and reusing only the application design, they decided to rewrite the NeXTSTEP object 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 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".

[edit] Paradigms

GNUstep is modeled somewhat on OPENSTEP, NeXT's implementation of the OpenStep API, and thus inherits some design principles proposed in OPENSTEP as well as the Objective-C language.

[edit] Applications

Here are some examples of applications written for or ported to GNUstep.

[edit] Written from Scratch

[edit] Ported from NeXTSTEP, OPENSTEP, or Mac OS X

[edit] Class capabilities

[edit] Foundation Kit

  • 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

[edit] Application Kit

  • 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 sharing among applications

[edit] GNUSTEP live CD

The GNUSTEP live CD is based on Debian and works on i486, AMD64, PowerPC, and UltraSPARC computers. It is currently created using debian-live. Installing the system to a harddisk is possible with Internet access and the debootstrap tool.

[edit] References

[edit] See also

[edit] External links

Personal tools