Vorige aflevering | Search TidBITS | TidBITS Homepage | Volgende aflevering

TidBITS#613/21-Jan-02

Is het nog steeds niet duidelijk wat het verschil is tussen Classic, Carbon, en Cocoa programma's? Als dat zo is kan het artikel van Chris Pepper over de verschillende soorten Mac OS X programma's helpen. Geoff Duncan bespreekt de recente opleving van de interesse naar een paar gerespecteerde oude Macintosh mail servers. In het nieuws kijken we naar Apple's miljoenenwinst, Adobe InDesign 2.0, naar de vele updates voor AirPort gebruikers en naar de nieuwe taalcapaciteiten van Mac OS X.

Onderwerpen:

Copyright 2002 TidBITS Electronic Publishing. All rights reserved.
Information: <info@tidbits.com> Comments: <editors@tidbits.com>


-> Denk je dat TidBITS interessant is voor <-
-> je vrienden, kennissen, collega's? Geef <-
-> hen de tip zich ook GRATIS te abonneren <-
-> of stuur deze aflevering naar hen door! <-


Je kunt je gratis abonneren op de Nederlandse afleveringen van TidBITS door een (blanco) mailtje te sturen naar: tidbits-nl-on@tidbits.com. Je krijgt deze dan per e-mail toegestuurd.
Om je abonnement op te zeggen, kun je een mailtje sturen naar: tidbits-nl-off@tidbits.com.


Deze editie van TidBITS werd gedeeltelijk gesponsord door:


De Nederlandse editie van TidBITS is een letterlijke vertaling van de oorspronkelijke Engelse versie. Daarom is het mogelijk dat een deel van de inhoud niet geldt in bepaalde landen buiten de USA.

Dit nummer werd uit het Engels vertaald door:

Verder werkten mee:

Hoe je ons kunt bereiken kun je lezen op:
<./tidbits-nl/contact.html>


MailBITS/21-Jan-02

[vertaling: JS]

Apple maakt $38 miljoen winst bekend -- Apple maakte bekend in het eerste fiscale kwartaal van 2002 een winst van 38 miljoen dollar gemaakt te hebben. Ondanks een ouder wordende productlijn verscheepte Apple 746.000 Macs en 125.000 iPods in dit kwartaal, met een omzet van 1,38 miljard dollar en een bruto marge van 30,7 procent. Hoewel Apple niet de verkopen opsplitste naar de 27 eigen winkels in de V.S. vertelden ze dat de winkels alleen al in december meer dan 800.000 bezoekers zagen langs komen. Internationale verkopen zorgden voor 48 procent van de omzet. Apple merkte op dat de initiele verkopen van de nieuwe G4 iMac groter waren dan verwacht, en dat verwacht werd dat de omzet zou stijgen in het tweede fiscale kwartaal van het jaar - zeer ongebruikelijk voor een computerfabrikant in de huidige economie. [GD]

<http://www.apple.com/pr/library/2002/jan/16results.html>
<http://db.tidbits.com/getbits.acgi?tbart=06682>

Apple brengt nieuwe AirPort, Mac OS X taalversies -- Afgelopen weekend heeft Apple via Software Update een aantal nieuwe updates uitgebracht. De AirPort Driver Update 2.0.1 voor zowel Mac OS 9 als Mac OS X bevat een driver voor de AirPort-kaart die de robuustheid van het netwerk verbetert en op de juiste manier een wachtwoord vraagt als een beschermd computer-naar-computer netwerk wordt opgezet. Daarbij zit ook nieuwe programmatuur voor het originele AirPort Basisstation (Graphite; de nieuwe AirPort Basisstations zijn dezelfde witte kleur als de nieuwe iBooks en hebben de nieuwe software niet nodig). Nieuw is ondersteuning voor het PPPoE protocol; na downloaden, start de AirPort Admin Utility, selecteer het basisstation, en klik op Configure om het update-proces te starten.

<http://www.apple.com/airport/>

Afgelopen weekend heeft Apple ook gelokaliseerde bestanden voor Mac OS X uitgebracht in Braziliaans Portugees, Simpel Chinees, Traditioneel Chinees, Deens, Fins, Koreaans, Noors, en Zweeds. Hoewel de meeste mensen al deze talen waarschijnlijk niet nodig hebben, is het waarschijnlijk toch slim ze te installeren, omdat vorige versies ervan al geinstalleerd waren in Mac OS X, en op deze manier alles bij de tijd kan blijven voor het geval je plots toch moet wisselen. Of je kunt ze uiteraard in Software Update selecteren en de updates inactief maken om te voorkomen dat ze in de lijst blijven staan. [ACE]

Adobe InDesign 2.0 leverbaar -- Adobe heeft Adobe InDesign 2.0 uitgebracht, een belangrijke nieuwe versie van het pagina layout-programma. InDesign 2.0 heeft object-transparantie, waardoor je Photoshop of Illustrator documenten kunt importeren en bijvoorbeeld de transparantie in de randen en schaduwen kunt behouden. De nieuwe versie heeft ook verbeterde mogelijkheden om tabellen te maken en importeren, uitgebreide ondersteuning van OpenType lettertypes, en verbeterde samenwerking met andere Adobe programma's. Belangrijkst is wellicht de ondersteuning van Mac OS X, iets dat concurrent QuarkXPress zoals het er nu uitziet voorlopig niet zal waarmaken. Als laatste verlost deze versie Adobe ook van een lastig juridisch probleem waar het tegen het einde van 2001 tegenaan liep: een rechter verbood de verkoop van InDesign 1.5 vanwege een licentieprobleem met Trio Systems LLC over een InDesign component genaamd C-Index, wat leidde tot een snelle overeenkomst tegen niet bekend gemaakte voorwaarden; InDesign 2.0 bevat de C-Index code niet meer. De volledige versie van InDesign 2.0 kost $700. Opwaarderen van een oude versie kost $100, of $300 voor bezitters van PageMaker of PageMaker Plus. [JLC]

<http://www.adobe.com/products/indesign/>
<http://www.triosystems.com/ci2/>


Twee Mac mail servers weer thuis

door Geoff Duncan <geoff@tidbits.com>
[vertaling: PEP, GH]

Mensen die Macs inzetten om internet e-mail diensten te leveren weten dat het Mac OS nooit de grote keuze aan e-mail servers heeft gehad die systemen onder Windows en Unix kenden. Jarenlang hebben de Mac gebruikers slechts kunnen kiezen uit een handjevol e-mail servers, en zelfs dat perspectief werd aangetast met de komst van Mac OS X. Immers, met de introductie van Unix onder de motorkap van Mac OS X kun je op Unix gebaseerde capabele e-mail servers draaien: robuust, maar berucht exotisch bij het configureren en administreren.

Maar het lijkt erop dat vertrouwde Macintosh e-mail server produkten een wedergeboorte doormaken, wellicht te wijten aan de trouwe aanhang van gebruikers die het gebruiksgemak van de Macintosh niet kwijt willen raken. Het begon in 2000 met de acquisitie van de oude getrouwe ListSTAR mailinglijst server door MCF Software, en kort geleden kregen ook twee andere oude getrouwen, LetterRip en EIMS, een nieuwe eigenaar.

<http://www.mcfsoftware.com/>
<http://db.tidbits.com/getbits.acgi?tbart=06158>

LetterRip -- LetterRip is een geliefde mailinglijst server ontwikkeld door Fog City Software - dezelfde mensen die de eerste versie van Emailer bouwden. LetterRip onderscheidt zich door z'n stabiliteit, prestatie en gebruiksgemak. Hoewel niet zo flexibel als de oudere en meer gecompliceerde ListSTAR, voldoet LetterRip aan de meeste eisen van een mailinglijst en wordt gesteund door een enthousiaste groep gebruikers. (TidBITS gebruikt beide produkten: LetterRip regelt Tidbits Talk, onze vertalingen en andere persoonlijke mailinglijsten, terwijl we ListSTAR gebruiken voor de verspreiding van TidBITS en de zwaardere mail-functies.)

<http://db.tidbits.com/getbits.acgi?tbart=05328>

LetterRip Pro kwam in 1999 op de markt en heeft sindsdien geen grote updates gehad, dan ga je denken dat het produkt misschien op sterven na dood is (hoewel Fog City steeds prompt ondersteuning leverde en snel problemen, geïntroduceerd door nieuwe versies van Mac OS, oploste.) De tijden zijn veranderd blijkt nu: op 1 januari 2002 werd letterRip gekocht door een nieuw bedrijf, LetterRip Software, met het expliciete doel om LetterRip Pro geheel op Mac OS X over te brengen en om nieuwe functies te gaan toevoegen. De ontwikkeling van LetterRip is in de handen van Jud Spencer, een van de mensen die de hand had in de originele ontwikkeling van LetterRip door Fog City; Jud was tevens een van de originele programmeurs van de nog steeds zeer geliefde Emailer, en van Outlook Express en Entourage van Microsoft. Voor gebruikers van LetterRip Pro: er is momenteel een levendige discussie op de LetterRip mailinglijst over welke functies belangrijk zijn voor de toekomst: als je iets te zeggen hebt, dit is de tijd om het te zeggen.

<http://www.letterrip.com/>

EIMS -- Het is een lange en slingerende weg geweest voor EIMS. Het programma werd geboren als MailShare, een simpele SMTP en POP mail server voor de Macintosh geschreven door Glenn Anderson uit Nieuw-Zeeland, lang voor dat Internet "doorbrak" in het publieke bewustzijn. In 1995 kocht Apple MailShare - samen met Glenn - en herdoopte het tot Apple Internet Mail Server (AIMS), toen Apple besloot dat het wilde meespelen op de Internet server markt. (Herinnert iemand zich nog het acroniem AISS?) Toen Apple later besloot om niet mee te spelen, en in feite niets van doen wilde hebben met Internet servers, nam Qualcomm in 1997 AIMS (en Glenn) over, en herdoopte het in Eudora Internet Mails Server (EIMS). Glenn zag met Qualcomm toe op twee grote revisies, voegde ondersteuning toe voor IMAP, DNS blacklists, administratie op afstand en nog een boel andere zaken - en EIMS blijft een robuuste, goed presterende server.

<http://db.tidbits.com/getbits.acgi?tbart=01532>

Per 21 december 2001 is EIMS weer thuis: Glenn Anderson heeft het teruggekocht van Qualcomm en heeft zojuist versie EIMS 3.1 uitgebracht. Glenn is ook een EIMS Admin programma aan het maken voor Mac OS X (een alfa versie is nu beschikbaar), maar de plannen voor een Mac OS X versie van de EIMS server zijn nog onduidelijk. Glenn overweegt ook om een goedkope uitgekleedde versie van EIMS te maken voor mensen die niet alle mogelijkheden van de volledige versie nodig hebben.

<http://www.eudora.co.nz/>

EIMS 3.1 biedt talrijke prestatieverbeteringen, verbeterde Apple Event ondersteuning en prestatie, NTLM authenticatie voor Outlook en Outlook Express, CRAM-MD5 authenticatie voor POP3, LDAP authenticatie, aflever status bevestiging voor queue vertragingen en totalen van verstuurde en ontvangen berichten. EIMS 3.1 kost nieuw $400, maar upgrades van 3.0.x zijn beschikbaar voor $60 en van 2.x voor $150.

Welkom thuis -- Zelfs nu Mac OS X nieuwe visies opent voor Internet diensten op de Mac, is het leuk om te zien dat langdurige Mac ontwikkelaars nieuw leven blazen in deze (en andere) gerenommeerde en produkten met een lange staat van dienst. Het is de gang van zaken die eigenlijk alleen plaatsvindt in de Mac gemeenschap, waar veel wordt verwacht van verfijnde maar makkelijk te gebruiken produkten. De Unix geïndoctrineerden onder ons zullen Unix oplossingen prefereren voor zaken als e-mail en mailinglijsten, maar de rest van ons hebben altijd, en zullen dat blijven doen, produkten ondersteund die ontworpen en ontwikkeld zijn door mensen die begrijpen wat Mac software onderscheidt van de rest van de kudde.


Mac OS X: Soorten Programma's, Deel 1

door Chris Pepper <pepper@reppep.com>
[vertaling: JG, TK, MSH, AV, DPF]

Wanneer we het nieuwe besturingssysteem van Apple bespreken is er een sterk besef dat ondanks hoe goed Mac OS X zelf kan zijn, het niet kan slagen zonder applicaties die gemaakt zijn buiten Apple om. Daarom heeft Apple veel moeite gestoken in zowel het aanmoedigen als het onder druk zetten van ontwikkelaars om programma's voort te brengen die gebruik maken van het nieuwe besturingssysteem en die Mac OS X nodig hebben - wat dan op z'n beurt gebruikers zal overtuigen om over te schakelen. Helaas, omdat Mac OS X en Carbon (de technologie die het mogelijk maakt programma's onder Mac OS 8.6/9.x en Mac OS X te draaien) nog relatief nieuw zijn, zaten ontwikkelaars gevangen tussen de Carbon retoriek van Apple en het onvolledige besturingssysteem. Mac OS X 10.1.2 is een grootse verbetering, maar kan nog niet vergeleken worden met de twee decennia van verfijning van het Classic Mac OS - dat begon zelfs vóór de Macintosh, met de eerste ontwikkeling van de Lisa computer van Apple.

<http://www.apple.com/macosx/>
<http://guide.apple.com/macosx/>

Mac OS X combineert verscheidene vroegere producten in een nieuw en modern besturingssysteem, en ieder brengt z'n eigen identiteit en gebruikersgemeenschap met zich mee. Om dingen nog interessanter te maken zijn sommige van de draden die Apple in het Mac OS X geweven heeft historisch in verschillende richtingen gegaan; vergelijk het Classic Mac OS, ontworpen voor niet-technische mensen, met Unix, dat bestemd was voor programmeurs. Het eindproduct is een verbazingwekkend geslaagd mengsel, maar de gemengde afstamming van Mac OS X steekt op een paar interessante manieren de kop op. Omdat elk van de verschillende elementen eigen interfaces, afwijkingen, en applicaties in houdt, is het onmogelijk om een goeie greep op Mac OS X te krijgen zonder de veelsoortige erfenis van z'n programma's in gedachte te houden. In deel een van dit artikel zal ik de drie soorten applicaties bekend voor de meeste Mac OS gebruikers de revue laten passeren - Classic, Carbon, en Cocoa - en zal ik hun sterke en zwakke kanten wat betreft het Mac OS uitleggen. In deel twee zal ik over de voordelen van de Java ondersteuning van Mac OS X praten en kijk ik naar applicaties die zuiver voor Unix geschreven zijn, het hart van het nieuwe besturingssysteem van Apple.

<http://developer.apple.com/macosx/architecture/>

API, noot, Mies -- Vandaag de dag is het belangrijkste kenmerk van een Mac OS X-applicatie de set API's (Application Programming Interfaces) die de applicatie gebruikt, de groep verzoeken die een applicatie naar het besturingssysteem kan sturen - van "hoe laat is het?" en "plaats deze paragraaf in Palatino 12 in dat venster" tot "open deze url in Help Viewer." Om overtollige stappen te voorkomen, doen programma's zoveel mogelijk beroep op API's. Dit betekent, bijvoorbeeld, dat de meeste applicaties niet rechtstreeks met lettertypes moeten omgaan omdat het OS de fontmenu's en weergavetekst voor hen genereert. De lange en complexe geschiedenis van Mac OS X maakt dat programmeurs nu de keuze hebben tussen meerdere API-sets, en sommige kenmerken van elk van deze API's tonen zich in de programma's die een beroep doen op de API.

Mac OS X kan applicaties draaien die gebaseerd zijn op de Classic API's van Apple. Deze API's bestaan eveneens in Mac OS 9 (en vroeger), en stonden vroeger bekend als de Mac Toolbox. Mac OS X biedt tevens de Carbon API's, een subset van de Mac Toolbox, ontworpen om compatibel te blijven met Mac OS 9 en terzelfder tijd specifieke incompatibele wijzigingen te introduceren die grote voordelen onder Mac OS X bieden. Dankzij de wijzigingen in Carbon worden features mogelijk zoals preemptive multitasking, superieur virtueel geheugen, en crashbeveiliging voor applicaties in Mac OS X; geen van deze extra features zijn beschikbaar voor Carbon-applicaties die onder Mac OS 9 draaien. Bovendien zitten in Mac OS X ook de door NeXT ontwikkelde Cocoa API's; in feite waren veel van de huidige Cocoa-applicaties al eerder beschikbaar onder NeXTstep, het besturingssysteem van Steve Jobs' vroeger bedrijf, NeXT.

De drie voornoemde API-sets zijn specifiek voor Apple, maar Mac OS X ondersteunt ook enkele belangrijke publieke API-sets (verder besproken in deel twee van dit artikel). Ten eerste ondersteunt Mac OS X de Java API's, ontworpen door Sun om het creëren van programma's die in Java zijn geschreven en onder verschillende besturingssystemen draaien mogelijk te maken. Verder is er ondersteuning voor de Unix API's via Darwin, het onderliggende open source Unix-besturingssysteem van Apple. De Unix API-laag is gebaseerd op BSD Unix en zorgt ervoor dat Mac OS X de krachtige Apache Webserver kan draaien. Door deze veelheid aan API's kan Mac OS X veel meer applicaties draaien dan je zou verwachten van een nieuw besturingssysteem - maar de verschillende types van programma's bijhouden kan verwarrend zijn.

<http://java.sun.com/>
<http://www.apple.com/macosx/technologies/darwin.html>
<http://httpd.apache.org/>

Classic -- De meest vertrouwde programma's onder Mac OS X zijn - tenminste voorlopig - Classic-programma's. Deze programma's zijn gewoonlijk geschreven voor Mac OS versie 7 tot 9 en draaien veelal op dezelfde manier als onder Mac OS 9. Om dit te bereiken draait Mac OS 9 als een onzichtbaar Mac OS X-programma (met de passende naam 'Classic'). De Classic-laag van Mac OS X is goed genoeg om de meeste programma's op precies dezelfde manier onder Mac OS X als onder Mac OS 9 te laten draaien. Uitzonderingen hierop zijn vooral programma's die rechtstreeks hardware aanspreken, zoals cd-recorders; Mac OS X heeft immers nieuwe en incompatibele stuurprogramma's voor dergelijke apparaten.

De uitgebreide compatibiliteit van Classic is van cruciaal belang voor het succes van Mac OS X, aangezien gebruikers dankzij de talrijke bestaande Classic-programma's dagelijks met Mac OS X kunnen werken. Zij kunnen immers hun werk doen met vertrouwde tools in plaats van jaren te moeten wachten tot de programma's zijn herschreven. Microsoft Office 2001 en Eudora 5.1 zijn uitstekende voorbeelden van belangrijke Classic-programma's; dankzij de Office-applicaties konden gebruikers in Word werken, Office-documenten delen en normaal cijfermateriaal verwerken in Mac OS X totdat Microsoft de carbonized versie van Office X rond half november 2001 uitbracht. Zo wordt ook de Classic-versie van Eudora nog veel gebruikt onder Mac OS X terwijl Qualcomm aan de Carbon-beta van Eudora werkt (de recente releases zijn sterk verbeterd).

<http://www.microsoft.com/mac/office/>
<http://www.microsoft.com/mac/officex/>
<http://www.eudora.com/betas/>

Doordat de Classic APIs gebaseerd zijn op Mac OS 9, kunnen Classic programma's niet alle voordelen benutten van de nieuwe mogelijkheden in Mac OS X. Bovendien, omdat Classic werkt door middel van een volledige kopie van Mac OS 9 binnen Mac OS X, is er een grote mate van overlapping - een deel hiervan wordt goed behandeld, een ander deel niet. Bijvoorbeeld kun je verbinding maken met bestandsservers door middel van de Klassieke Kiezer, of via de Carbon Finder. Op beide manieren zijn bestandsservers beschikbaar voor zowel de Classic en Carbon programma's, maar ze duiken op verschillende plaatsen op, afhankelijk van de wijze waarop je navigeert. Carbon Finder toont ze op de desktop, of onder de map met het hoogste niveau van de computer; oude Open/Bewaar dialogen en Navigatie Diensten tonen ze op het hoogste niveau, maar missen een Computer container; in Terminal en Unix-programma's bevinden ze zich onder de hoogste Volume map.

Om Classic programma;s te laten werken is het eerst nodig om Mac OS 9 te "starten", dat vergt aanzienlijk meer tijd voor het in werking treden van het eerste Classic programma; Classic kan dan aktief blijven tot een logout of herstart, maar een crash van Classic kan nog steeds alle Classic programma's verstoren (slechts Carbon en Cocoa programma's hebben profijt van het nieuwe beschermde geheugenmodel). Daar komt nog bij dat doordat er verschillende klemborden zijn voor Classic/Carbon- en Cocoa applicaties er een korte vertraging is, voordat ze gesynchroniseerd zijn, het is dus mogelijk te kopiëren van een Classic programma en dan het verkeerde te plakken in een Cocoa programma, of andersom.

Carbon -- Gecarboniseerde programma's werkend onder Mac OS X zijn interessanter omdat ze zonder meer het voordeel hebben van verbeteringen die ingevoerd werden met Mac OS X en met minder moeite dan ze te herschrijven in Cocoa. Sommige van de grote veranderingen zijn inherent en automatisch bij alle Carbon programma's - zoals verbeterd geheugenbeheer en het onmiddelijk verslepen van vensters. (Gebruik maken van andere veranderingen in Mac OS X , daar is expliciete ondersteuning voor nodig, die aan de Carbon applicatie moet worden toegevoegd.) Daar komt bij dat Apple nu alle inspanning voor ontwikkeling van hun besturingssystemen wezenlijk stopt in Mac OS X, de vruchten van Apple's voortdurende ontwikkelingswerk worden geplukt door het nieuwe platform zijn in plaats van door Mac OS 9 (dat nu voornamelijk gewijzigd wordt om Mac OS X beter te ondersteunen). Mac OS X wordt snel beter en deze verbeteringen zijn gericht op Carbon en Cocoa applicaties.

<http://developer.apple.com/carbon/>

Als ontwikkelaars eenmaal hun Classic programma's gecarboniseerd hebben en bekend zijn geraakt met de nieuwe omgeving, zullen we zien dat men terug gaat naar het normale proces van ontwikkeling en verbetering, in plaats van de huidige staat waarin bestaande programma's naar Carbon migreren en niet veel nieuwe functies verkrijgen. Ontwikkelaars stoppen langzaam met ontwikkeling voor Classic en verschuiven hun aandacht naar Carbon en Mac OS X. De snelheid waarmee dit gebeurt is belangrijk voor Apple - als dit te langzaam gaat, zullen mensen Mac OS 9 gebruiken voor "echt werk" en Mac OS X zien als speelgoed. Als ontwikkelaars langzaam hun Mac OS 9 ontwikkeling stopzetten, zoals Microsoft heeft gedaan, zal de druk om te upgraden sterker worden.

Het onderscheiden van Carbon programma's van hun Classic tegenhangers is makkelijk gemaakt door de verschillende venster interfaces. Classic programma's gebruiken de oude 2D Platinum weergave (rechthoekige vensters, grijze grenzen, optimaliseerknoppen in de rechterbovenkant) terwijl Carbon (en Cocoa) programma's de Aqua interface gebruiken, met afgeronde grenzen, schaduwvorming, 3D stijlknoppen en de gekleurde sluit, minimaliseer en optimaliseer knoppen in de linkerbovenkant.

De verbeteringen in Mac OS X openen nieuwe mogelijkheden voor Mac programma's. De meeste Carbon programma's zijn nu slechts mooiere versies van Classic programma's, maar Apple vestigt daar geen aandacht op. Na het verkrijgen van de juiste mogelijkheden in Carbon, beginnen ontwikkelaars nieuwe eigenschappen te introduceren die uniek zijn voor Mac OS X. Dit was bijvoorbeeld het geval met Interarchy 4.1 en BBEdit 6.1 - beide programma's kregen slechts de zelfde functionaliteit onder Carbon als onder Classic. Toen kwam Interarchy 5, welke OpenSSH encodering voor FTP overdrachten aanbood dankzij Mac OS X, en BBEdit 6.5, welke betere integratie bood met externe programmeergereedschappen, een Unix shell werkbladvenster en een functie voor het controleren van BBEdit vanaf de commandoregel. Omdat Mac OS X zo rijk is aan nieuwe API's, biedt het enorme groeimogelijkheden.

<http://www.interarchy.com/>
<http://www.barebones.com/products/bbedit.html>
<http://www.openssh.org/>

Verder kijkend dan de onmiddellijke behoefte om programma's te migreren, probeert Apple van Carbon een superieur platform te maken om programma's te ontwikkelen. Dit is geïllustreerd door de manier hoe het systeem gebeurtenissen behandelt, zoals muisklikken, toetsen tikken, venster verslepen en zo verder. De manier waarop Classic programma's werken is dat ze draaien in een gesloten omgeving, wachtend op de gebruiker om iets te doen. Gedurende deze tijd, geven ze ook vrijwillig processor cycli aan andere programma's. Zelfs als een Classic programma niets doet, verspilt het toch processor cycli terwijl ze wachten op gebeurtenissen.

Daartegenover halen Carbon programma's in Mac OS X voordeel uit de andere benadering om gebeurtenissen te gebruiken, welke Carbon Events genoemd worden (dezelfde benadering die Cocoa programma's gebruiken). Met Carbon Events, registreert het programma bij het besturingssysteem op welke gebeurtenissen ze zullen reageren en hoe ze reageren op deze gebeurtenissen. Als zo'n gebeurtenis voorkomt, zorgt het systeem voor de juiste respons van het programma, maar als niets relevants gebeurt, gebruikt het programma geen enkele processortijd. Het idee is dat dit het programmeren simpeler maakt, omdat de programmeur alleen te maken heeft met de specifieke stimuli waar ze in zijn geïnteresseerd. Ook maken ze het systeem sneller, omdat ze alleen processortijd aan programma's geven als ze iets te doen hebben.

<http://developer.apple.com/techpubs/macosx/Essentials/Performance/Carbon/Carbon_and__OS_X_Events.html>

Cocoa -- Nadat Steve Jobs Apple verliet begon hij NeXT, een bedrijf dat computers bouwde die leken op prototypes van Apple - vooruitstrevende hardware, met veel dezelfde technologieën als Mac's (Motorola processors, PostScript enz.). Om deze hardware te besturen ontwikkelde NeXT de NeXTstep software, die in feite uit 3 onderdelen bestond: een op Unix gebaseerd besturingssysteem, vensters gebaseerd op Display PostScript van Adobe en een programming API die snelle ontwikkeling van grafische applicaties mogelijk maakte. Die API is de afgelopen jaren doorontwikkeld en werd op een bepaald moment OpenStep toen NeXT stopte met eigen hardware, en vervolgens Cocoa toen Apple NeXT overnam.

Cocoa was in feite dus al volwassen voordat het Mac OS X geïntegreerd werd, terwijl Carbon door Apple ontworpen en geschreven werd tijdens de allereerste fasen van de Mac OS X ontwikkeling. Om deze reden zijn Cocoa applicaties van NeXT ontwikkelaars als The Omni Group en Stone Design veel sneller op de markt verschenen dan hun Carbon tegenpolen. Toen de Carbon omgeving eenmaal verschenen was met Mac OS X 10.0 en 10.1 werd deze achterstand grotendeels teniet gedaan, maar beide omgevingen hebben voor- en nadelen. Cocoa applicaties vereisen minder programmeerwerk omdat Cocoa in feite alles al biedt, maar het schrijven van een Carbon applicatie is bekender terrein voor een Macintosh ontwikkelaar. Bovendien zijn er een aantal zaken die Macintosh programmeurs gewend zijn te doen die alleen mogelijk zijn in Carbon. Zolang Apple aan beide werkt zullen de verschillen tussen programma's uit beide omgevingen verminderen.

<http://www.omnigroup.com/>
<http://www.stone.com/>

Het is steeds moeilijker te zien of een programma Carbon of Cocoa is. Beide maken ze gebruik van de Aqua interface, maar er zijn kleine verschillen. Als het vrij klein is, gebruik maakt van laden (zoals Mail), een Lettertypenpaneel heeft om lettertypen te selecteren is het vrijwel zeker een Cocoa applicatie. Een ander klein onderscheid wat op dit moment bestaat is het verschil tussen de wijze waarop Carbon en Cocoa applicaties de gebruiker door Open en Bewaardialogen laten navigeren (zie voor meer informatie over de verschillen "Apple's gemene geheimpje" in TidBITS-601). Apple is verstandig en werkt eraan de resterende verschillen te laten verdwijnen. Op de lange termijn zou het voor een eindgebruiker niet moeten uitmaken of een programma een object-geörienteerde NeXT basis heeft of wortelt in het Classic Mac OS, alhoewel Cocoa applicaties altijd duidelijk kleiner zullen zijn dan Carbon applicaties, omdat er veel van de benodigde code al in Mac OS X zelf zit.

<http://db.tidbits.com/getbits.acgi?tbart=06594>

Niet de Mac van je vader -- Op dit moment is Classic nog steeds een essentieel onderdeel van Mac OS X omdat er veel Classic applicaties zijn die nog niet zijn overgezet naar Carbon of in Cocoa uitvoeringen bestaan. Wanneer meer ontwikkelaars Carbon en Cocoa programma's uitgeven zal Classic vanzelf een onderdeel van de Mac OS historie worden. Op dit moment al zijn veel belangrijke programma's voor het Mac OS - met de belangrijke uitzondering van QuarkXPress 5.0 - over het algemeen Carbon, vooral vanwege de grote hoeveelheden code en de onbekendheid met Cocoa. Maar NeXTstep/Cocoa ontwikkelaars hebben nog mogelijkheden om de voordelen van hun favoriete programmeeromgeving te laten zien. Daarmee hopen ze bestaande Mac ontwikkelaars over te halen om op Cocoa over te stappen omdat Cocoa alle voordelen van Mac OS X biedt met minder inspanning dan wanneer ze een nieuwe Carbon applicatie zouden schrijven.

Mac OS X gaat verder dan Classic, Carbon, Cocoa met de ondersteuning voor pure Unix en Java programma's. Deze ontwikkeling begint nog maar net, maar omdat ontwikkelaars die voorheen onbekend waren met de Mac nu kunnen ontdekken wat er in Mac OS X mogelijk is kan het beste-uit-twee-werelden systeem van Apple meer aandacht gaan krijgen. Deel twee van dit artikel zal hier dieper op ingaan.

[Chris Pepper is een Unix systeembeheerder in New York City. Het is voor hem een prettige gewaarwording (en een beetje een verrassing) dat Mac OS X zo'n goed beheerinstrument is voor de Unix systemen waar hij mee werkt. Chris is verder betrokken bij een aantal documentatie-projecten, zoals voor Interarchy en de Apache Group.]

<http://www.reppep.com/~pepper/>


Niet-winstgevende en niet-commerciële publicaties en Websites mogen artikels overnemen of een HTML link maken als de bron duidelijk en volledig vermeld wordt. Anderen gelieve ons te contacteren. We garanderen de precisie van de artikels niet. Caveat lector. Publicatie-, product- en firmanamen kunnen gedeponeerde merken zijn van hun ondernemingen.

Vorige aflevering | Search TidBITS | TidBITS Homepage | Volgende aflevering