GNUstep programming mini-tutorials
These Pages are out of date and in need of a maintainer.
All the quick-and-easy tutorials to learn how to program GNUstep. GNUstep is the heaven of programming - simple, clean, consistent, powerful, extensible - here we show you why.
GNUstep-Base (Foundation)
These tutorials compose the base series. They are more or less in order - the more basic come first.
This tutorial introduces you to the GNUstep make package;
this package allows you to easily create and manage portable
GNUstep projects. It is probably the easiest make system on
earth, and fully integrated in GNUstep development
environment. You should have at least a quick read of this
tutorial before writing any line of code.
[ Online Version
| HTML Tarball
| Postscript
| LaTeX Source ]
Quick Introduction to Objective-C
TODO. To learn Objective-C, there is a great complete book online [ PDF Version]. Also have a look at the GNUstep Resources Page for other tutorials/introductions to objective-C. It's a very nice and easy language, worth learning and trying out. It really helps you to design good object-oriented software.
Memory Management (retain, release, autorelease pools, etc)
TODO
Basic Classes of the GNUstep Base Library
This tutorial introduces you to the GNUstep Base Library. The
GNUstep Base Library provides a wide range of classes and
objects to ease programming and abstract your code from hardware
and operating system dependencies. The wealth of classes and
features provided by this library might be confusing at first;
this tutorial will help you focus first on the four or five
classes you need to start with. Even if your interest is mainly
for GUI programming, if you know nothing about the GNUstep Base
Library it is worth reading quickly this tutorial before trying
to read any of the tutorials regarding the GNUstep Gui Library.
[ Online Version
| HTML Tarball
| Postscript
| LaTeX Source ]
GNUstep-GUI (AppKit)
This tutorial introduces you to the GNUstep GUI Library. The
GNUstep GUI library aims at implementing the NEXTSTEP/OPENSTEP
AppKit library; its superb design allows you to design and
implement better gui applications in less time. The only
prerequisites for this tutorial are having read the previous
tutorials and knowing at least a little of Objective-C (the
more, the better). It is only the first of a series; it covers
creating a very basic application, and adding menus to it.
[ Online Version
| HTML Tarball
| Postscript
| LaTeX Source ]
First GUI Application (2): NSWindow, NSButton
This tutorial goes further on in introducing you to GNUstep GUI
programming: it covers creating a window in an application, and
putting a button in it.
[ Online Version
| HTML Tarball
| Postscript
| LaTeX Source ]
First GNUstep Renaissance Application
This tutorial introduces you to GNUstep Renaissance -- a powerful
framework for building portable user interfaces. GNUstep Renaissance
solves the problems which have been troubling previous GNUstep
technologies for automating the build of user interfaces; it provides
total portability between GNUstep and Apple OSX and can automatically
adjust user interfaces for translations or changes in the underlying
platform or theme; all this while retaining and expanding all the best
ideas (such as connections and outlets) from the NeXTstep tradition of
Interface Builders and NIB files. It is a hot technology, mixing the
best ideas from different worlds, which will hopefully provide the
basis for the ultimate user interface building tool for the GNUstep
programmer. This tutorial helps you learn step by step some of the
basics of how to use this exciting software.
[ Online Version
| HTML Tarball
| Postscript
| LaTeX Source ]
GNUstep-Additions
These tutorials are outside the base set, and cover more specific topics.
This tutorial introduces you to GNUstep Distributed Objects,
which allow objects in different applications on the network
to easily and transparently call methods of each other.
GNUstep Distributed Objects are the GNU clone of the famous
distributed objects framework which used to ship with various
variants of NEXTSTEP/OPENSTEP; it takes full advantage of the
dynamical capabilities of the Objective-C language to provide
a distributed objects system which is extraordinarily easy and
friendly to use. It is recommended that you read all the
tutorials about non-graphical programming in the base series
before reading this one. If you know nothing about GNUstep
Distributed Objects, this is a must read.
[ Online Version
| HTML Tarball
| Postscript
| LaTeX Source ]
More on Makefiles: Libraries, Aggregate projects
This tutorial goes further on in introducing you to the GNUstep make
package: it covers creating makefiles for libraries, linking
applications and tools against existing libraries (both GNUstep and
non-GNUstep), creating libraries which depend on other libraries, and
using aggregate projects.
[ Online Version
| HTML Tarball
| Postscript
| LaTeX Source ]
Contact the author
These mini tutorials were written by Nicola Pero. Please feel free to send me comments and suggestions; bug fixes (for example reports of spelling and grammar mistakes and of code which doesn't work) are particularly appreciated. Other GNUstep resources by the same author can be found at http://www.gnustep.it.