Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  





2 Software architecture  



2.1  Rendering  





2.2  Paradigms  





2.3  Other interfaces  







3 Applications  



3.1  Written from scratch  





3.2  Ported from NeXTSTEP, OPENSTEP, or macOS  





3.3  Forks of GNUstep  







4 Class capabilities  



4.1  Foundation Kit  





4.2  Application Kit  







5 See also  





6 References  





7 External links  














GNUstep






العربية

Čeština
Deutsch
Español
Esperanto
فارسی
Français

Italiano

Norsk bokmål
Polski
Português
Română
Русский
Українська

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




In other projects  



Wikimedia Commons
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


GNUstep
Developer(s)GNUstep Developers
Stable release

make 2.9.0, base 1.28.0, gui 0.29.0, back 0.29.0 / May 6, 2021; 3 years ago (2021-05-06)

Preview release

only in the SVN software repository

Repository
Written inObjective-C
Operating systemCross-platform
TypeWidget toolkit
LicenseGNU General Public License for the applications
GNU Lesser General Public License for the libraries.
Websitegnustep.github.io

GNUstep is a free software implementation of the Cocoa (formerly OpenStep) Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.

GNUstep features a cross-platform, object-oriented IDE. Apart from the default Objective-C interface, GNUstep also has bindings for Java, Ruby,[2] GNU Guile and Scheme.[3] The GNUstep developers track some additions to Apple's Cocoa to remain compatible. The roots of the GNUstep application interface are the same as the roots of Cocoa: NeXTSTEP and OpenStep. GNUstep thus predates Cocoa, which emerged when Apple acquired NeXT's technology and incorporated it into the development of the original Mac OS X, while GNUstep was initially an effort by GNU developers to replicate the technically ambitious NeXTSTEP's programmer-friendly features.

History[edit]

GNUstep began when Paul Kunz and others at Stanford Linear Accelerator Center wanted to port HippoDraw from NeXTSTEP to another platform. Instead of rewriting HippoDraw from scratch and reusing only the application design, they decided to rewrite the NeXTSTEP object layer on which the application depended. This was the first version of libobjcX. It enabled them to port HippoDraw to Unix systems running the X Window System without changing a single line of their application source. After the OpenStep specification was released to the public in 1994, they decided to write a new objcX which would adhere to the new APIs. The software would become known as "GNUstep".[4]

Software architecture[edit]

Illustrates software components of the Linux desktop stack like the display server, graphics control element librariesorgraphical shells.

Rendering[edit]

GNUstep contains a set of graphical control elements written in the Objective-C programming language.

The graphical user interface (GUI) of GNUMail is composed of graphics control elements. GNUMail has to interact with the windowing system, e.g. X11orWayland, and its graphical user interface has to be rendered. GNUstep's backend provides a small set of functions used by the user interface library to interface to the actual windowing system. It also has a rendering engine which emulates common Postscript functions. The package gnustep-back provides the following backends:

Paradigms[edit]

GNUstep inherits some design principles proposed in OPENSTEP (GNUstep predates Cocoa, but Cocoa is based on OPENSTEP) as well as the Objective-C language.

Other interfaces[edit]

In addition to the Objective-C interface, some small projects under the GNUstep umbrella implement other APIs from Apple:

As of February 2020, there are no projects that build the Swift programming language against the GNUstep Objective-C environment.

Applications[edit]

Here are some examples of applications written for or ported to GNUstep.[8]

Written from scratch[edit]

Ported from NeXTSTEP, OPENSTEP, or macOS[edit]

Forks of GNUstep[edit]

Class capabilities[edit]

Foundation Kit[edit]

The Foundation Kit provides basic classes such as wrapper classes and data structure classes.

Application Kit[edit]

The Application Kit provides classes oriented around graphical user interface capabilities.

See also[edit]

References[edit]

  1. ^ Ported from NeXTSTEP. Recent builds, when built with libobjc2, can use a newer version ported from Mac OS X Snow Leopard
  • ^ "GNUstep Developer Tools - RIGS". www.gnustep.org. Retrieved 10 April 2018.
  • ^ GScheme Archived 2005-12-18 at the Wayback Machine
  • ^ "GNUstep History". gnustep.made-it.com. Retrieved 10 April 2018.
  • ^ "gnustep/libs-boron: Boron is the atom that comes before carbon". GitHub. GNUstep. 23 March 2019.
  • ^ "gnustep/libs-corebase". GNUstep. 19 November 2019.
  • ^ "gnustep/libs-quartzcore". GNUstep. 11 December 2019.
  • ^ "Category:Applications - GNUstepWiki". wiki.gnustep.org. Archived from the original on 23 March 2021. Retrieved 10 April 2018.
  • ^ "GNUstep Objective-C Runtime 2.0". GitHub. Note: Microsoft's WinObjC project contains a friendly fork of this library that includes a work around for the incremental linking issue.
  • External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=GNUstep&oldid=1233461904"

    Categories: 
    GNUstep
    Compatibility layers
    Cross-platform free software
    Free software programmed in Objective-C
    GNU Project software
    NeXT
    Software that uses Cairo (graphics)
    Widget toolkits
    X Window System
    Hidden categories: 
    Webarchive template wayback links
    Articles with short description
    Short description matches Wikidata
    Articles needing additional references from January 2010
    All articles needing additional references
    Articles needing cleanup from January 2012
    All pages needing cleanup
    Articles with sections that need to be turned into prose from January 2012
    Articles lacking reliable references from February 2011
    All articles lacking reliable references
    Articles with multiple maintenance issues
    Articles containing potentially dated statements from February 2020
    All articles containing potentially dated statements
    Commons link from Wikidata
    Official website different in Wikidata and Wikipedia
     



    This page was last edited on 9 July 2024, at 05:54 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki