Przez kolejne dwa lata przeportowano oryginalne API Macintosha na biblioteki Uniksa pod nazwą Carbon. Dzięki temu aplikacje wcześniej stworzone dla Mac OS, mogły być przeportowane do API Carbon i uruchamiane natywnie, bez potrzeby ich całkowitego przepisywania. Jednocześnie było dostępne wirtualne środowisko „Classic” Mac OS 9, pozwalające na uruchamianie natywnych aplikacji dla starego systemu. Wprowadzono wsparcie dla C, C++, Objective-C, Javy oraz Pythona, dodatkowo zwiększając komfort programowania na nową platformę.
W tym samym okresie głębsze warstwy systemu operacyjnego (jądro Mach i BSD nad nimA Practical Guide to Llinux Commands, Editors, and Shell Programming, 3rd edition by Mark G. Sobell, page 2.) zostały zrefaktorowane i udostępnione na licencji Apple Public Source License, jako Darwin. W odpowiedzi na rosnącą popularność Javy, stworzono wydajną maszynę wirtualną, która umożliwiała korzystanie z API Cocoa w języku Java.