GNUstep is 'n gratis en open source-toepassingsplatform wat baie ooreenstem met Apple se Cocoa-platform, en wat in dieselfde produksiestam ontstaan ​​het. GNUstep is eintlik baie beter as Kakao, maar as gevolg van die gewildheid van Kakao, dien GNUstep as 'n soort oopbron-kakaokloon.
1 Geskiedenis van GNUstep
1.1 Doelstelling-C word 'n vrye taal
1.2 Gratis implementering van NeXTSTEP
1.3 NeXTSTEP Word OPENSTEP
1.4 OpenStep kry 'n GNU-implementering
1.5 Kakao: die volgende stap vir OPENSTEP
2 GNUstep Vandag
2.1 Wat is die punt?
2.2 Tale vir ontwikkeling
Geskiedenis van GNUstep
Nadat Steve Jobs Apple verlaat het, het sy nuwe onderneming, NeXT Computers, 'n nuwe toepassings- en ontwikkelingsplatform (sowel as 'n nuwe bedryfstelsel daaronder) ontwikkel..
Dit is geskryf in Objekt-C, 'n objekgeoriënteerde superset van C wat NeXT gelisensieer het van StepStone, 'n maatskappy wat gestig is deur die skeppers van die taal.
Hierdie toepassings- en ontwikkelingsplatform, genaamd NeXTSTEP, het uiteindelik gelei tot die ontwikkeling van Apple's Cocoa en GNUstep. Hierdie pad van NeXT se produk na GNUstep duur 'n paar jaar en bevat verskeie verwante verhale.
Doelstelling-C word 'n vrye taal
Omdat Objektief-C in C-kode verwerk is en dan as C saamgestel is, maak dit staat op 'n C-samesteller. Om Objekt-C beskikbaar te stel aan ontwikkelaars op Unix-platforms met 'n minimum probleem, is die Obcess-C-voorverwerker nodig om te skakel na GCC, die GNU C-samesteller.
Na enkele aanvanklike planne om die taalbesit te hou terwyl hy steeds GCC geïntegreer het, het Richard Stallman van GNU besluit dat die taal GPL-gelisensieërd moet word. StepStone was dit eens en Objektief-C het 'n vrye taal geword.
Die tydsduur wat Objekt-C nuttig gemaak het, is egter teruggehou en besitlik gebly. Verskeie verskillende ontwikkelaars het aan open source vervangings vir die Objekt-C-looptyd gewerk, en die een wat tans in gebruik is, is in 1993 ontwikkel deur Kresten Krab Thorup.
Gratis implementering van NeXTSTEP
In 1991 wou Paul Kunz, 'n ontwikkelaar by Stanford Linear Accelerator Center, HippoDraw – sagteware wat vir die NeXTSTEP-platform geskryf is – op 'n ander platform hê.
Eerder as om die toepassing self te porteer, het hy 'n objekbiblioteek ontwikkel wat die API van NeXTSTEP naboots. Dit het hom toegelaat om HippoDraw uit te voer sonder om 'n enkele reël kode in die toepassing self te verander.
In 1993 stel Andrew McCallum die Collection Library vir GNU Objekt-C vry, wat 'n ander stel kern NeXTSTEP-objekbiblioteke naboots..
NeXTSTEP Word OPENSTEP
In 1993 het NeXT met Sun Microsystems begin saamwerk om 'n weergawe van die 'boonste laag' van die NeXTSTEP-platform (gebruikerskoppelvlak en programmerings-API) te skep, wat versoenbaar sou wees met hul Solaris-bedryfstelsel..
Uiteraard het die meeste van hierdie werk behels dat die dele van NeXTSTEP wat styf by die hardeware en bedryfstelsel geïntegreer is, gestroop moes word.
Daar was ook 'n mate van verfyning en herontwerp van die platform se ontwikkelings-API, wat dit in 'n gedefinieerde 'raamwerke' verdeel het.
Hierdie werk het gelei tot die vrystelling van die OpenStep-standaard (wat 'n oop spesifikasie was, beskikbaar vir die publiek) en die ontwikkeling van die OPENSTEP-platform (wat 'n eie implementering van OpenStep was).
OPENSTEP het NeXTSTEP vervang en is die eerste weergawe in hierdie produklyn wat uiteraard herkenbaar is as 'n voorloper vir Cocoa en GNUstep.
Dit was die weergawe wat die kernraamwerke van die Foundation en AppKit bekendgestel het, sowel as die familie van vooropgestelde klasse.
OpenStep kry 'n GNU-implementering
Nadat die OpenStep-standaard gepubliseer is, het Andrew McCallum, Paul Kunz en ander by GNU hul Objekt-C-biblioteke herskryf om by die standaard te pas.
Die poging is, natuurlik, genoem "GNUstep" – die naam is al informeel voorgestel al in 1991, toe sommige gehoop het dat NeXT die hele projek aan die Free Software Foundation sou oorhandig..
In die loop van die volgende paar jaar het die projek uitgebrei tot 'n volledig versoenbare, gratis en open source implementering van die OpenStep-standaard. Die eerste weergawe om die spesifikasie volledig te implementeer, kom in 1998, en die amptelike weergawe van 1.0.0 was in 2001.
Kakao: die volgende stap vir OPENSTEP
Apple het NeXT Computers gekoop en Steve Jobs in 1996 geoefen. Die OPENSTEP-platform is in die nuwe Mac-bedryfstelsel geïntegreer en is 'n nuwe naam tot Cocoa.
Kakao het in die tussenliggende dekades heelwat verander, veral toe Mac van Mac OS na OS X oorgeskakel het, en Cocoa uitgebrei het om Cocoa Touch vir iOS in te sluit.
Toe Cocoa wegbeweeg van die OpenStep-spesifikasie, het GNUstep ook daarvan weggetrek. Die ontwikkelaars beskou dit nou as bloot 'n implementering van Cocoa, met slegs historiese bande met OpenStep.
GNUstep is 'n gratis en open source Cocoa-implementering. Alhoewel dit 'n bietjie agter Cocoa is, is die bedoeling van die ontwikkelingspan om GNUstep soveel as moontlik met Kakao in ooreenstemming te bring.
Cocoa is 'n eie toepassingsplatform wat nou verbind is met die Mac OS X- en iOS-stelsels. Waarom sou iemand 'n Open Source-weergawe hiervan wil hê? Waarom bestaan ​​GNUstep steeds??
Een van die grootste redes hiervoor is dat dit 'n toepassingsontwikkelaar moontlik maak om vir OS X of iOS te ontwerp. Van daar af kan u die app na Unix, Linux, Windows, BSD en Solaris port. Dus bied GNUstep u 'n ontwikkelingsomgewing oor die hele platform.
Dit gee u baie van die voordele van die Java Virtual Machine of Flash. Maar daar is aansienlik minder bokoste. Sommige mense beweer dat dit 'n beter algehele argitektuur skep.
Dit maak ook baie sin om die aanvanklike ontwikkeling by Cocoa te teiken. Dit is omdat u die moeilike vereistes van die App Store regstreeks hanteer. Dan kan u maklik na die ander omgewings poort.
Boonop hou baie ontwikkelaars eenvoudig van die platform. Apple het baie nadink en gewerk aan die ontwerp van Cocoa, en baie mense wat ontwikkel vir Linux- en Unix-omgewings, soos om die platform beskikbaar te hê om nuwe toepassings te bou.
GNUstep kan ook in 'n verspreiding van die bedryfstelsel opgerol word, en dit integreer op die manier waarop Apple Cocoa integreer. Dit hoef nie so gebruik te word nie, maar dit kan. As dit soos hierdie geïntegreer is, kan GNUstep gebruik word om die tafelrekenaaromgewing aan te wakker.
Tale vir ontwikkeling
Die primêre ontwikkelingstaal vir GNUstep is Objektief-C. GNUstep self is geskryf in Objektief-C, net soos die meeste toepassings. Dit is moontlik om kode te skryf wat in 'n handvol ander tale geskryf is (veral Java en Ruby), maar Objektief-C is regtig die belangrikste () gebeurtenis.
Vanaf hierdie skrywe ondersteun GNUstep nie Apple se nuwe Swift-programmeringstaal nie. Apple het die taal baie onlangs as open source vrygestel, en GNUstep beoog om dit so gou as moontlik te ondersteun.
Leer en verwysing
Die GNUstep Wiki
Heron's Perch: gewilde blog, bestuur deur GNUstep se hoofonderhouer
Video: Objektief-C op Windows 7 met GNUstep.
Étoilé: 'n kruisplatform-desktop-omgewing gebou op GNUstep
GNUstep-toepassingsprojek: instrumente om u GNUstep-werkruimteervaring te verbeter.
GNUstep bied 'n wonderlike ontwikkelingsplatform vir coders wat toepassings op baie verskillende platforms wil skep. Alhoewel daar 'n beperkte hoeveelheid inligting op GNUstep is, kan u baie meer daaroor leer deur na Objektief-C en Kakao te kyk.
Ons het meer programmeringsgidse, tutoriale en infografika met betrekking tot kodering en ontwikkelaarbronne:
Objektief-C-hulpbronne: begin en beweeg na gevorderde gebiede van Objektief-C-programmering.
Inleiding vir kakao en kakao: leer die nou verwante API om toepassings vir Mac OS X en iOS te skep.
Vinnige inleiding en bronne: die nuwe taal wat spesifiek ontwerp is met Kakao (en indirek GNUstep) in gedagte.