GNUstep
Proiectul GNUstep | |
Captură de ecran a mai multor programe dezvoltate cu ajutorul bibliotecilor GNUstep. | |
Dezvoltator | Proiectul GNUstep |
---|---|
Ultima versiune | make 2.2.0, base 1.18.0, gui și backend 0.16.0 |
Repo | github.com/gnustep |
Scris în | Objective-C[*][1] |
Sistem de operare | Cross-platform (Windows, Unix și derivatele) |
Disponibil în română | Parțial |
Tip | API |
Licență | Licența Publică Generală GNU GNU Lesser General Public License |
Prezență online | |
http://www.gnustep.org | |
Modifică date / text |
GNUstep este o implementare open source a specificației OpenStep a companiei NeXT care face parte din proiectul GNU. Bibliotecile furnizate de GNUstep se folosesc împreună cu limbajul de programare Objective-C pe sistemele compatibile cu Unix, dar și pe sisteme Windows.
GNUstep implementează un mediu de dezvoltare cross-platform, orientat pe obiecte și în întregime compatibil cu specificația OpenStep, dezvoltată de compania NeXT(ulterior cumpărată de Apple), împreună cu Sun Microsystems. De asemenea GNUstep furnizează și biblioteci pentru dezvoltarea programelor în limbajele Java, Ruby și Scheme. Dezvoltatorii proiectului GNUstep urmăresc și implementează unele adiții în interfața de programare Cocoa pentru a menține compatibilitatea cu Mac OS X. GNUstep și Cocoa au radăcini comune, amîndouă fiind derviate din OpenStep.
Istorie
[modificare | modificare sursă]Implementarea mediului de dezvoltare GNUstep a început cînd Paul Gunz și alți fizicieni de la Stanford Linear Accelerator Center au dorit să porteze programul HippoDraw de pe NeXTSTEP pe altă platformă. În loc să rescrie programul și doar să mențină dizainul au decis să rescrie stratul de obiecte NeXSTEP de care depindea programul. Această primă versiune s-a numit libobjcX și a permis portarea programului HippoDraw către sisteme Unix care folosesc X Window System fără a schimba o singură linie din codul sursă al programului. După ce specificația OpenStep a fost făcută publică în anul 1994, a fost scrisă o nouă versiune de a bibliotecii objcX care să fie compatibilă cu noua specificație. Noua versiune a software-ului va fi cunoscută sub numele de "GNUstep".
Model
[modificare | modificare sursă]GNUstep este modelat oarecum ca OPENSTEP, implementarea specificației OpenStep dezvoltată de NeXT, și astfel moștenește unele din principiile propuse de OPENSTEP și de limbajul Objective-C:
- Model-view-controller
- Target-Action
- Drag și drop
- Delegație
- Înnaintarea mesajelor (prin NSInvocation)
Aplicații
[modificare | modificare sursă]Aici sunt postate cîteva exemple de aplicații scrise sau portate pe GNUstep.
Scrise de la 0
[modificare | modificare sursă]- GNUMail, un client de e-mail, care poate să ruleze și pe Mac OS X.
- GNUstepWeb, o interfață de programare web compatibil cu WebObjects
- GNUstep Database Library 2, o clonă a cadrului de dezvoltare Enterprise Objects Framework
- Gorm, un editor vizual de interfețe pentru aplicații
- ProjectCenter, echivalent Xcode/Project Builder
- GWorkspace, un mediu de lucru
- TalkSoup
- Zipper
- Terminal
- Grr, un cititor RSS
Portate de pe NeXTSTEP, OPENSTEP sau Mac OS X
[modificare | modificare sursă]- eggPlant
- TimeMon Arhivat în , la Wayback Machine.
- TextEdit
- Chess (application)
- Bean
- Cenon
- EdenMath
- Emacs
- Gomoku
- NeXTGO
- BioCocoa
- Adun
- Fortunate
Capabilitățile claselor
[modificare | modificare sursă]- șiruri de caractere
- colecții (vectori, seturi și dicționare) și enumeratori
- menegementul fișierelor
- arhivarea obiecteleor
- manipularea avansate a datei
- obiecte distribuite și comunicare inter-proces
- manipularea URL-urilor
- notificații și notificații distribuite
- multi-threading ușor
- cronometre
- lacăte
- manipularea excepțiilor
- elemente de interfață(tabele, browsere matrice, scroll-uri)
- grafică(WYSIWYG, grafică asemnătoare cu postscript, curbe bezier, manipularea imaginilor cu mai multe reprezentații, contexte grafice)
- manegementul culorilor(CMYK, RGB, HSB, gri și reprezentații numite ale culorilor, transparență)
- caracteristicile sistemului de text: rich text format, atașamente pentru text, meneger al așezării, reguli, stiluri pentru paragrafe, menegementul fonturilor.
- menegementul documentelor
- caracteristici de imprimare: operațiuni de imprimare, panou de imprimare și așezare în pagină
- meneger de ajutor
- pasteboard, sistem ce permite folosirea comenzilor copiere și tăiere
- verificator ortografic
- interfețe la spațiul de lucru pentru aplicații
- operații de tragere și eliberare(drag and drop)
- servicii de partajare între aplicații
GNUSTEP live CD
[modificare | modificare sursă]CD-ul GNUSTEP este bazat pe Debian și funcționează pe platformele x86, x86-64, PowerPC și UltraSPARC. Deocamdata este derivat din debian-live Arhivat în , la Wayback Machine.. Instalarea sistemului pe un harddisk este posibilă daca este disponibil accesul la internet și utilitarul debboostrap.
Vezi și
[modificare | modificare sursă]- Darwin (sistem de operare)
- Étoilé - un mediu de lucru bazat pe GNUstep
- Gorm - un editor de interfațe pentru aplicații
- GNUstep Renaissance - un cadru de dezvoltare pentru descrieri XML ale interfețelor pentru aplicații
- StepTalk - cadru de scriptare
- Window Maker - un meneger de ferestre creat să emuleze interfața NeXTSTEP.
- Property list - un format de fișier folosit adesea pentru a memora setările utilizatorului
Legături externe
[modificare | modificare sursă]- Pagina proiectului GNUstep
- Ghiduri pentru dezvoltatori și aplicații GNUstep
- Forumul GNUstep Arhivat în , la Wayback Machine.
- Proiectul pentru aplicații GNUstep
- GNUSTEP live CD Arhivat în , la Wayback Machine. - un live cd care conține un set comprehensiv de aplicații scrise cu ajutorul bibliotecilor GNUstep.
- Emacs.app - o versiune a programului emacs pentru GNUstep și Mac OS X.
- Un interviu cu Nicola Pero, un dezvoltator din echipa GNUstep Arhivat în , la Wayback Machine.
- mgstep - o implementare paralelă care are ca țintă dispozitivelemobile.
- Un interviu cu Gregory Casamento și Riccardo Mottola membri ai echipei GNUstep
- Canalul IRC #gnustep pe serverul FreeNode
Referințe
[modificare | modificare sursă]- ^ The gnustep Open Source Project on Open Hub: Languages Page (în engleză), Open Hub, accesat în