GNUstep
GNUstep
|
|
---|---|
Some GNUstep applications in the classic NeXTStep look |
|
Basic data
|
|
developer | The GNUstep developers |
Current version | 0.26.2 (Startup) / 2.7.0 (Make) / 1.25.0 (Base) / 0.25.0 (GUI) / 0.25.0 (Backend) |
operating system | POSIX systems , etc. a. Linux , Unix ; macOS , Windows ( MinGW ) |
programming language | Objective-C |
category | Desktop environment |
License | GPL and LGPL ( Free Software ) |
German speaking | Yes |
gnustep.org |
GNUstep [ ɡnuːˈstɛp ] is a free , cross-platform and object-oriented programming interface that has fully implemented the OpenStep specification from NeXT ( Apple since 1997 ) and also incorporated many of the extensions from Cocoa (from macOS ). It's written in Objective-C .
GNUstep runs on POSIX systems ( Unix and Unix systems such as Linux ) as well as on Windows with MinGW and MSYS.
Like Cocoa, GNUstep also provides a Java interface and bridges ( bindings ) to Ruby and Scheme .
Furthermore, GNUstep has a scripting - Framework called Step Talk .
history
The development of GNUstep began when Paul Kunz and others from SLAC wanted to port the HippoDraw program from NeXTStep to other platforms.
Instead of completely rewriting HippoDraw, it was decided to recreate the part of NeXTSTEP on which the application depended. This first version was called libobjcX . This enabled them to port HippoDraw to all possible systems on which X11 was available without changing a single line in the HippoDraw source code.
After the specification of OpenStep had been published in 1994, it was decided to write a new objcX that adhered to the OpenStep API . This objcX then became known under the name "GNUstep".
paradigm
GNUstep is an implementation of OpenStep and therefore inherits the design guidelines as proposed by the OpenStep specification and supported by Objective-C.
- Model View Controller
- Target action
- Drag and drop
- delegation
- Message forwarding (through NSInvocation )
GNUstep is ...
A development environment for tools
- gnustep-base
- Also called Foundation Kit , with classes for strings , containers ( arrays , hash tables , ...), numbers of any size , etc., more powerful, object-oriented versions of the known data types are available. It also contains classes for threads, distributed objects, notifications, error handling and timers.
- gnustep-make
- which is also used by Base, simplifies the use of the make utility to create tools , graphical applications , libraries and bundles ( plug-ins ).
Useful libraries outside of the GNUstep core are, for example, "WebServer" to equip a program with basic web server capabilities, for example for remote maintenance, and "sqlclient" for access to databases.
A development environment for applications
- gnustep-gui
- Also known as the application kit , it contains all the classes required to build graphical applications . In addition to all the usual GUI elements ( widgets ) and the associated event handling, GNUstep GUI provides classes for PostScript graphics, Bezier paths, image handling, color management and so on and takes care of the spell check , printing, clipboard and drag- and -drop. Drop .
The integrated development environment ProjectCenter and the GUI designer Gorm - descendants of Project Builder and Interface Builder from NeXTStep - support rapid development.
(Not) a desktop
Many applications were written to make working with computers easier. These include, for example, the Workspace Manager and GNUMail . GNUstep does not have its own window manager .
The Étoilé desktop environment with its Azalea window manager is intended to remedy this. Any window manager can be used until its development stage allows it to be used in everyday use (and later, of course), but Window Maker is recommended .
No window manager
GNUstep is not a window manager. The GNUstep frameworks are not used by Window Maker either; Instead, it uses WINGs (“WINGs is not GNUstep”) as a toolkit that is optically based on GNUstep, but is written in C in contrast to it.
Development status
GNUstep-Base is stable on both Unix platforms and Windows and also works in the background in commercial programs.
GNUstep-GUI is already usable under Linux and Co. Windows still has some shortcomings in terms of integration, for several reasons:
- The surface provided by Windows solves many things differently than the design of OpenStep or Unix / X11 , the original home of GNUstep. It is by no means clear a priori whether the path is to be adopted by OpenStep, a Unix-like behavior is to be simulated or a completely separate Windows-compatible solution should be devised.
- Last but not least, most open source developers are at home on Unix and rarely use Windows.
See also
- Étoilé - GNUstep-based desktop environment
- Step Talk - GNUstep scripting - Framework
- Darling - GNUstep-based runtime environment for OS X applications
Web links
- GNUstep Wiki (English)
- GNUstep website (English)
- Unofficial GNUstep Blog (English)
- Cenon : vector graphics / DTP program
- Web presence of GNUstepWeb (English)
GNUstep desktop environments in development
- GNUstep Live CD on Debian -based live CD - Distribution with GNUstep software, version 1.0 on 6. November 2006 issued.
- Étoilé , associated news channel
- Backbone
documentation
- Base reference manual
- Reference manual for GUI
- Reference of the GNUstep extensions to the Foundation Kit
- Reference of the GNUstep extensions to the Application Kit
Since GNUstep is for the most part compatible with Cocoa , it is worthwhile to take a look at the extensive resources on Cocoa.
Individual evidence
- ↑ The gnustep Open Source Project on Open Hub: Languages Page . In: Open Hub . (accessed on July 18, 2018).