Roots in the NeXT system of the 1980s
Steve Jobs and NeXT 1985
NeXT cube launched 1988
NeXTSTEP system became OPENSTEP (1994)
NeXT bought by Apple 1996
FSF started implementing OPENSTEP
Passed or "close enough" first major release targets 2002
Compatible with OpenStep and MacOS X
Dual-platform applications
"Many applications run quite well"
No severe changes between versions
OpenStep is an API
1. FoundationKit is a collection of non-graphical objects,
2. AppKit is a collection of objects for graphical applications
3. Display Postscript is a screen drawing interface
Not a desktop, nor a library, but a design.
GNUstep’s implementation:
1. GNUstep-Make - a common build system
2. GNUstep-Base - implements the non-graphical parts
3. GNUstep-GUI - implements the graphical parts
4. GNUstep-Back - implements the screen display "backend" (Back-Art)
Display Ghostscript, to implement Display Postscript
Three servers:
- The GNUstep Distributed Notification Controller (gdnc)
- The GNUstep Distributed Objects Mapper (gdomap)
- The GNUstep Pasteboard Server (gpbs)
Not a window manager, nor just a desktop interface, but a design.
Relatively simple, compared to others
Distributions have gnustep already packaged
Need to install a font package for Back-Art
Each user: select backend and language
Make sure two servers started on boot, and one on login.
Objective C is compiled by GCC.
Superset of the ANSI C language that provides a SmallTalk-inspired syntax.
Brad J. Cox, Dennis Gladding (1992), Richard Stallman, Kresten Thorup (1993), Ovidiu Predescu, Stan Shebs.
Objective-C uses a runtime - dynamic manner at execution time.
Python, Ruby and Scheme
Send an object a message:
[myObject aMessage];
A message can take a parameter:
[myObject aParameteredMessage: aParameter];
or many parameters:
[myObject manyParameterMessage: aParameter otherName: anotherParameter];
Blocks can be embedded:
[[myObject message1] message2];
@interface...@end and @implementation...@end
What can you do with GNUstep? Some examples:
Development: GORM, InterfaceBuilder and Renaissance, HelpViewer, Charmap
Productivity: GWorkspace, Ink, Zipper, Terminal
Media: Camera, Maliwan, Cynthiune, ViewPDF, Preview and Slideshow, Cenon, PRICE
Network applications: GNUMail, GNUstepWeb, GSLDAP, TalkSoup, GnuTooth, Toolbox
Games: StepBill. Need more?