De geruchten blijken waar: Apple stapt over op x86-processoren van Intel. Apple-ceo Steve Jobs liet gisteravond weten dat de Macintosh-fabrikant binnen twee jaar over is.
Mac OS X, dat gebaseerd is op de reeds op x86 draaiende Unix-variant FreeBSD, blijkt de afgelopen vijf jaar binnen Apple al op Intel te draaien. De computerproducent biedt ontwikkelaars nu een preview-versie 10.4.1 waarmee Tiger (10.4) geschikt is voor x86-processoren. De overstap begint halverwege komend jaar met de Macintosh-instapmodellen, zoals de Mac mini. Halverwege 2007 volgt de bovenkant van Apple’s productbereik.
Jobs roemde het hoge prestatieniveau én het lage energieverbruik van Intels processoren. De topman demonstreerde de Tiger-versie van Mac OS X al op een Intel-systeem. Daarbij was alle functionaliteit al werkende, maar Jobs stelde dat het ontwikkelwerk nog niet geheel af is. Eind 2006 verschijnt de volgende versie van Mac OS X (10.5, codenaam Leopard). Jobs meldde ook dat Tiger nu al goed is 16 procent van de gebruikersbasis, terwijl voorganger Panther (versie 10.3) 49 procent heeft. De versies dáárvoor – 10.2 (Jaguar) en ouder – hebben respectievelijk 25 en 5 procent.
Hij verzekerde de aanwezige ontwikkelaars op het Worldwide Developers Conference in San Francisco dat het overzetten van applicaties zo gemakkelijk mogelijk wordt gemaakt. Scripts, Java-code en Widgets (voor Tiger en hoger) draaien zonder wijziging, aldus Jobs. Cocoa-code is via Xcode met enkele dagen lichte aanpassingen en een hercompilatie werkende te krijgen. Carbon-code vereist via Xcode enkele weken werk, maar zou via ontwikkelomgeving Metrowerks niet echt doenbaar zijn. Metrowerks-ontwikkelaars dienen volgens Jobs over te stappen naar Xcode.
Apple heeft gisteren ook een nieuwe versie 2.1 van dat eigen ontwikkelpakket uitgebracht. Die versie maakt een universele binary aan die zowel op Mac OS X op PowerPC als op Intel zou draaien. Dat laatste is mogelijk dankzij de snelle emulatielaag Rosetta die binary PowerPC-code dynamisch vertaalt naar x86-instructies.
Een correctie is hier op zijn plaats dunkt me. Universal Binaries zullen native draaien op respectievelijk PowerPc of Intel onder Mac OSX. De ‘vertaalslag’ wordt vooraf tijdens de compilatie van de source code al gemaakt.
Rosetta is een emulatielaag die het mogelijk maakt dat -niet- native applicaties (lees: oudere applicaties gemaakt voor de huidige PowerPC lijn) dankzij ‘on the fly’ emulatie op de nieuwe Apple Intel machines onder MacOS X blijven werken. Indrukwekkend!
Lijkt mij nogal logisch dat je de Java-code niet hoeft aan te passen onder de intel versie van OSX,
ze moeten alleen de JVM aanpassen.
Inderdaad, Eric heeft helemaal gelijk. Universal Binaries worden vooraf geschikt gemaakt voor de ene (PPC) of juist de andere (x86) architectuur. Rosetta is emulatie voor PPC-code. De laatste paar zinnen zijn té kort door de bocht.
Excuus,
Jasper