Et bien voila un sujet qu'il est bon!
Si tu peut être précis pour pouvoir comparer. :zen:
En fait, sous Mac OS 7 (et MacOS 9, c'est un peu pareil, même s'il y a eu des améliorations), tout était très compliqué. En gros tu avais deux choix de développement:
Soit tout programmer à la mano
Avec les fonctions de la Toolbox. Exemple, pour savoir si un clic a eu lieu sur un bouton:
- Boucler en sondant la fonction pour obtenir les évènements
- Regarder si l'évènement est un clic
- Regarder dans quelle fenêtre le clic s'est produit (la barre de menu est aussi une fenêtre)
- Convertir les coordonnées globales en coordonnées locales à la fenêtre
- Clic dans le bouton -> On exécute le code correspondant
Tout est aussi compliqué avec la Toolbox, même simplement ajouter un gros cadre autour du bouton par défaut. Et je ne vous parle pas du patch nécessaire pour afficher des palettes flottantes (point qui a été amélioré sous Mac OS 9).
Soit utiliser PowerPlant (ou MacApp):
- Là, c'est plus simple: on programme en C++, alors on fait hériter le bouton de la classe semi-abstraite Bouton et on ajoute le code correspondant.
Et là on obtient une application qui fait 3 Mo.
Il s'agit d'une approche à la Visual C++ sous Windows: on hérite de tout. A la fin, on a un code énorme et très compliqué à mettre à jour.
Sous Cocoa:
- Hériter de l'objet NSObject
- Ajouter une méthode pour répondre à l'action sur le bouton
- sous Interface Builder, relier la méthode au bouton
Cet exemple n'est pas très probant, mais la méthode Cocoa est plus flexible. De plus, on programme en Objective-C qui est bien plus élégant que C++.
Le débat "Mac OS X est-il mieux que Mac OS 9" est un autre débat. Personnellement, je ne me suis jamais fait au Dock que je trouve très inférieur au menu Applications d'OS 9. A côté de ça, on ne gère plus les extensions (et dieu sait que c'était emmerdant), ni la mémoire allouée à chaque application.