1GNUstep(7) GNUstep System Manual GNUstep(7)
2
3
4
6 GNUstep - A free implementation of the OpenStep standard
7
8
10 GNUstep provides an Object-Oriented application development framework
11 and toolset for use on a wide variety of computer platforms. GNUstep
12 is based on the original OpenStep specification provided by NeXT, Inc.
13 (now Apple and called Cocoa).
14
15 GNUstep is written in Objective-C, an object-oriented superset of the C
16 programming language, similar to SmallTalk. However there exist a num‐
17 ber of bridges and interfaces to develop GNUstep programs using other
18 languages like JAVA or Ruby.
19
20 The GNUstep core system consists of the following parts, which are
21 jointly referred to as gnustep-core :
22
23 gnustep-make
24 A set of scripts and makefiles that heavily ease the creation
25 and maintenance of software projects.
26
27 gnustep-base
28 The FoundationKit libraries for non-GUI tools providing every‐
29 thing from string and array classes, filemanager classes to dis‐
30 tributed objects.
31
32 gnustep-gui
33 The ApplicationKit containing widgets, workspace classes and
34 means for applications to interact with the user. This is the
35 frontend of GNUstep's GUI part.
36
37 gnustep-back
38 This is the backend of GNUstep's GUI part which does the actual
39 rendering and event handling. It acts as a layer between
40 gnustep-gui and the operating/drawing system. Backends exist for
41 X11 (one using cairo, one using libart, one using xlib drawing)
42 and win32.
43
44 Apart from the above, there exist a number of addon libraries related
45 to GNUstep, like Renaissance which allows developers to specify an
46 application's user interface in xml. For database access, there is GDL2
47 - the GNUstep Database Library. Please refer to the GNUstep website for
48 more information.
49
50 GNUstep per default is self-contained. That means that all GNUstep
51 applications, tools, libraries and add-ons are installed into the
52 GNUstep directory hierarchy. However as of gnustep-make-2.0.0 it is
53 also possible to install everything in compliance with other filesystem
54 hierarchies. See the FilesystemLayouts directory in the source package
55 of gnustep-make for more information.
56
57 There are four domains which are searched for files: the System domain,
58 which should only contain the core system files, the Local domain which
59 stores all that has later been installed on the system, the Network
60 domain which should be used for importing data from a remote system,
61 and the User domain which resides in the user's home directory (mostly
62 ~/GNUstep).
63
64 A complete description of the default GNUstep layout can be found in
65 the filesystem.pdf.
66
67
68 TOOLS AND APPLICATIONS
69 In the world of GNUstep the term tool refers to command line programs
70 whereas applications are fully fledged GUI programs. Naturally, tools
71 reside in the domains' Tools folder, applications can be found in the
72 domains' Applications folder.
73
74 Applications are either launched using the openapp command or from the
75 Workspace.
76
77
78 SERVICES
79 In GNUstep applications globally offer functionality to other applica‐
80 tions through services. They can be reached through the Services menu
81 entry in an application's main menu. Apart from services offered by
82 applications, there may be programs whose sole purpose is the offering
83 of services. They can be found in the domains' Libary/Services folders.
84
85 The make_services tool makes sure the services are known to other
86 applications when a application is newly installed.
87
88
89 BUNDLES
90 A bundle is a collection of resources making up a discrete package for
91 use. There are currently three types of bundles: applications, frame‐
92 works and loadable bundles.
93
94 A loadable bundle is a kind of plug-in. There are two types of loadable
95 bundles, namely plug-ins and palettes. The plug-in is normally referred
96 to as a bundle, which can make it a bit confusing. A plug-in is a bun‐
97 dle that can be loaded by an application to provide additional func‐
98 tionality, while a palette is a plug-in for GORM, the interface
99 builder. A palette is used to extend GORM with custom UI objects. Pal‐
100 ettes have a .palette extension.
101
102
103 THE WORKSPACE
104 The central place of the user interface is the Workspace or Workspace
105 Manager which acts as an interface between the user and parts of the
106 system like files, processes, etc. The GWorkspace application provides
107 this functionality in GNUstep. See the GWorkspace website for more
108 details.
109
110
111 DEVELOPER APPLICATIONS
112 What would a development environment be without the applications to
113 create applications? The applications provided by GNUstep for Rapid
114 Application Development are:
115
116 GORM GORM is the interface modeler. With GORM you can quickly create
117 the graphical interface of your application.
118
119 Project Center
120 Project Center is the program where you can develop your pro‐
121 gram. It offers you automatic generation of GNUmakefiles ,
122 project maintenance and of course a code editor.
123
124
126 gcc(1), gdnc(1), gdomap(8), gopen(1), gpbs(1), make(1), openapp(1)
127
128 GNUstep Websites:
129
130 http://www.gnustep.org/
131 Official GNUstep website
132
133 http://wiki.gnustep.org/
134 GNUstep Wiki (lots of useful information)
135
136 http://savannah.gnu.org/projects/gnustep/
137 GNUstep Project Page
138
139 http://gnustep.made-it.com/
140 GNUstep Documentation Library
141
142 http://www.collaboration-world.com
143 Collaboration World, the home of GNUmail
144
145 http://www.gnustep.it/
146 The home of GWorkspace, JIGS, Renaissance and programming tuto‐
147 rials.
148
149 Mailinglists
150
151 http://www.gnustep.org/information/gethelp.html
152 Mailing lists and mailing list archives.
153
154 IRC
155
156 #GNUstep on FreeNode
157 You are invited to join the #GNUstep IRC channel on FreeNode
158 (irc.freenode.net).
159
161 GNUstep was at first a collaboration of two projects that wanted to
162 create a single GNUstep project that complied to the OpenStep specifi‐
163 cation provided by NeXT Computer, Inc. and SunSoft, Inc. Development of
164 this joint effort started around 1993-1994. For a more detailed history
165 description see the GNUstep Documentation Library referenced in the SEE
166 ALSO section.
167
168 GNUstep is developed and maintained by a large number of people. Please
169 see <http://www.gnustep.org/developers/whoiswho.html> for a list.
170
171
173 This man-page was first written by Martin Brecher <martin@mb-itconsult‐
174 ing.com> in august of 2003.
175
176 In December 2007 it was expanded by Dennis Leeuw <dleeuw@made-it.com>
177 and made to comply with the gnustep-make-2.0.x releases.
178
179
180
181gnustep-core 15/12/2007 GNUstep(7)