Gn .p
![]() | |
![]() Gn .pep -Screenshot, der zeigt Fenstermacher und eine Vielzahl von Anwendungen, die mit den Gnustep -Bibliotheken entwickelt wurden, einschließlich a Gomoku Spiel, Taschenrechner, und Textedit.[1] | |
Entwickler (en) | Gn. -Entwickler |
---|---|
Stabile Version | Machen Sie 2.9.0, Basis 1.28.0, GUI 0,29, zurück 0.29 / 6. Mai 2021 |
Vorschau -Version | Nur im SVN -Software -Repository |
Repository | |
Geschrieben in | Ziel c |
Betriebssystem | Plattformübergreifend |
Typ | Widget Toolkit |
Lizenz | GNU Allgemeine öffentliche Lizenz Für die Anwendungen Gnu weniger allgemeine öffentliche Lizenz Für die Bibliotheken. |
Webseite | www |
Gn .p ist ein gratis Software Implementierung der Kakao (früher OpenStep) Ziel c Frameworks, Widget Toolkitund Tools für Anwendungsentwicklung für Unix-artig Betriebssysteme und Microsoft Windows. Es ist Teil der GNU -Projekt.
GNUstep verfügt über ein plattformübergreifendes, objektorientiert Ide. Abgesehen von der Standardeinstellung Ziel c Schnittstelle hat auch Gn .- Bindungen zum Java, Rubin,[2] Gnu Guile und Planen.[3] Die GNUSTEP -Entwickler verfolgen einige Ergänzungen zu Apple's Kakao kompatibel bleiben. Die Wurzeln der GNUSTEP -Anwendungsschnittstelle entsprechen den Wurzeln des Kakaos: Nächster Schritt und OpenStep. Gn .- Apfel erworben NächsteDie Technologie und in die Entwicklung des Originals integrierte sie Mac OS X, während Gnustep anfangs eine Anstrengung war GNU Entwickler reproduzieren die programmiererfreundlichen Funktionen des technisch ehrgeizigen NextSstep.
Geschichte
Gn. Begann als Paul Kunz und andere bei Stanford Linear Accelerator Center wollte portieren Hippodraw aus Nächster Schritt zu einer anderen Plattform. Anstatt Hippodraw von Grund auf neu zu schreiben und nur das Anwendungsdesign wiederzuverwenden beschlossen, umzuschreiben der nächste Schritt Objekt Ebene, von der die Anwendung abhängig war. Dies war die erste Version von libobjcx. Es ermöglichte ihnen, Hippodraw zu Unix -Systemen zu portieren, die das ausführen X Fenstersystem ohne eine einzelne Zeile ihrer Anwendungsquelle zu ändern. Nachdem die OpenStep -Spezifikation im Jahr 1994 zur Öffentlichkeit veröffentlicht worden war, beschlossen sie, eine neue zu schreiben objcx das würde sich an die neuen APIs halten. Die Software würde als "gn .pep" bekannt werden.[4]
Softwarearchitektur

Rendering
Gn .pent enthält einen Satz von Grafische Kontrollelemente Geschrieben in der Zielsprache für Ziel-C.
Das grafische Benutzeroberfläche (GUI) von Gnumail besteht aus Grafiksteuerelementen. Gnumail muss mit dem interagieren Fenstersystem, z.B. X11 oder Waylandund seine grafische Benutzeroberfläche muss sein gerendert. Das Backend von Gn .pep bietet einen kleinen Satz von Funktionen, die von der Benutzeroberflächenbibliothek verwendet werden können Fenstersystem. Es hat auch a Rendering-Engine was gemeinsam emuliert PostScript Funktionen. Das Paket Gn.-Back bietet die folgenden Backends:
- Kairo - Standard -Backend mit dem Kairo 2D Graphics Library.
- Winlib - Standard -Backend auf Microsoft Windows Systems. Kairo und Windows -API Varianten.
- ART-Altes (veraltete) Backend auf Unix-ähnlichen Systemen. Verwendet die vektorbasierte Postscript-ähnliche 2D-Grafikbibliothek Libart.
- xlib - Altes (veraltete) x11 Backend.
Paradigmen
GNUstep erbt einige Entwurfsprinzipien, die in OpenStep vorgeschlagen wurden (Gn .paca Peter Cocoa, aber Kakao basiert auf OpenStep) sowie der Ziel c Sprache.
- Model View Controller Paradigma
- Ziel -Wirkung
- Drag-and-Drop
- Delegation
- Nachrichtenweiterung (durch nsinvocation)
Andere Schnittstellen
Zusätzlich zur Objective-C-Schnittstelle implementieren einige kleine Projekte unter dem GNUSTEP-Regenschirm andere APIs von Apple:
- Die Borbibliothek zielt darauf ab, die implementieren Kohlenstoff -API. Es ist sehr unvollständig.[5]
- Die CoreBase -Bibliothek ist so konzipiert, dass sie mit kompatibel ist Kernfundament. Es ist nicht vollständig genug, um die Basis -Komponente (Foundation Kit) einfach ein Wrapper darum zu haben.[6]
- Die Quarzcore -Bibliothek implementiert Kernanimation Apis.[7] Die Opalbibliothek implementiert Quarz 2d.
Ab Februar 2020[aktualisieren]Es gibt keine Projekte, die die aufbauen Swift -Programmiersprache gegen die Gn .pep-Zielumgebung.
Anwendungen
Hier sind einige Beispiele für Anwendungen, die für Gn .pep geschrieben oder auf gn .portiert wurden.[8]
Von Grund auf neu geschrieben
- Adressen, eine Adresse/Kontaktmanager
- Étoilé, a Desktop -Umgebung
- Gnumail, ein E-Mail-Client
- GNUSTEP -Datenbankbibliothek 2, a Enterprise -Objekt -Framework Klon
- Gn .pweb, ein Anwendungsserver, der mit WebObjects 4.x kompatibel ist
- Gorm, ein Schnittstellenbauer
- GWWEISPACE, ein Arbeitsbereich und Dateimanager
- Grr, an RSS -Feed -Leser
- Oolitein Klon von Elite, ein Weltraumsimulationsspiel mit Handelskomponenten
- Preis, Bildgebungsanwendung
- ProjectCenter, die Projektbauer oder Xcode Äquivalent.
- Talksoup, an IRC Klient
- Terminal
- Zipper, a Datei -Archiver Werkzeug
Portiert von NextStep, OpenStep oder MacOS
- Adun
- Biococoa
- Schach
- Cenon
- Edenmath
- Aubergine
- EMACs
- Glücklich
- Gomoku
- NEXTGO
- Pikopixel
- Textedit
- Timemon
- Zum Scheitern verurteilt
Gabeln von Gn
- Universelle Windows -Plattform, einschließlich a Winobjc Suite bestehend aus verschiedenen Teilen von Gn .- und Microsofteigene Implementierungen von Dingen wie der Kakao -Berührung API.[9]
Klassenfähigkeiten
Foundation Kit
Das Foundation Kit Bietet grundlegende Klassen wie Wrapper -Klassen und Datenstrukturklassen.
- Saiten
- Sammlungen (Arrays, Sets, Wörterbücher) und Aufzählern
- Dokumentenverwaltung
- Objektarchivierung
- Fortgeschrittenes Datum Manipulation
- verteilte Objekte und Kommunikation mit interprozessiger Kommunikation
- URL -Handhabung
- Benachrichtigungen (und verteilte Benachrichtigungen)
- Einfach Multi-Threading
- Timer
- Schlösser
- Ausnahmebehandlung
Anwendungsset
Das Anwendungsset Bietet Klassen, die herumgerichtet sind grafische Benutzeroberfläche Fähigkeiten.
- Benutzeroberflächenelemente (Tabellenansichten, Browser, Matrizen, Bildlaufansichten)
- Grafik (Wysiwyg, postScript-ähnliche Grafiken, Bezier-Pfade, Bildhandhabung mit mehreren Darstellungen, grafische Kontexte)
- Farbverwaltung (kalibriert vs. Gerätefarben; CMYK, RGB, HSB, graue und benannte Farbdarstellungen; Alpha -Transparenz)
- Textsystemfunktionen: rich-text-Format, Textanhänge, Layout -Manager, TypeSetter, Regeln, Absatzstile, Schriftmanagement, Rechtschreibung
- Dokumenten-Management
- Druckfunktionen: Druckvorgänge, Druckpanel und Seitenlayout
- Helfen Sie Manager
- Pappe (auch bekannt als Clip Board) Services
- Rechtschreibprüfung
- Arbeitsbereichsbindungen für Anwendungen
- Ziehen und Drop Operationen
- Dienstleistungen Teilen zwischen Anwendungen
Siehe auch
- Liebling (Software), eine Kompatibilitätsschicht, die auf Gn.
- Gn .pep Fat Bündel
- Gn .pep Renaissance, Framework für XML Beschreibung von tragbarem GNUSTEP/MAC OS X Benutzeroberflächen
- Miller -SpaltenDie Methode der Dateibaum, die der GWWWOKSPACE -Datei -Viewer durchsucht, verwendet
- Eigenschaftslistehäufig verwendete Dateiformat zum Speichern der Benutzereinstellungen
- STEPHTALK, Scripting Framework
- Fenstermacher, ein Fenstermanager, der die nächste GUI als Teil des breiteren Gnustep -Projekts nachahmt
Verweise
- ^ Portiert von Nächster Schritt.Neuere Builds können, wenn sie mit Libobjc2 erstellt wurden, eine neuere Version portiert von Mac OS X Snow Leopard
- ^ "Gn .pep Developer Tools - Rigs". www.gnustep.org. Abgerufen 10. April 2018.
- ^ GSCHEME Archiviert 2005-12-18 im Wayback -Maschine
- ^ "Gn. -Geschichte". gnustep.made-it.com. Abgerufen 10. April 2018.
- ^ "Gn .p/libs-Boron: Bor ist das Atom, das vor Kohlenstoff kommt". GitHub.Gn .p.23. März 2019.
- ^ "gn .p/libs-corebase".Gn .p.19. November 2019.
- ^ "gn .p/libs-quarzcore".Gn .p.11. Dezember 2019.
- ^ "Kategorie: Anwendungen - Gnustepwiki". Wiki.gnustep.org. Abgerufen 10. April 2018.
- ^ "Gn .pep Objective-C Laufzeit 2.0". GitHub.
Hinweis: Das WinObJC -Projekt von Microsoft enthält eine freundliche Gabel dieser Bibliothek, die eine Arbeit für das inkrementelle Verknüpfungsproblem enthält.
Externe Links
- Gn .p.org Projekt Homepage
- GNUSTEP -Anwendungen und Entwicklertutorials
- Das Gnustep -Anwendungsprojekt
- Ein Interview mit dem Gn .pep -Entwickler von 2003 Nicola Pero aus dem Jahr 2003 Archiviert 2007-01-07 am Wayback -Maschine
- Weekly Interview mit Gregory Casamento und Riccardo Mottola von Gregory Casamento
- Gn .p Debian, Freebsd, Macports
- NEXTSPACE -Desktop -Umgebung, basierend auf GNUSTEP