Openstep Im Detail

Openstep Im Detail

U U OpenStep im Detail O O O T O T Y Y Durch die Fusion von Apple und NeXT und die Entscheidung, S S OpenStep als Basis f r ihr zuk nftiges Betriebssystem zu verwen- T T C C den, ist OpenStep pl tzlich in aller Munde. Steve Jobs ist damit sei- A A F F nem Ziel, NEXTSTEP bzw. OPENSTEP als das Betriebssystem der Zukunft zu machen, einen großen Schritt n her gekommen, wenn auch anders als erwartet. Doch was genau verbirgt sich hinter diesem Standard und was ist der Unterschied zu OPENSTEP und NEXTSTEP? Dies und einiges mehr soll dieser Artikel beantworten. von Gerald Erdmann Der Kreis schließt sich. Als nun- mehr vor ber zehn Jahren Steve Jobs Apple im Zorn verlassen und mit dem Geld, daß er durch den Verkauf seiner Apple-Aktien bekommen hat, seine neue Firma NeXT gegr ndet hat, wollte er ein Betriebssystem (damals noch in Verbindung mit einem eigenen, speziell daf r designten Compu- ter) entwickeln, das alles bisher Dagewesene in den Schatten stellt. Er hat es geschafft, zumin- dest aus technologischer Sicht. NEXTSTEP (oder NextStep oder NeXTstep oder NeXTSTEP, wie es zwischenzeitlich mal hieß) war und ist immer noch fortschrittli- cher als fast alles, was auf dem Abb. 1: InterfaceBuilder unter OPENSTEP f r Windows NT 3.51 Markt derzeit erh ltlich ist. Der Weg, nur noch das Betriebs- NeXT war zuletzt in der Gewinn- Was NeXT stets fehlte, waren system und die dazugeh rigen zone, jedoch haupts chlich durch entsprechende Ums tze, um Entwicklungstools zu verkaufen, Speziall sungen f r Großkunden NEXTSTEP im Markt zu etablie- war der Richtige, denn schnelle und durch WebObjects. Die Be- ren. Zuerst wurde die Hardware und solide Hardware k nnen an- triebssystem-Fraktion bei NeXT abgestoßen, nicht weil sie zu dere besser und billiger produzie- stand kurz vor dem Aus, da in- schlecht war, im Gegenteil, son- ren. Ob auch sch ner, sei dahin- zwischen OPENSTEP f r NT er- dern vielmehr weil es sich f r ei- gestellt. NEXTSTEP konnte da- h ltlich war und dies die Zukunft ne kleine Firma nicht rechnet, ei- durch die Anzahl der Installation – laut mehrerer NeXT Manager – ne eigene Hardware-Entwicklung mehr als vervierfachen, doch der sein sollte. NeXT hatte den zu betreiben, speziell auf einem weiterhin hohe Preis und ein Kampf gegen Windows aufgege- Markt, auf dem sich alle 18 Mo- gleichbleibend schlechtes Marke- ben. nate die Leistung verdoppelt bzw. ting halfen nicht, Steves Vision in verdoppeln muß. die Realit t umzusetzen. 0 O 3 NEXT YT OU Sommer 1997 O O T FACTS YT OU Der Standard nikation zwischen verschiedenen Anwendung Applikationen, wie „Copy & Pa- Als sich auch NEXTSTEP nicht Application Kit ste“ oder „Drag & Drop“. im Markt bemerkbar etablieren konnte, beschloß man, das Pro- Display PostScript Foundation Kit Jedes OpenStep-Programm besitzt dukt noch weiter zu beschneiden, Geräteabhängige Distributed Objects genau ein Objekt der NSApplica- Fenstersystemerweiterung Indexing Kit in dem man sich auf die objekt- tion-Objektklasse. Dieses Objekt orientierte Entwicklungsumge- Betriebssystem verwaltet das Men bzw. die bung konzentrierte. Mit Open- Abb. 2: Die OpenStep-Architektur Men leiste (beide geh ren zu Step hat man zusammen mit Sun Klasse NSMenu), f hrt Buch ber einen Standard beschlossen, der OpenStep besteht im wesentli- alle Fenster (der Klasse NSWin- im Wesentlichen auf der API von chen aus drei Teilen (Abb. 2): dow und deren Unterklassen) die- NEXTSTEP 3.2 beruht. Mit die- ser Applikation, empf ngt alle sem offenen Standard sollte es Application Kit Tastatur- und Maus-Events (als m glich sein, plattformunabh n- NSEvent-Objekt) und leitet diese gige objektorientierte Anwendun- Das Application Kit stellt dem an die entsprechenden Objekte gen zu entwicklen, ohne dabei auf Entwickler alle notwendigen Ob- weiter. den Komfort von NEXTSTEP zu jektklassen zur Verf gung, um verzichten. Programme mit einem grafischen Display PostScript User-Interface (z. B. die Klassen Der Standard selbst besteht NSWindow oder NSButton) zu Wie schon unter NEXTSTEP ist haupts chlich aus den objektori- erzeugen. Neben einer ganzen auch unter OpenStep die Grafik- entierten „Kits“ von NEXTSTEP Reihe von User-Interface-Objek- ausgabe via Display PostScript und der „Darstellungsmaschine“ ten, die bei den bisherigen Imple- von Adobe standardisiert. Mit Display PostScript. Genau dies mentierungen im bew hrten diesem Beschreibungsmodell ist waren und sind die St rken und NEXTSTEP „Look & Feel“ da- ein echtes „What You See Is genau diese reichen auch aus, um herkommen (aber nat rlich nicht What You Get“ m glich, denn Applikationen zu entwicklen, m ssen), hilft das Application Kit f r Bildschirm und Drucker wer- denn im Prinzip ist es egal, auf auch bei der Behandlung von den in der Regel die gleichen welchem Betriebssystem die Ap- Events (Mausklicks, Tastaturein- PostScript-Kommandos aus- plikationen laufen. gaben u. .) und bei der Kommu- gef hrt! Dank zahlreicher Opti- mierungen steht die Die Architektur NSCell NSActionCell NSButtonCell NSMenuCell Darstellungsperfor- NSBrowserCell NSFormCell NSColor NSSliderCell mance auf dem Bild- NSColorList Der OpenStep-Standard NSTextFieldCell schirm der der ande- besteht aus mehreren NSColorPicker ren Systeme in nichts Schichten, die bei der NSCursor nach. Implementierung zwi- NSDataLink schen der Betriebssy- NSDataLinkManager Der normale Benutzer stemebene und der An- NSEvent merkt von der Ver- wendungsebene ange- NSFont wendung dieser Sei- NSBitmapImageRep NSFontManager siedelt sind. Das darun- NSCachedImageRep tenbeschreibungsspra- NSObject NSImage ter liegende System NSCustomImageRep che jedoch nichts, da NSBrowser muß jedoch gewisse NSImageRep NSEPSImageRep Display PostScript bei NSButton NSPopUpButton NSPasteboard Merkmale vorweisen. NSBox NSColorWell allen Implementierun- (Preemptives) Multitas- NSPrintInfo NSClipView NSMatrix NSForm gen vollkommen- NSControl NSScroller king oder virtuelle Spei- NSPrintOperation transparent ins System NSApplication NSScrollView NSSlider NSPrinter cherverwaltung sind f r NSSplitView NSTextField eingearbeitet wurde. eine Umsetzung „le- NSResponder NSView NSText NSCStringText Auch der Entwickler bensnotwendig“. Hier- NSScreen braucht keine Erfah- NSWindow NSPanel NSColorPanel NSSelection aus ergeben sich aber NSDataLinkPanel rung von PostScript zu keine gr ßeren Proble- NSSpellChecker NSFontPanel haben, solange er die NSHelpPanel me, da heutzutage fast NSSpellServer grafischen Objekte des NSMenu NSWorkspace jedes moderne Betriebs- NSPageLayout Application Kits ver- system diese Features – NSPrintPanel wendet. zumindest ansatzweise NSSavePanel NSOpenPanel – zur Verf gung stellt. Abb. 3: Ein Ausschnitt der Objekthierarchie des Applikation Kits 1 3 O Sommer 1997 NEXT YT OU O O T FACTS YT OU Erst wenn er selbst Grafiken (z.B. Applikation beendet wird; um hier wird die „ bersetzung“ der ein Kuchendiagramm) in einem solche Nachrichten zu empfan- Objektkommunikation verbor- Objekt einer Unterklasse des NS- gen, muß man sich im NSNotifi- gen. CORBA 2.0 Objekte werden Views darstellen will, muß er dies cationCenter „anmelden.“ W h- in naher Zukunft ebenfalls unter- via PostScript machen. rend man mit Objekten der Klas- st tzt werden. se NSThread Programmteilst cke Foundation Kit parallel – als Thread – ablaufen F r andere UNIX-Derivate wie lassen kann, dient die Klasse NS- z.B. HP-UX, Digital Unix, SunOS Das Foundation Kit ist der Unter- Bundle dazu, um Programmteile und Solaris gibt es von NeXT bau von OpenStep und dient zum bei Bedarf dynamisch nachzula- selbst bzw. jetzt von Apple ein hardwareunabh ngigen Umgang den. Framework, um Distributed Ob- mit Daten und Resourcen, wobei jects auch ohne OpenStep auf den die grundlegenden Klassen zur Das Foundation Kit selbst bein- Server-Plattformen zur Verf gung Verwaltung von Feldern, Listen, haltet noch zwei weitere Teile, die zu stellen; mit Portable Distri- multinationalen Zeichens tzen eher im Foundation Kit selbst an- buted Objects (PDO) kann man (in Unicode), Threads oder ver- gesiedelt sind: Distributed Ob- z. B. auf einem Datenbank-Server, schiedener Zahlenformate dienen. jects und das Indexing Kit. der unter einem der oben genann- ten Betriebssysteme l uft, per DO NSArray NSMutableArray NSAssertionHandler Distributed Objects & von einem OpenStep-Rechner zu- NSAutoreleasePool Indexing Kit greifen. NSBTreeBlock NSBTreeCursor NSBundle Mit dem Distributed Das Indexing Kit war unter NSByteStore NSByteStoreFile NSCharacterSet NSMutableCharacterSet Objects Framework NEXTSTEP eine eigene Objekt- NSCoder NSArchiver (DO) lassen sich beliebi- sammlung verschiedener Klassen NSConditionLock NSUnarchiver NSConnection ge Objekte transparent zur effizienten Verwaltung gr ße- NSData NSMutableData in einem heterogenen rer Datenmengen. Unter Open- NSDate NSCalendarDate Netzwerk weltweit ver- Step dient es dazu, Objekte und NSDeserializer NSObject NSDictionary NSMutableDictionary teilen. Die hierbei ange- unstrukturierte Daten – wie Tex- NSEnumerator botenen Objekterweite- te, Bilder aber auch andere multi- NSException NSInvocation rungen, die in der „Mut- mediale Informationen – effizient NSLock ter aller OpenStep-Ob- abzuspeichern, zu indexieren und NSMethodSignature NSNotification jekte“ NSObject ange- schnell wiederzufinden. Unter NSProxy NSDistantObject NSNotificationCenter siedelt sind, definieren OpenStep wird das Indexing Kit NSNotificationQueue bzw. implementieren nur intern f r einige Objektklas- NSProcessInfo NSRecursiveLock den Transportmechanis- sen verwendet; f r den „Endent- NSRunLoop mus auf der Basis der wickler“ steht es selbst nicht

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    5 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us