Classic Mac

Le développement originel sur Mac se faisait en Pascal et Assembleur motorola 68000, avec une couche de compatibilité C pour porter les programmes UNIX.

A l’origine les programmes macintosh étaient développés sur Lisa puis transférés au besoin.

Le logiciel officiel pour développer sur macinstosh était “Macintosh Programmer’s Workshop (MPW)”.

ThinkC et ThinkPascal étaient des compétiteurs plus abordables. De meme pour code warrior.

Sessions WWDC

1997 :

https://archive.org/details/10-opening-keynote/101-MacOS+Core+OS+Changes.rm 🌍⤴ évoque les nouveautés de Mac OS 8 (intendant de Copland),

Rhapsody suit l’integration de NeXTStep dans Apple : adoption de OpenStep et du kernel Mach. Il deviendra Mac OS X, 4 ans plus tard.

Interface builder de Rhapsody ne présentait pas de guides typiques d’Aqua, les éléments étaient placés au jugé.

La “yellow box” est une version améliorée de OpenStep qui supporte Rhapsody sur Inter et Power PC, Windows 95, et Mac OS classique.

Elle contient les librairies OpenStep pour le développement rapide de GUI (Foundation et Appkit) qui sont fluides et rapides, permettant par exemple le défilement immédiat (smooth scrolling).

OpenStep ayant été porté sur de nombreuses architectures, Rhapsody fonctionne sur Power PC et Intel. Rhapsody a un look très similaire à NextStep, les menus détachables sont convertis les menu “barre supérieure fixe” de Mac. Les fonctionnalités de Finder sont apportées au file browser de nextstep. Des barres d’outils sous le haut de la fenetre sont ajoutées à la plupart des applications de Nextstep. Possibilité d’avoir des icones déposées sur le bureau, ce qui a laissé entendre que le dock allait être complètement supprimé (il sera gardé mais déplacé par défaut vers le bas de l’écran). Réduire une fenetre la réduit à sa barre de titre plutot que de la cacher dans le dock. PostScript est utilisé pour l’affichage.

La Yellow Box integre completement Java avec son runtime et ses librairies de dévelopement pour faire des application compatible Windows, Linux, Solaris (plateforme native de Sun qui développe la technologie), etc. Cette technologie en 1997 connait un engouement important et considéré comme un remplaceant possible à C++. Le portage vers Rhapsody a été facile grace a la couche UNIX de OpenStep. Toutes les API de Yellow Box (OpenStep) ont une couche Java dévelopée à l’occasion grace a la compatibilité des philosophies objet des langages Java et Objective C. Avec quelques restrictions comme le support des threads, il est possible de compiler des application Yellow Box sur Mac OS 8, mais aussi sur Windows : il a existé des version de Interface Builder, TextEdit sur Windows NT 4 et 2000 et XP. Le dessin sur Windows était possible grace au support de Display PostScript Engine de Windows.

Adopter la Yellow Box en 1997 supposait d’écrire en Objective C, utiliser Interface Builder et les librairies d’OpenStep (futures Cocoa), mais l’accès en était restraint limité aux développeur désireux de s’inscrire à la phase de rodage et de tests.

La Blue Box est une version de Mac OS classique qui tourne sur Mach. Il permet de faire tourner les applications MacOS classiques en convertissant les appels systemes classiques vers des appels systeme Mach sur des systemes natifs, notamment ceux de QuickDraw. Ca sera la base du mode “classic” (ou Mac OS-in-a-Window) de Mac OS X cheetah. Les applications Blue Box profitent de la mempoire protégée de Mach et ne peuvent plus faire planter le systeme. Des application Blue Box ne peuvent pas utiliser les API Yellow Box mais peuvent communiquer avec des applications Yellow Box via les AppleEvents. Les acces direct au materiel sans passer par un driver ne sont pas autorisés dans la blue box. Des applications compatibles avec la Blue Box seront facilement partables vers Carbon ensuite.

Un écosysteme important d’applications Mac tourne sans modification sur Rhapsody grace à la Blue Box (Quicktime, Apple Game Sprockets…). La Blue Box est destinée aux développeurs classiques qui veulent profiter de Rhapsody.

Video récapitulative : https://archive.org/details/10-opening-keynote/200-Rhapsody+Tech+Overview.rm 🌍⤴

Ressources

Somme d’ouvrages

Techniques

Blogs