GNUstep
From Wikipedia, the free encyclopedia
The GNUstep Project | |
GNUstep screenshot showing various applications developed with the GNUstep libraries |
|
Developer: | GNUstep Developers |
---|---|
Latest release: | make & base 1.13.0, gui & back 0.11.0 / August 28, 2006 |
OS: | Cross-platform |
Use: | Desktop environment |
License: | GPL and LGPL |
Website: | gnustep.org |
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 Computer). 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 same as the roots of Cocoa: NeXT and OpenStep. GNUstep predates Cocoa.
Contents |
[edit] History
GNUstep began when Paul Kunz and others at SLAC 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 which the application depended on. 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.
- Model-view-controller paradigm
- Target-Action
- Drag and drop
- Delegation
- Message forwarding (through NSInvocation)
[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 contextes)
- color management (calibrated vs. device colors; CMYK, RGB, HSB, gray and named color representations; alpha transparency)
- text system features: rich text format, text attachements, 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] See also
- Étoilé - GNUstep-based desktop environment
- Gorm - Graphical Object Relationship Manager (also UI builder)
- GNUstep Renaissance - framework for XML description of portable GNUstep/Mac OS X user interfaces
- StepTalk - Scripting framework
- Window Maker - a window manager designed to emulate the NeXT GUI as part of the wider GNUstep project
- Afterstep - a fork of the FVWM manager with a look based on that of NeXTStep.
[edit] External links
Wikimedia Commons has media related to: |
- The GNUstep Project Homepage
- GNUstep Gorm (Interface Builder)
- GNUstep Project Center (Project Builder)
- GNUstep Applications and Developer Tutorials
- GNUstep Forum - hosted by Nabble, which archives GNUstep mailing lists into a searchable forum.
- The GNUstep Application Project
- GNUstep Live CD - a Linux distribution/live CD focused on implementing the GNUstep framework and applications.
History: GNU Manifesto • GNU Project • Free Software Foundation (FSF)
GNU licenses: GNU General Public License (GPL) • GNU Lesser General Public License (LGPL) • GNU Free Documentation License (FDL)
Software: GNU operating system • bash • GNU Compiler Collection • GNU Emacs • Ghostscript • other GNU packages and programs
Advocates and activists: Richard Stallman (RMS) • Robert J. Chassell • Prof. Masayuki Ida • Geoffery Knauth • Lawrence Lessig • Eben Moglen • Henri Poole • Peter Salus • Gerald Sussman • FSF's Past Directors • others
Software developers: Richard Stallman (RMS) • Jim Blandy • Ulrich Drepper • Brian Fox • Tom Lord • Roland McGrath • other programmers
Software documentors: Richard Stallman (RMS) • Robert J. Chassell • Roland McGrath • other documentors