GNUstep
GNUstep software | |
---|---|
Aplicații GNUstep cu interfața clasică NeXTStep | |
Tip | Mediu de dezvoltare integrat |
Dezvoltator | Proiect GNU |
Ultima versiune | Adică 1.14.0 0.12.0 (15 aprilie 2007 ) |
Sistem de operare | Unix-like Microsoft Windows macOS |
Limba | Obiectivul C |
Licență | GPL și LGPL ( licență gratuită ) |
Site-ul web | www.gnustep.org/ |
GNUstep este o implementare a bibliotecilor (denumită „cadru”) OpenStep în Obiectivul C al NeXT (acum Apple ), oferă și instrumente de dezvoltare nu numai pentru sistemele de operare tip Unix, ci și pentru Microsoft Windows . GNUstep face parte din proiectul GNU .
GNUstep oferă un mediu de dezvoltare orientat pe obiecte compatibil cu mai multe platforme, cu specificația OpenStep dezvoltată de NeXT (acum cumpărată de Apple ). La fel ca Cocoa GNUstep are și o interfață pentru Java , precum și pentru Ruby și Scheme . Dezvoltatorii GNUstep au adăugat recent câteva caracteristici pe care Apple le-a introdus în Cocoa pentru a asigura compatibilitatea. Originile API GNUstep sunt chiar rădăcinile Cocoa: NeXT și OpenStep . GNUstep anticipează Cocoa.
Istorie
Povestea GNUstep a început când Paul Kunz și alții de la SLAC au vrut să porteze HippoDraw de la NeXTSTEP pe o nouă platformă. În loc să rescrie HippoDraw de la zero reutilizând doar arhitectura aplicației, au decis să rescrie obiectele stratului NeXTSTEP de care depindea aplicația. Aceasta a fost prima versiune a libobjcX. El a permis să aducă HippoDraw către sistemele Unix care foloseau sistemul grafic X Window fără a schimba o singură linie din codul sursă al aplicației lor. După ce specificația OpenStep a fost distribuită publicului în 1994, au decis să scrie un nou objcX care să adere la noul API . Acest software a devenit cunoscut sub numele de GNUstep.
Paradigme
GNUstep reproduce cu fidelitate OpenStep și pentru aceasta moștenește unele dintre principiile acestuia și este asistat de utilizarea limbajului Obiectiv C.
- paradigmă Model-Vizualizare-Controler
- Țintă-Acțiune
- Tragere și plasare
- Delegație
- redirecționarea mesajelor (folosind NSInvocation)
Potențialul claselor
Trusa de fundație
- siruri de caractere
- colecții (vectori, seturi, dicționare) și enumeratoare
- gestionarea arhivelor (fișiere)
- stocarea obiectelor
- manipulare avansată a datei
- obiecte distribuite și comunicarea între procese
- Gestionarea URL-ului
- notificări și notificări distribuite
- multi-threading ușor
- ceasuri (temporizatoare)
- încuietori
- tratarea excepțiilor
Set de aplicații
- elemente de interfață (tabel vizualizări, browsere, matrice, vizualizări scroll)
- grafic ( WYSIWYG , stil grafic PostScript , curbe Bezier , tratarea imaginilor cu diferite reprezentări, contexte grafice)
- gestionarea culorilor (culori calibrate și ale dispozitivului, CMYK, RGB, HSB, reprezentări în tonuri de gri și nominative, transparență cu canal alfa)
- sistem de tratare a textului: Rich Text Format (RTF), atașamente de text, manager de aspect, compozitor, rigle, stil de paragrafe, gestionarea fontului, verificare ortografică
- managementul documentelor
- managementul imprimării: operațiuni de imprimare, panoul de imprimare și aspectul paginii
- manager de ajutor
- servicii de copiere și lipire (sau clipboard , clipboard)
- verificare a ortografiei
- linkuri pentru aplicații la locul de muncă
- operații de tragere și plasare
- partajarea serviciilor între aplicații (servicii)
Alte proiecte
- Wikimedia Commons conține imagini sau alte fișiere în GNUstep
linkuri externe
- (EN) a paginii de pornire a proiectului GNUstep pe GNUstep.org.
- (EN) GNUstep Gorm (Interface Builder) , pe gnustep.org.
- (EN)GNUstep Project Center (Project Builder) , pe gnustep.org.
- (RO) Wiki GNUstep pe wiki.gnustep.org.
- (EN) aplicații și tutoriale pentru dezvoltatori pe gnustep.it.