Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
compare webbrowser
Freenet DSL
Who's Online
9 user(s) are online (9 user(s) are browsing encyclopedia)

Members: 0
Guests: 9

more...
browser tip
Unix Befehle
manual of unix befehle
recommendation!
Sponsored
partner

GNUstep

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 NeXTSTEP (which has since been bought by Apple Computer). Like Apple, GNUstep also has a Java programming language interface to OpenStep, as well as Ruby programming language and Scheme programming language bindings. The GNUstep developers track some additions to Apple s Cocoa (API) to remain compatible. The roots of the GNUstep application interface are same as the roots of Cocoa: NeXT and OpenStep. GNUstep predates Cocoa.

= 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-oriented programming 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 .

=Paradigms =

GNUstep is modeled closely on OPENSTEP, and thus inherits some of the design principles proposed in OPENSTEP and are assisted by the use of the Objective-C language.

  • Model-view-controller (MVC) paradigm
  • Target-Action
  • Drag and Drop
  • Delegation
  • Message Forwarding (through NSInvocation)
  • =Class capabilities=

    ==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
  • ==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
  • = See also =

  • Gorm (computing) - Graphical Object Relationship Manager (also UI builder)
  • StepTalk - Scripting framework
  • = External links =

    *[http://www.GNUstep.org/ The GNUstep Project Homepage] *[http://www.gnustep.org/experience/Gorm.html GNUstep Gorm (Interface Builder)] *[http://www.gnustep.org/experience/ProjectCenter.html GNUstep Project Center (Project Builder)] *[http://wiki.gnustep.org/ The GNUstep Wiki pages] *[http://www.gnustep.it GNUstep Applications and Developer Tutorials] *[http://www.nabble.com/GNUstep-f1880.html GNUstep Forum] - hosted by [http://www.nabble.com Nabble], which archives GNUstep mailing lists into a searchable forum.