GNUstep - GNUstep - Wikipedia
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
![]() | |
![]() Snímek obrazovky GNUstep, zobrazeno Window Maker a celou řadu aplikací vyvinutých s knihovnami GNUstep, včetně a gomoku hra, kalkulačka, a TextEdit.[1] | |
Vývojáři | Vývojáři GNUstep |
---|---|
Stabilní uvolnění | make 2.8.0, base 1.27.0, gui 0.28, back 0.28 / 5. dubna 2020 |
Náhled verze | pouze v softwarovém úložišti SVN |
Napsáno | Cíl-C |
Operační systém | Cross-platform |
Typ | Sada widgetů |
Licence | GNU General Public License pro aplikace GNU Lesser General Public License pro knihovny. |
webová stránka | www |
GNUstep je svobodný software provádění Kakao (dříve OpenStep ) Cíl-C rámce, sada nástrojů widget a nástroje pro vývoj aplikací pro Unixový operační systémy a Microsoft Windows. Je součástí Projekt GNU.
GNUstep je vybaven multiplatformním, objektově orientovaným IDE. Kromě výchozího Cíl-C rozhraní, GNUstep také má vazby pro Jáva, Rubín,[2] GNU Guile a Systém.[3] Vývojáři GNUstep sledují některé doplňky Apple Kakao zůstat kompatibilní. Kořeny aplikačního rozhraní GNUstep jsou stejné jako kořeny Cocoa: Další krok a OpenStep. GNUstep tedy předchází kakao, které se objevilo kdy Jablko získané Další a začlenil ji do vývoje originálu Mac OS X, zatímco GNUstep bylo původně snahou GNU vývojáři replikují technicky ambiciózní funkce NeXTSTEP pro programátory.
Dějiny
GNUstep začal, když Paul Kunz a další na Stanfordské centrum lineárního akcelerátoru chtěl přenést HippoDraw z Další krok na jinou platformu. Místo přepisování HippoDraw od nuly a opětovného použití pouze designu aplikace, oni rozhodl se přepsat další krok objekt vrstva, na které aplikace závisela. Toto byla první verze libobjcX. Umožnilo jim to přenášet HippoDraw na unixové systémy se systémem Windows Systém X Window beze změny jediného řádku zdroje jejich aplikace. Po vydání specifikace OpenStep v roce 1994 se rozhodli napsat novou objcX které by se držely nových API. Software by se stal známým jako „GNUstep“.[4]
Softwarová architektura

Vykreslování
GNUstep obsahuje sadu grafické ovládací prvky napsáno v programovacím jazyce Objective-C.
The grafické uživatelské prostředí (GUI) ze dne GNUMail se skládá z grafických ovládacích prvků. GNUMail musí komunikovat s okenní systém, např. X11 nebo Wayland a jeho grafické uživatelské rozhraní musí být poskytnuté. Backend GNUstep poskytuje malou sadu funkcí používaných knihovnou uživatelského rozhraní k propojení se skutečným okenní systém. Má také a vykreslovací modul který napodobuje běžné Postscript funkce. Balíček gnustep-back poskytuje následující backendy:
- cairo - výchozí backend pomocí Káhira 2D grafická knihovna.
- winlib - výchozí backend v systémech Microsoft Windows. Káhira a Windows API varianty.
- umění - starý (zastaralý) backend na unixových systémech. Používá vektorovou 2D grafickou knihovnu PostScriptlike Libart.
- xlib - starý (zastaralý) backend X11.
Paradigmata
GNUstep dědí některé principy návrhu navržené v OPENSTEPu (GNUstep předchází Cocoa, ale Cocoa je založen na OPENSTEP), stejně jako Cíl-C Jazyk.
- Model – pohled – řadič paradigma
- Cíl – akce
- Drag-and-drop
- Delegace
- Přeposílání zpráv (prostřednictvím NSInvocation)
Další rozhraní
Kromě rozhraní Objective-C implementují některé malé projekty pod zastřešujícím GNUstep další API od Apple:
- Knihovna Boron si klade za cíl implementovat Uhlíkové API. Je to velmi neúplné.[5]
- Knihovna CoreBase je navržena tak, aby byla kompatibilní s Základní nadace. Není to dost úplné na to, aby komponenta Base (Foundation Kit) byla jednoduše obalem.[6]
- Knihovna QuartzCore implementuje Základní animace API.[7] Knihovna Opal implementuje Křemen 2D.
Od února 2020[Aktualizace]neexistují žádné projekty, které by stavěly Programovací jazyk Swift proti prostředí GNUstep Objective-C.
Aplikace
Zde je několik příkladů aplikací napsaných pro nebo přenesených do GNUstep.[8]
Napsáno od nuly
- Adresy, adresa /správce kontaktů
- Étoilé, a desktopové prostředí
- GNUMail, an e-mailový klient
- GNUstep Database Library 2, an Rámec Enterprise Objects klon
- GNUstepWeb, aplikační server kompatibilní s WebObjects 4.x
- Gorm, an tvůrce rozhraní
- GWorkspace, pracovní prostor a správce souborů
- Grr, an Čtečka RSS kanálů
- Oolit, klon Elita, vesmírná simulační hra s obchodními komponentami
- PRICE, zobrazovací aplikace
- ProjectCenter, Tvůrce projektu nebo Xcode ekvivalent.
- TalkSoup, an IRC klient
- Terminál
- Zipper, a archivátor souborů nářadí
Přeneseno z NeXTSTEP, OPENSTEP nebo macOS
Vidlice GNUstep
- Univerzální platforma Windows, který zahrnuje a WinObjC sada skládající se z různých částí GNUstep a Microsoft vlastní implementace věcí jako Kakaový dotek API.[9]
Schopnosti třídy
Foundation Kit
The Foundation Kit poskytuje základní třídy, jako jsou souhrnné třídy a třídy datové struktury.
- struny
- sbírky (pole, sady, slovníky) a výčty
- správa souborů
- archivace objektů
- pokročilá manipulace s daty
- distribuované objekty a meziprocesní komunikace
- Zpracování URL
- oznámení (a distribuovaná oznámení)
- snadné multi-threading
- časovače
- zámky
- zpracování výjimek
Aplikační sada
The Aplikační sada poskytuje třídy orientované kolem grafické uživatelské prostředí schopnosti.
- prvky uživatelského rozhraní (zobrazení tabulky, prohlížeče, matice, zobrazení posouvání)
- grafika (WYSIWYG, postscriptová grafika, Bézierovy cesty, zpracování obrázků s více reprezentacemi, grafické kontexty)
- správa barev (kalibrované vs. barvy zařízení; CMYK, RGB, HSB, šedé a pojmenované barevné reprezentace; průhlednost alfa)
- funkce textového systému: formátovaný text, textové přílohy, správce rozložení, sazeč, pravidla, styly odstavců, správa písem, pravopis
- správa dokumentů
- funkce tisku: tiskové operace, rozložení tiskového panelu a stránky
- manažer pomoci
- lepenka (aka clipboard) služby
- kontrola pravopisu
- vazby pracovního prostoru pro aplikace
- drag and drop operace
- služby sdílení mezi aplikacemi
Viz také
- Miláčku (software), vrstva kompatibility, která se spoléhá na GNUstep
- Étoilé, Desktopové prostředí založené na GNUstep
- GNUstep Renaissance, rámec pro XML popis přenosného GNUstep / Mac OS X uživatelská rozhraní
- Millerovy sloupy, používá způsob procházení stromů souborů v Prohlížeči souborů GWorkspace
- Seznam nemovitostí, často používaný formát souboru pro uložení uživatelského nastavení
- StepTalk, Skriptovací rámec
- Window Maker, správce oken navržený tak, aby emuloval grafické rozhraní NeXT jako součást širšího projektu GNUstep
Reference
- ^ Přeneseno z Další krok. Pokud jsou novější verze vytvořeny pomocí libobjc2, lze použít novější verzi přenesenou z Mac OS X Snow Leopard
- ^ „Nástroje pro vývojáře GNUstep - RIGS“. www.gnustep.org. Citováno 10. dubna 2018.
- ^ GScheme Archivováno 2005-12-18 na Wayback Machine
- ^ „Historie GNUstep“. gnustep.made-it.com. Citováno 10. dubna 2018.
- ^ „gnustep / libs-boron: Bor je atom, který přichází před uhlíkem“. GitHub. GNUstep. 23. března 2019.
- ^ „gnustep / libs-corebase“. GNUstep. 19. listopadu 2019.
- ^ „gnustep / libs-quartzcore“. GNUstep. 11. prosince 2019.
- ^ "Kategorie: Aplikace - GNUstepWiki". wiki.gnustep.org. Citováno 10. dubna 2018.
- ^ „GNUstep Objective-C Runtime 2.0“. GitHub.
Poznámka: Projekt Microsoft WinObjC obsahuje přátelskou vidlici této knihovny, která obsahuje řešení problému přírůstkového propojení.
externí odkazy
- GNUstep.org domovská stránka projektu
- Výukové programy pro aplikace a vývojáře GNUstep
- Projekt aplikace GNUstep
- Rozhovor z roku 2003 s vývojářem GNUstep Nicolou Pero Archivováno 2007-01-07 na Wayback Machine
- FLOSS Týdenní rozhovor s Gregory Casamentem a Riccardem Mottolou z GNUstep
- GNUstep zapnuto Debian, FreeBSD, MacPorty
- Desktopové prostředí NEXTSPACE založené na GNUstep