Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

GNUstep

From Wikipedia, the free encyclopedia
(Redirected fromStepTalk)
Open source widget toolkit and application development tools
This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages)
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "GNUstep" – news ·newspapers ·books ·scholar ·JSTOR
(January 2010) (Learn how and when to remove this message)
This articleis inlist format but may read better asprose. You can help byconverting this article, if appropriate.Editing help is available.(January 2012)
This articlerelies excessively onreferences toprimary sources. Please improve this article by addingsecondary or tertiary sources.
Find sources: "GNUstep" – news ·newspapers ·books ·scholar ·JSTOR
(February 2011) (Learn how and when to remove this message)
(Learn how and when to remove this message)
GNUstep
Window Maker and a variety of applications were developed with the GNUstep libraries, including agomoku game,calculator, andTextEdit.
Developer(s)GNUstep Developers
Stable release
make 2.9.2, base 1.30.0, gui 0.31.1, back 0.31.0 / June 6, 2024; 9 months ago (2024-06-06)
Preview release
on the GitHub 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.
Websitewww.gnustep.org

GNUstep is afree software implementation of theCocoa (formerlyOpenStep)Objective-Cframeworks,widget toolkit, and application development tools forUnix-likeoperating systems andMicrosoft Windows. It is part of theGNU Project.

GNUstep features a cross-platform, object-orientedIDE. Apart from the defaultObjective-C interface, GNUstep also hasbindings forJava,Ruby,[1]GNU Guile andScheme.[2] The GNUstep developers track some additions to Apple'sCocoa to remain compatible. The roots of the GNUstep application interface are the same as the roots of Cocoa:NeXTSTEP andOpenStep. GNUstep thus predates Cocoa, which emerged whenApple acquiredNeXT's technology and incorporated it into the development of the originalMac OS X, while GNUstep was initially an effort byGNU developers to replicate the technically ambitious NeXTSTEP's programmer-friendly features.

History

[edit]

GNUstep began whenPaul Kunz and others atStanford Linear Accelerator Center wanted to portHippoDraw fromNeXTSTEP to another platform. Instead of rewriting HippoDraw from scratch and reusing only the application design, theydecided to rewrite the NeXTSTEPobject layer on which the application depended. This was the first version oflibobjcX. It enabled them to port HippoDraw to Unix systems running theX 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 newobjcX which would adhere to the new APIs. The software would become known as "GNUstep".[3]

Software architecture

[edit]
Software components of the Linux desktop include thedisplay server,graphics control element libraries, andgraphical shells.

TheFoundation Kit provides basic classes such as wrapper classes and data structure classes. TheApplication Kit provides classes oriented aroundgraphical user interface capabilities. GNUstep contains a set ofgraphical control elements written in the Objective-C programming language.

Thegraphical user interface (GUI) ofGNUMail is composed of graphics control elements. GNUMail has to interact with thewindowing system, e.g.X11 orWayland, and its graphical user interface has to berendered. GNUstep's backend provides a small set of functions used by the user interface library to interface to the actualwindowing system. It also has arendering engine which emulates commonPostscript functions. The package gnustep-back provides the following backends:

  • cairo – default backend using theCairo 2D graphics library.
  • winlib – default backend on Microsoft Windows systems. Cairo andWindows API variants.
  • art – old (deprecated) backend on unix-like systems. Uses the vector-based PostScript-like 2D graphics libraryLibart.
  • xlib – old (deprecated) X11 backend.

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

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

  • The Boron library aims to implement theCarbon API. It is very incomplete.
  • The CoreBase library is designed to be compatible withCore Foundation. It is not complete enough for the Base (Foundation Kit) component to simply be a wrapper around it.
  • The QuartzCore library implementsCore Animation APIs. The Opal library implementsQuartz 2D.

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

Applications

[edit]

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

See also:Category:Software that uses GNUstep

Original

[edit]

Ported from NeXTSTEP, OPENSTEP, or macOS

[edit]

Forks of GNUstep

[edit]

See also

[edit]

References

[edit]
  1. ^"GNUstep Developer Tools - RIGS".www.gnustep.org. Retrieved10 April 2018.
  2. ^GSchemeArchived 2005-12-18 at theWayback Machine
  3. ^"GNUstep History".gnustep.made-it.com. Retrieved10 April 2018.
  4. ^"Window Maker Live: Cool Retro Look, Even Cooler Performance".LinuxInsider. August 28, 2017.
  5. ^"The best old-school Linux window managers that still hold up".ZDNET. 1 October 2024.
  6. ^"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]
Wikimedia Commons has media related toGNUstep.
History
Licenses
Software
Contributors
Other topics
Low-level platform-specific
OnAmigaOS
OnClassic Mac OS,macOS
OnWindows
OnUnix,
underX11
OnBeOS,Haiku
OnAndroid
CLI
Low Level Cross-platform
CLI
C
Java
High-level, platform-specific
OnAmigaOS
OnClassic Mac OS,macOS
Object Pascal
Objective-C,Swift
C++
CLI
OnWindows
CLI
C++
Object Pascal
OnUnix,
underX11
OnAndroid
High-level, cross-platform
C
C++
Objective-C
CLI
Adobe Flash
Go
Haskell
Java
JavaScript
Common Lisp
Lua
Pascal
Object Pascal
Perl
PHP
Python
Ruby
Tcl
XML
shell
Dart
People
Projects
Retrieved from "https://en.wikipedia.org/w/index.php?title=GNUstep&oldid=1271186570"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp