Man pages sections > man7 > renaissance

renaissance - GNUstep Development Framework

RENAISSANCE(7) Miscellaneous Information Manual RENAISSANCE(7)


renaissance - GNUstep Development Framework




This manual page documents briefly the renaissance development framework. This manual page was written for the Debian distribution (based on the program's README file) because the original program does not have a manual page.
renaissance is a GNUstep develoment framework which runs on top of the GNUstep libraries. It also works on top of the Apple Mac OS X Cocoa libraries, providing an opaque layer to write portable applications.
GNUstep Renaissance allows you to describe your user interface in simple and intuitive XML files, using an open, standard format describing the logic of the interface. At run-time, GNUstep Renaissance will then generate the user interfaces (using the native host OpenStep-like libraries) by reading the XML files. The connections between the objects created from the XML files, and the other objects in the application are done via outlets (as traditionally in OpenStep); a new quick and intuitive syntax has been developed to make creating outlets as easy as possible.
GNUstep Renaissance contains quite a few new ideas over previous technologies. Some of the main end-user advantages of GNUstep Renaissance over previous OpenStep-inspired technologies for the same task are:

- Portability. User interfaces built using GNUstep Renaissance are
truly portable. They simply run without any change on any
OpenStep-based platform on which Renaissance has been ported
(currently, at least on both GNUstep and Apple Mac OS X).

- Open, simple and standard format. User interfaces built using
GNUstep Renaissance are saved into open, simple files which can be
edited and read on any platform using any text editor. The XML
format has been designed to be as easy to edit as possible. We will
have a specific graphical builder for GNUstep Renaissance, which will
make editing directly the XML files a rare operation; still, it's a
great advantage to be able to actually edit and inspect them directly
whenever needed. Your user interfaces will no longer be locked in
binary files which can only be edited using a specific
platform-specific application; you will be able to compare different
versions of the same user interface using diff and cvs diff (you
can't get any meaningful comparison with binary formats); and your
user interfaces will be finally stored in a readable format, which
you can read even from a terminal, making your program easier to
check. The format is so nice that I expect many hard hackers will
keep creating user interfaces directly in XML even when a graphical
editor is available!

- Easy localization. User interfaces built using GNUstep Renaissance
are much easier to translate than in all previous technologies. You
no longer need to create a new separate interface for the new
language: you can just provide the translation of the strings in a
.strings file, and GNUstep Renaissance will automatically replace
every string in the existing interface with the corresponding
translation. Previous technologies can't do this because they don't
support automatic sizing and layout of widgets.

- Themeability. Themes are a problem for traditional OpenStep-like
technologies, because a change in theme changes all the widgets
appearances and sizes. User interfaces built using GNUstep
Renaissance can survive easily a change in theme, since all sizing
and layout of widgets is done dynamically at runtime. Previous
technologies can't, and you would need to create a different user
interface for each different theme.
Renaissance is composed of the following blocks:

- AutoLayout: a collection of autolayout objects (h/v boxes, grids,
spaces, ...), providing automated runtime widget layout, similar to
what you find in most other toolkits on the market ... similar, but
better :-) The missing piece of the AppKit. Depends on gnustep-gui.

- Markup: an xml parsing/generating engine. Depends on gnustep-base.

- TagLibrary: a standard set of tag objects for use by the xml
parsing/generating engine in order to read/write gui windows, menus,
panels, etc. Depends on the previous parts: AutoLayout and Markup.
Renaissance was written by Nicola Pero <> and is part of the GNUstep project (
GNUstep Renaissance home page is at


This manual page was written by Brent A. Fulgham <>, for the Debian project (but may be used by others).
February 6, 2004 GNUstep