man renaissance (Conventions) - GNUstep Development Framework


renaissance - GNUstep Development Framework




This manual page documents briefly the renaissance development framwork. 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 framwork 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).