LINKS Projects wiki.gnustep.org www.gnustepweb.org livecd.gnustep.org etoile-project.org home.gna.org/garma savannah.nongnu.org/projects/gap www.opengroupware.org

Developers savannah.gnu.org/projects/gnustep www.gnustep.it www.collaboration-world.com www.roard.com/docs GNUSTEP

gnustep.org gnustep.org WHAT IS GNUSTEP? PROJECTS USING GNUSTEP

GNUstep is a free, standard, object-oriented, cross-platform, Objective- In addition to the many server applications available for based development environment that provides high quality programming GNUstep, many desktop applications using the GNUstep and visual interface design tools, a cohesive , and an frameworks are ready to go out of the box: attractive, high-productivity workspace. GNUstep is based on, and - email - IRC completely compatible with, the OpenStep specification developed by - MP3 and multimedia players - FTP NeXT (now Apple Computer Inc.) and Sun Microsystems. GNUstep - CD burner - SMB also plans to track changes to Mac OS X in order to ensure maximum - vector drawing programs - games compatibility with the latest specification. Many more apps are being created everyday as developers realize the simplicity and power afforded by the GNUstep environment. WHY? GNUstepWeb The OpenStep specification It's not just C, GNUstepWeb is a server side application framework which can provides the frameworks necessary be configured to be nearly compatible with WebObjects 4.5, for writing good applications with it's Objective-C and allows for the creation of powerful dynamic web sites using ease. There is a lot of anecdotal GNUstep follows in the tradition of GNUstep libraries and Objective-C. Databases using GDL2 can evidence that OpenStep developers NeXTSTEP, OPENSTEP and Mac OS X be easily plugged in, and Web components can be created which have written very complex by utilizing Objective-C as its follow a Model-View-Controller paradigm, where an object is commercial applications in weeks or implementation language. the model and the view is an HTML component. months, rather than the years it Objective-C is based on C, with a might have taken had they been few simple additions to make it working in other development truly object-oriented. Objective-C Étoilé environments. Using , the is a very minimal, yet powerful While GNUstep aims to be a cross-platform and powerful GNUstep visual interface modelling language that can be learned by C object-oriented development system, and not a desktop, many are application, it's possible to in a weekend. waiting for a free Desktop based on OpenStep technology. construct just the interface your GNUstep also provides bindings for Étoilé’s goal is to create a powerful and easy to use desktop using program requires with little or no additional languages, such as Java, GNUstep libraries. coding. Guile and Ruby.

OpenGroupware.org See http://www.gnustep.org/information/statement.html for more OpenGroupware.org is a free groupware server, using the reasons to use GNUstep. GNUstep Database Library.

gnustep.org gnustep.org GNUSTEP ADVANCED TECHNOLOGIES RAPID APPLICATION DEVELOPMENT

GNUstep provides two excellent applications for program Distributed Objects & Distributed Notifications development: GORM and ProjectCenter. GNUstep provides built-in multi-platform communication across threads, across programs, and even across machines with GORM: Graphical Object Relationship Modeller different endianness and type sizes. Build user interfaces with the simplicity of . Objective-C naturally handles remote calls, so calling a remote object is no different than calling a normal object. With the Gorm makes it possible to construct notification server, easily send notifications to any and all complex applications in a very short applications that request them. amount of time. Gorm eliminates the need to code GUIs by hand and gives you GDL2: GNU Database Library a totally WYSIWYG way to build your application's interface as well as to define GDL2 is a GNUstep library compatible with Enterprise Object how objects within the application Framework 4.5 (EOF4.5). This library allows for the mapping of interact. This allows the developer to objects onto database fields, tables and relations. It is also an spend more time focusing on the logic of abstraction layer for databases, as different adaptors for common the application itself. databases exist. ProjectCenter: Create and Manage Your Projects StepTalk Automatic Makefile creation. Easily build, test and install packages. StepTalk is the official GNUstep scripting framework and allows for the easy addition of scripting capabilities to any application.

Ready in 7 Lines

The seven lines to the right include $(GNUSTEP_MAKEFILES)/common.make PACKAGE_NAME = Bob are all you need to compile APP_NAME = Bob (debug, cross-platform), Bob_MAIN_MODEL_FILE = Bob.gorm install and package your Bob_RESOURCE_FILES = Bob.gorm BobInfo.plist application as an RPM. Bob_OBJC_FILES = main.m DissolveView.m include $(GNUSTEP_MAKEFILES)/application.make

gnustep.org gnustep.org CROSS-PLATFORM AND INTEGRATED One of GNUstep's goals is to be truly cross-platform. GNUstep Renaissance is available for many different systems, including BSD, and Mac OS X. An alpha port of GNUstep is even available for Renaissance for GNUstep allows for the description of user Windows. In the future, a further goal will be better interfaces in simple and intuitive XML files, using an , integration with the host platform and host desktop. standard format describing the logic of the interface. The connections between the objects created from the XML files, Mac OS X and the other objects in the application are done via outlets, as traditionally done in OpenStep; a new, quick and intuitive syntax Because Mac OS X's main programming API, Cocoa, is a direct has been developed to make creating outlets as easy as possible. descendant of the OpenStep API, it's quite easy to port GNUstep applications to Mac OS X and visa-versa. Generally, Perhaps the greatest strength of Renaissance is the ease with the most important work in the port is to reconstruct the which it allows porting of user interfaces to other Renaissance- graphic user interface of the application with either Interface capable operating systems, such as Mac OS X. Builder or GORM. Using Renaissance, an interface description technology, makes even this step unnecessary. http://www.gnustep.it/Renaissance

A Rebirth in Interface Portability

Two Renaissance-generated windows with controls, and the single piece of XML code used to create them.