Da NeXT a Cocoa
La storia di Cocoa deve obbligatoriamente affondare le proprie radici con quella di Apple. Fu proprio con l'ascesa nel mondo dell'informatica della piccola società dei due Steve che si rese necessaria l'acquisizione di un manager con grande esperienza. L'arrivo in casa di John Sculley tuttavia non si rivelò una mossa azzeccata: tralasciando alcune discutibili decisioni (che non esamineremo certo qui) il nuovo CEO di Apple entrò ben presto in rotta di collisione con l'allora giovane (e abbastanza fuori dalla norma) Jobs.
I dissapori crebbero finquando Sculley decise di escluderlo da ogni posto di controllo della società, di fatto cacciandolo senza grandi complimenti.
Jobs tuttavia non era certo una persona che si arrendeva facilmente. Nacque così NeXT Computer.
NeXT era piccola, lo è sempre stata, ma le persone che ci lavoravano di contro erano brillanti ingegneri. La società sviluppo un sistema operativo, una stampante, un computer e un set di strumenti di sviluppo. Ogni pezzo era almeno dieci anni avanti la concorrenza e benchè molti ne parlassero con toni entusiastici la NeXT non arrivò ma in un vero e proprio businness. Nel '93 tutto il settore dell'hardware sparì; nacque NeXT Software.
Sistema operativo e strumenti per lo sviluppo progredirono sotto il nome di NeXSTEP. Il prodotto di Steve Jobs riuscì quindi a crearsi una piccola nicchia di mercato formata in massima parte da scienziati, banche e agenzie di intelligence. Nacquero quindi molte applicazione e l'intero sistema crebbe esponenzialmente rispetto ad altre tecnologie.
NeXT venne sviluppato prendendo come base Unix. Anni prima di Mac e Windows, anni avanti rispetto a loro per qualità e stabilità. NeXT utilizzo il kernel Mach sviluppato dalla Carnegie-Mellon University come cuore del sistema operativo. Avere un approccio a microkernel diede quindi la possibilità a NeXT di essere un prodotto veramente per le masse: in questa architettura tutto ciò che non è assolutamente necessario può essere tenuto fuori dal nucleo senza dover ricompilare l'intero kernel.
NeXT scrisse quindi un window server. Un WS si occupa di gestire gli eventi dall'utente alle applicazioni e viceversa. Una delle novità che venne introdotta fà l'assoluta indipendenza dall'hardware sottostante: ciò che veniva mandato a video era ciò che si poteva inviare anche alla stampante. NeXT decise di adottare il PostScript (e quindi più avanti il PDF) come linguaggio di descrizione.
A corredo dell'OS la fabbrica di Jobs mise a disposizione un set di librerie e strumenti che permettevano al programmatore di concentrarsi sullo sviluppo senza preoccuparsi della creazione attraverso complicate API di sistema (ovvero quello che succedeva con Classic o Windows); il tutto con un approccio totalmente OOP, in un mondo che incominciava ad utilizzare C++. Questo set di librerie, o frameworks, era OpenStep e più avanti Cocoa.
Come è possibile vedere dalla figura Cocoa permette all'applicazione di ricevere gli eventi dal window server e disegnare a video.

Programmare Cocoa significa utilizzare come linguaggio l'Objective-C. Come per il C++, anche ObjC è un linguaggio orientato agli oggetti. Ad ottima ragione possiamo affermare che ObjC è stato uno dei precursori della tecnica OOP e attualmente è uno dei migliori esempi di implementazione (nasce non per nulla dallo SmallTalk!). Objective-C non è un vero e proprio linguaggio, quanto più un set di aggiunte al linguaggio C.
I programmatori amavano OpenStep; la facilità e la potenza con cui era (ed è a tutt'oggi) possibile sviluppare applicazioni fecerò si che il NeXT abbondasse di molte applicazioni di qualità superlativa fatte da persone "qualunque".
Uno degli esempi più eclatanti e che meglio descrivono la potenza di questo framework e del linguaggio riguarda proprio il web. Tim Bender Lee, creatore del Web, sviluppo proprio su NeXT il primo Web Server e il primo Web Browser.
La potenza di queste librerie fecerò si che altre aziende si interessassero al loro sviluppo. Ben presto Sun portò OpenStep su Solaris, e più avanti fu disponibile anche su Windows NT. In poco tempo OpenStep era disponibile su tutte le CPU più popolari come Intel, Motorola HP PA-RISC e SPARC (paradossalmente OpenStep non fu mai disponibile su Classic).
Per molti anni Apple lavorò allo sviluppo di un sostituto del Classic che ricalcasse le potenzialità di NeXT. Il progetto era Copland ma fallì miseramente per vari motivi tecniche ma anche di gestione del progetto. Così intorno al 96 Apple iniziò a guardarsi attorno alla ricerca di una fonta. L'opzione più battuta fu Be OS, creata da un altro ex ingegnere Apple. Tuttavia nel Dicembre 96 Apple cambiò decisamente rotta spostandosi sulla piccola NeXT che venne acquistata in blocco.
Ai giorni nostri NeXTSTEP è OS X e OpenStep è Cocoa. Insieme sono uno dei più riusciti capolavori informatici. Il successo della metodologia OOP e della struttura del framework sono diventati così popolari da fare da musa a più blasonati linguaggi tra cui lo stesso Java e librerie.
About this page
You’re currently reading “Da NeXT a Cocoa,” an entry on malcom
- Published:
- 10.16.06 / 1am
- Category:
- Blog Cafe
No comments
Jump to comment form | comments rss | trackback uriShow / Hide Comments