MPW et le Macintosh
Le Macintosh Programmer's Workshop a été conçu pour le Macintosh original à l'aide de MPW lui-même.
Le Macintosh a parcouru un long chemin depuis son introduction au public en 1984. Le premier Macintosh - un véritable modèle T, selon les normes actuelles - était doté d'un petit écran noir et blanc de 9 pouces, de seulement 128 Ko de RAM et d'un unité de disquettes simple face de 400 Ko. Les modèles haut de gamme de la fin des années 1990 étaient dotés d'écrans couleur géants, peuvent fonctionner à des vitesses allant jusqu'à 40 MHz et peuvent adresser jusqu'à 1 Go de mémoire.
Les ingénieurs du Macintosh ont fait l'un des progrès les plus audacieux au jour de l'annonce de la version 7.0 du logiciel système, prenant en charge l'édition interactive de données entre des applications exécutées simultanément sur le même ordinateur et même simultanément sur un réseau. Parmi ses nombreuses autres nouvelles fonctionnalités, System 7 dispose d'un nouveau Finder multitâche intégré au système d'exploitation ; comprend des polices de caractères de contour, pouvant être étendues à n'importe quelle taille sans bords irréguliers ; et permet à l'utilisateur Macintosh d'accéder aux bases de données exécutées sur des systèmes à distances.
Parallèlement au System 7, Apple a introduit la version 3.2 de son système de développement logiciel officiel pour Macintosh, le Macintosh Programmer's Workshop. MPW 3.2 inclut de nouvelles bibliothèques de codes objets prenant en charge toutes les nouvelles fonctionnalités du System 7 et possède une multitude de nouvelles fonctionnalités lui étant propres. Il dispose d'une nouvelle fenêtre d'édition qui peut être divisée en 20 volets déroulants; un nouveau navigateur capable de trouver des sections prémarquées dans n'importe quel document texte; et StreamEdit, un nouvel éditeur de texte non interactif piloté par script pouvant reformater un document en appuyant simplement sur un bouton.
Le MPW 3.2 dispose également de nouveaux outils plus rapides pour relier des programmes et créer des bibliothèques de code objet, de nouvelles fonctionnalités prenant en charge le développement du microprocesseur 68040 et même de nouveaux compilateurs C et Pascal améliorés.
Avec l'introduction du System 7 et du MPW 3.2, Apple a de nouveau placé le Macintosh à la pointe de la conception de micro-ordinateurs des années 1990.
L'histoire du Macintosh
Henry Ford n'a pas inventé l'automobile, et Apple n'a pas inventé la souris, les écrans à fenêtre ou les menus déroulants. Mais la Ford Model T a marqué le début de l'ère de l'automobile, et l'Apple Macintosh restera peut-être un jour dans les mémoires comme l'ordinateur ayant redéfini la relation entre la machine et l'humanité.
Apple a dévoilé le Macintosh le 24 janvier 1984, lors d'un gala au siège de l'entreprise à Cupertino, en Californie. Lors d'une présentation multimédia mettant en vedette un Macintosh parlant et terminée par une ovation debout, le cofondateur d'Apple, Steven Jobs, a salué la nouvelle machine comme étant «l'ordinateur pour le reste d'entre nous» et a prédit qu'elle inaugurerait une nouvelle ère dans l'histoire de l'industrie informatique.
Il a fallu un certain temps pour que la prédiction de Jobs se réalise, mais nous savons tous que cela s'est finalement réalisé. En raison de sérieuses limitations de conception et d'un manque presque total de logiciels de support, le Macintosh a connu un démarrage difficile sur le marché. Cependant, les utilisateurs d'ordinateurs commencèrent rapidement à tomber amoureux des fenêtres, des menus déroulants et de la souris - et Apple, ayant commencé sa vie dans un garage de Cupertino, avait déployé ses ailes et était en train de devenir une entreprise multimilliardaire.
Aussi révolutionnaire soit-il - et même si Jobs était disposé à s'en attribuer le mérite - le Macintosh n'était pas le premier ordinateur disponible dans le commerce à être construit autour d'une interface comportant des fenêtres mobiles, des menus déroulants, des icônes et une souris. Cette distinction appartenait au Lisa, un produit Apple lancé un an avant le Macintosh, mais n'ayant jamais décollé sur le marché et a été abandonné en 1985.
Le premier Macintosh était équipé de seulement 64 Ko de ROM et 128 Ko de RAM, et possédait un unité de disquette simple face de 400 Ko et un clavier sans clavier ni touches fléchées. Un peu plus tard, Apple a présenté le Macintosh 512 Ko, doté de 512 Ko de RAM mais ressemblant par ailleurs au modèle original.
Le premier Mac que l'on pourrait qualifier de mise à niveau majeure était le Macintosh Plus, possédant 1 Mo de RAM, 128 Ko de ROM et un unité de disquettes 500 Ko double face. Puis vint le Macintosh 512K Enhanced, doté de 512 Ko de RAM, de 128 Ko de ROM et d'un lecteur de disque 800 Ko.
Depuis l'introduction du Macintosh original en 1984, la famille Macintosh s'est élargie pour inclure des membres aussi illustres que le Macintosh IIfx, comprenant un microprocesseur 68030 de 40 MHz, un coprocesseur à virgule flottante 68882 et une RAM statique intégrée de 32 Ko (SRAM) cache entreposant les instructions les plus fréquemment utilisées par le processeur pour augmenter sa vitesse de traitement.
Les autres fonctionnalités standard de l'IIfx incluent 4 Mo de RAM ; un canal SCSI DMA (Small Computer Systems Interface/Direct Memory Access) dédié, réduisant la charge de travail du processeur principal ; et des processeurs d'entrées/sorties dédiés, augmentant l'efficacité du système. Le Macintosh IIfx dispose de six emplacements d'extension NuBus pouvant accueillir plusieurs vidéos, communications, réseaux et d'autres cartes d'extension et peuvent être achetées avec un unité de disque intégré de 80 Mo ou 160 Mo.
La souris, le Lisa et le Macintosh
La souris, le périphérique ayant rendu possible l'interface utilisateur Macintosh, a été développée dans les années 1960 au centre de recherche de Stanford à Palo Alto. Au cours de la décennie suivante, dans son centre de recherche de Palo Alto (PARC), Xerox a développé une série de postes de travail expérimentaux associant la souris à des écrans bitmap, des fenêtres, des icônes et des menus déroulants.
En 1979, après avoir été persuadé d'investir 1 million de dollars dans des actions Apple, Xerox a invité Jobs et une équipe d'ingénieurs Apple à visiter son centre de recherche PARC et à jeter un oeil aux travaux s'y déroulant. Ce que Jobs et son groupe ont vu lors de la visite sur le terrain était un ordinateur très différent de tout ce qu'ils avaient jamais rencontré. Au lieu d'un écran de texte standard de 80 colonnes et 24 lignes, il disposait d'un écran de texte et de graphiques haute résolution avec des fenêtres et des icônes pouvant être manipulées avec une souris. Au lieu des menus standard à plusieurs niveaux que les utilisateurs devaient parcourir, il disposait d'une barre de menus à partir de laquelle n'importe quel élément pouvait être sélectionné, à tout moment, d'un simple clic et glisser de la souris.
Jobs et son équipe étaient tellement enthousiasmés par la nouveauté de tout cela que leur enthousiasme est devenu contagieux. Jobs a embauché plusieurs autres ingénieurs de Xerox et les a mis au travail pour développer de nouvelles conceptions Apple.
Le premier résultat de leurs efforts fut l'Apple Lisa, un ordinateur à 10 000 $ doté d'une interface encore plus élégante que celle présentée par Xerox. Le Lisa, introduit en 1983, avait un écran noir et blanc bitmap émulant un ordinateur de bureau, avec des icônes picturales représentant les dossiers et les documents qu'ils contenaient. Pour ouvrir un dossier ou lancer une application, il suffisait à l'utilisateur de cliquer sur l'icône appropriée avec la souris. Les fichiers et dossiers apparaissaient dans des fenêtres mobiles et redimensionnables, et toutes les options disponibles pour l'utilisateur étaient accessibles à tout moment via des menus déroulants.
De plus, lorsque vous tapiez ou dessiniez dans une fenêtre d'application, votre travail était affiché à l'écran en véritable mode WYSIWYG («what you see is what you get» ou en français «ce que vous voyez est ce que vous obtenez»); le texte en italique apparaissait à l'écran en italique, les caractères gras apparaissaient en gras et les formes et tailles du texte et des graphiques étaient les mêmes que s'ils étaient imprimés sur papier. Ainsi, lorsque vous imprimiez un document que vous aviez préparé sur un Lisa, tout se présentait de la même manière sur papier qu'à l'écran.
Lisa mord la poussière
Le Lisa, aussi impressionnante que soient ses innovations, ne s'est pas avérée être un succès retentissant. Il n'était compatible avec aucun autre ordinateur du marché, pas même avec les anciens Apple, et son prix était tout simplement trop élevé. Bien qu'il ait été acclamé par la critique, peu de clients étaient prêts à payer 10 000 $ pour un jouet aussi joli et neuf. En 1985, après l'introduction du Macintosh et sa commercialisation depuis un peu plus d'un an, le Lisa a finalement été abandonné.
Heureusement, le Macintosh - un ordinateur conçu pour offrir de nombreuses fonctionnalités du Lisa, mais à un coût bien moindre - était sur le marché et prenait de l'ampleur au moment où le Lisa est mort. Depuis que le Macintosh original a fait ses débuts en 1984, Apple a introduit en moyenne deux modèles nouveaux et améliorés chaque année, et l'évolution du Mac n'a pas montré aucun signe de ralentissement.
Le tableau suivant retrace l'évolution du Macintosh, répertoriant les membres de l'arbre généalogique Macintosh et certaines de leurs spécifications les plus importantes :
Modèle | Microprocesseur | Mémoire | Périphériques d'entrée | Entreposage interne |
---|---|---|---|---|
Macintosh 128 K (c'est le Macintosh d'origine) | 68000 cadencé à 8 MHz | 128 Ko | Clavier Macintosh Souris Macintosh |
Unité de disque 400 Ko |
Macintosh 512K | 68000 cadencé à 8 MHz | 512 Ko | Clavier Macintosh Souris Macintosh |
Unité de disque de 400 Ko |
Macintosh Plus | 68000 cadencé à 8 MHz | 1 Mo | Souris Mac Plus Clavier Mac Plus Scanner Apple |
Unité de disque de 800 Ko |
Macintosh 512K Enhanced | 68000 cadencé à 8 MHz | 512 Ko | Clavier Macintosh Souris Macintosh |
Unité de disque de 800 Ko |
Macintosh SE | 68000 cadencé à 8 MHz | 1 Mo | Souris Macintosh Clavier Apple Clavier étendu Apple Scanner Apple |
Apple FDHD SuperDrive; Disque dur interne 20SC,40SC |
Macintosh SE/30 | 68030/68882 cadencé à 16MHz | 1 Mo | Souris ADB Clavier Apple Clavier étendu Apple Scanner Apple |
PommeFDHD SuperDrive; Disque dur interne 40SC,80SC |
Macintosh Portable | 68000 cadencé à 16 MHz | 1 Mo | Souris de bureau Apple Apple TrackballClavier Apple Scanner Apple Clavier étendu Apple Clavier numérique |
Apple FDH SuperDrive; Port de disque dur interne portable 40SC |
Macintosh IIcx | 68030/68882 cadencé à 16 MHz | 1 Mo/4 Mo | Souris ADB Clavier Apple Clavier étendu Apple Scanner Apple |
Apple FDHD SuperDrive; Disque dur interne 40SC,80SC |
Macintosh IIx | 68030/68882 cadencé à 16MHz | 1 Mo/4 Mo | Souris ADB Clavier Apple Clavier étendu Apple Scanner Apple |
Apple FDHD SuperDrive ; Disque dur interne 40SC, 80SC, 160SC |
Macintosh IIci | 68030/68882 cadencé à 25MHz | 1 Mo / 4 Mo | Souris ADB Clavier Apple Clavier étendu Apple Scanner Apple |
Apple FDHD SuperDrive; Disque dur interne 40SC, 80SC |
Macintosh IIfx | 68030/68882 cadencé à 40MHz | 4 Mo | Souris ADB Clavier Apple Clavier étendu Apple Scanner Apple |
Apple FDHD SuperDrive; Disque dur interne 80SC, 160SC |
L'histoire de MPW
Lorsqu'Apple a présenté le Macintosh original en 1984, les développeurs de programmes se sont précipités pour l'acheter et ont ensuite découvert qu'ils ne pouvaient pas en faire grand-chose en ce qui concerne le développement de programmes. Le code source du Macintosh n'avait pas été écrit sur un Macintosh, mais sur un Lisa - en utilisant un compilateur Pascal et un assembleur 68000 - et quand on examinait les spécifications du Macintosh original, il était facile de comprendre pourquoi. Le Macintosh d'origine ne disposait que de 128 Ko de RAM et d'un seul unité de disquette de 400 Ko, et ces limitations rendaient pratiquement impossible le développement de programmes sérieux sur un Macintosh. Apple, reconnaissant la futilité d'essayer d'écrire des programmes Macintosh sur un Macintosh, a proposé aux fabricants de logiciels un paquet de développement comprenant un Lisa et un ensemble d'outils de développement croisé pouvant être utilisés pour développer des programmes pour Mac.
À mesure que le Macintosh évoluait vers un ordinateur plus puissant et que ses capacités de mémoire et d'entreposage augmentaient, Apple commença à reconnaître la nécessité d'un système de développement de programmes fonctionnant sur une plate-forme Macintosh. Le premier produit visant à répondre à ce besoin était le système de développement Macintosh 68000 Development System, ou MDS. Le MDS a fourni aux programmeurs un assembleur de langage machine et certains outils de support, mais il n'incluait pas de compilateur pour développer des programmes en Pascal, C ou tout autre langage de niveau supérieur. Cependant, les paquets BASIC et Pascal de fabricants tiers ont rapidement commencé à apparaître sur le marché des logiciels, et Apple a alors décidé qu'il était temps de commencer à travailler sur un système de développement de programmes Macintosh à grande échelle.
Le développement de ce qui allait devenir MPW a commencé à la fin de 1984, lorsque les ingénieurs d'Apple ont conçu un ensemble d'outils de programmation Macintosh destinés à un usage interne. Le nom initialement donné au paquet était Macintosh Programming System, ou initiales MPS qui, par coïncidence ou non, représentent également les noms de famille des trois ingénieurs logiciels qui l'ont développé : Meyers, Parrish et Smith !
Lancement de MPW
La première version de MPW, la version 1.0, a été publiée par l'APDA (Association des programmeurs et développeurs Apple) en septembre 1986. Elle a été conçue pour fonctionner sur n'importe quel Macintosh doté de 1 Mo de RAM et d'au moins 1,6 Mo d'espace disque. Il avait un interpréteur de commande ayant été porté à partir du système de développement Macintosh d'origine et un compilateur C ayant été porté à partir de Lisa. Mais il comprenait également un nouvel assembleur 68000 développé à partir de zéro. D'autres nouvelles fonctionnalités comprenaient les utilitaires Make et Print ; le débogueur MacsBug ; et une paire d'outils de gestion des ressources appelés Rez et DeRez.
La version 2.0 de MPW, publiée en juillet 1987, comprenait de nouveaux outils, un interpréteur de commande amélioré, un débogueur MacsBug étendu, des compilateurs générant du code pour les nouvelles puces 68020 et 68030 de Motorola, ainsi que de nouveaux ensembles de fichiers d'interface et de bibliothèque pour prendre en charge le Macintosh II. Il était expédié sur des disquettes de 800 Ko et nécessitait l'utilisation du Mac Plus avec une ROM de 128 Ko et un unité de disque dur.
MPW 3.0
La dernière révision majeure de MPW, la version 3.0, a été publiée début 1989. La version 3.0 était plus rapide et plus facile à utiliser que son prédécesseur, et c'était la première version de MPW à exploiter les fonctionnalités de MultiFinder. Il comportait un nouveau débogueur au niveau source appelé Symbolic Application Debugging Environment, ou SADE ; une version réécrite de MacsBug (6.0) ; un nouveau compilateur C ; un nouvel outil de gestion de projet appelé Projector ; quelques outils ajoutés ; et quelques bibliothèques et interfaces mises à jour. En outre, un disque d'installation a été inclus pour installer MPW à partir d'un ensemble de disquettes.
Dans MPW version 3.1, un certain nombre de bogues ont été corrigés et de nouvelles fonctionnalités pour certains outils ont été ajoutées. La version 3.1 comprenait également une commande CPlus pour compiler des programmes écrits en C++ ainsi que de nouveaux fichiers d'interface pour les programmes C++.
MPW 3.2
MPW 3.2, malgré son numéro de version peu impressionnant (ils ne l'ont pas appelé MPW 4.0), est une révision ambitieuse de Macintosh Programmer's Workshop. En fait, il s'agit de la première révision de MPW depuis la version 3.0 qui inclut plus que des corrections de bogues mineurs.
La nouvelle fonctionnalité la plus visible introduite dans MPW 3.2 est une fonctionnalité d'écran partagé pouvant diviser la fenêtre de l'éditeur MPW en jusqu'à 20 volets déroulants. Des lignes noires appelées barres de fractionnement et zones de diapositives apparaissent dans les barres de défilement verticales et horizontales de la fenêtre Editor, comme le montre l'image suivante :
En faisant glisser ces barres divisées et ces zones de diapositives, vous pouvez diviser l'écran de l'éditeur en jusqu'à 20 volets défilants et de grande taille. Étant donné que chaque volet comporte une paire de barres de défilement, vous pouvez faire défiler chaque volet pour afficher une partie distincte du document dans la fenêtre.
Une autre nouvelle fonctionnalité de MPW est une fenêtre de navigateur, illustrée dans l'image suivante :
Vous pouvez utiliser la fenêtre Browser pour changer de répertoire, inspecter le contenu des répertoires et accéder aux sections prémarquées d'un document.
Les autres nouvelles fonctionnalités ajoutées dans MPW 3.2 incluent :
- Un nouveau compilateur Object Pascal et un nouveau compilateur C, disponibles en tant que produits distincts. Le nouveau compilateur C prend en charge le débogueur MacApp et peut produire du code «32 bits propre» pour prendre en charge les nouvelles capacités de mémoire étendue du gestionnaire de mémoire Macintosh. Le nouveau compilateur Object Pascal offre une prise en charge plus intégrée pour MacApp et pour les fonctions externes écrites en C.
- Un éditeur de texte non interactif piloté par script appelé StreamEdit. L'outil StreamEdit, similaire à l'outil Sed utilisé sous UNIX, fournit une méthode d'édition et de formatage automatique des documents à l'aide de scripts entreposés.
- Compatibilité avec la capacité d'adressage 32 bits offerte dans le System Software Version 7. Avec la sortie de la version 3.2, MPW est désormais propre en 32 bits et peut produire du code propre en 32 bits.
- Versions mises à jour de diverses bibliothèques. Les bibliothèques Runtime.o et CRuntime.o ont été fusionnées en une seule bibliothèque Runtime.o, et les bibliothèques ont été resegmentées pour déplacer davantage de modules hors du segment «principal». Les bibliothèques C ont été mises à jour pour se conformer à la proposition actuelle pour ANSI C, et les bibliothèques Pascal ont été améliorées pour inclure des fonctions de chaîne de caractères C standard fonctionnant sur les chaînes de caractères Pascal.
- De nouvelles versions plus rapides des outils MPW Link et Lib, reliant les programmes compilés et créant des bibliothèques de codes objets.
- Deux nouvelles commandes : ShowSelection, faisant défiler une fenêtre jusqu'à une sélection, puis la recherche et la sélectionne ; et SaveOnClose, enregistrant une fenêtre lorsque la fenêtre est fermée.
- Améliorations de plusieurs autres outils et un certain nombre de corrections de bogues.
Ce dont vous avez besoin pour exécuter MPW 3.2
Pour exécuter MPW 3.2, vous devez disposer d'au moins un Macintosh Plus, d'un disque dur et de 2 Mo de RAM. De plus, vous devez exécuter la version du système 6.0 ou ultérieure, avec la version 6.1 ou ultérieure du Finder. Si vous souhaitez utiliser le débogueur de niveau source SADE, vous devez utiliser System 7 Finder ou MultiFinder et vous avez besoin d'au moins 2,5 Mo de RAM.
Il s'agit bien entendu de la configuration minimale requise pour exécuter MPW. Apple recommande une configuration système d'au moins un Macintosh II équipé de 4 Mo ou plus de mémoire et d'un disque dur de 80 Mo. Si vos besoins en programmation ne sont pas trop lourds, vous pouvez vous contenter d'un Macintosh SE, de 4 Mo de RAM et d'un disque dur de 20 Mo.
Installation de MPW 3.2
L'installation de MPW 3.2 est un jeu d'enfant ; le paquet MPW comprend désormais un disque d'installation. Cependant, si vous ne pouvez pas attendre que votre système MPW soit opérationnel, vous pouvez suivre ces étapes :
- Faites des copies de tous les disques maîtres fournis dans vos paquets MPW et rangez les disques d'origine pour les conserver. Utilisez les copies que vous avez réalisées pour les opérations suivantes.
- Insérez votre copie du disque d'installation MPW dans votre lecteur de disquette. Ensuite, à l'aide du Finder ou du MultiFinder, faites glisser le dossier d'installation de votre copie du disque d'installation vers le disque dur sur lequel vous souhaitez installer MPW.
- Ouvrez le dossier d'installation se trouvant maintenant sur votre disque dur et double-cliquez sur l'icône du programme d'installation MPW.
- Lorsque le programme d'installation démarre, il vous invite à commencer à insérer les copies de vos disquettes principales MPW dans votre lecteur de disquettes. Vous pouvez insérer vos disques MPW dans n'importe quel ordre et vous ne casserez rien si vous insérez un disque plus d'une fois.
- Une fois l'installation terminée, vous pouvez jeter le dossier d'installation (celui de votre disque dur, pas celui de votre disquette), et vous pouvez ensuite lancer votre interpréteur de commande nouvellement installé.
Utilisez le programme d'installation MPW. Si vous possédez une version antérieure de MPW et souhaitez mettre à jour vers MPW 3.2, veillez à utiliser le script MPW Installer ; n'essayez pas d'installer la version 3.2 en faisant simplement glisser les dossiers des disquettes principales MPW sur votre disque dur pour remplacer les anciennes. Cela vous cause certainement des problèmes car le contenu des dossiers sur les disques maîtres MPW a changé avec la sortie de MPW 3.0. Désormais, les fichiers ont été placés dans des dossiers reflétant plus fidèlement leur destination finale et ensuite déplacés vers un disque dur.
Dans les versions antérieures de MPW, par exemple, le compilateur Pascal a été placé au niveau racine sur le disque maître Pascal. Maintenant, Pascal se trouve dans un dossier Tools sur ce disque. Ainsi, si vous essayez d'installer MPW simplement en faisant glisser des fichiers et des dossiers d'un ensemble de disques maîtres MPW sur votre disque dur, vous vous retrouverez avec des conflits entre les anciens fichiers et dossiers de votre disque dur et les nouveaux fichiers et dossiers que vous traînez. Et si votre système MPW ne fonctionne pas correctement, ne blâmez pas MPW.
L'interface utilisateur Macintosh
Du point de vue de l'utilisateur, certaines des fonctionnalités les plus importantes distinguant le Macintosh des ordinateurs moins avancés sont les suivantes :
- La souris : L'outil le plus important pour manipuler le curseur Macintosh est la souris - un dispositif de pointage qui, d'un simple glissement et d'un clic, peut choisir des éléments de menu ; ouvrir, fermer, sélectionner, faire défiler ou redimensionner les fenêtres ; dessiner des images et des formes ; sélectionnez les emplacements où le texte sera saisi ou les formes dessinées ; et coupez, collez et copiez du texte et des graphiques sur l'écran.
- Les fenêtres : toutes les informations affichées à l'écran par une application Macintosh standard apparaissent dans Windows. Une fenêtre dans laquelle l'utilisateur d'une application peut saisir du texte ou dessiner des formes est appelée fenêtre de document. Les fenêtres peuvent être équipées de différents types de contrôles tels que des barres de titre, des zones de départ, des zones de zoom, des zones de taille et des barres de défilement. Windows peut également contenir des boutons et des icônes sur lesquels un utilisateur peut cliquer pour effectuer différents types d'opérations. Les tâches pouvant être effectuées en cliquant sur des boutons ou des icônes sont déterminées par l'application en cours d'exécution. Plusieurs fenêtres peuvent être affichées sur l'écran Macintosh et les fenêtres peuvent se chevaucher. Si le System 7 Finder ou MultiFinder est en cours d'exécution, des fenêtres de différentes applications peuvent apparaître à l'écran en même temps.
- Menus déroulants : lorsque vous exécutez une application sur Macintosh, vous n'avez pas besoin de parcourir différents niveaux de menus pour passer d'une partie du programme à une autre. Dans un programme Macintosh standard, les titres de tous les menus auxquels vous souhaitez accéder sont affichés dans une rangée en haut de l'écran dans une barre de menus en forme de ruban. Pour sélectionner un élément d'un menu, il vous suffit d'appuyer sur le bouton de votre souris dans le titre du menu souhaité. Le titre du menu sélectionné est alors mis en surbrillance et une colonne d'éléments de menu apparaît en dessous. Vous faites glisser la souris vers l'élément de menu souhaité et relâchez le bouton de la souris pour sélectionner l'élément de menu choisi.
- Boîtes de dialogue : lorsqu'une application a besoin de plus d'informations de la part de l'utilisateur sur une commande, elle peut afficher un type spécial de fenêtre appelé boîte de dialogue. Les fenêtres de dialogue, comme les fenêtres de documents, peuvent être équipées de différents types de contrôles. Lorsque des contrôles apparaissent dans une boîte de dialogue, ils sont appelés éléments de boîte de dialogue. En cliquant sur les éléments de bouton qui apparaissent dans une boîte de dialogue, ou en tapant du texte dans un type spécial d'élément appelé élément TextEdit, l'utilisateur d'une application peut fournir à l'application toutes les informations dont elle a besoin. De plus, les boîtes de dialogue peuvent contenir des éléments de bouton, des éléments d'icône et d'autres types d'éléments pouvant être définis par des applications spécifiques. Il existe trois types de boîtes de dialogue Macintosh : les boîtes de dialogue modales, les boîtes de dialogue non modales et les alertes. Les boîtes de dialogue modales ressemblent à des fenêtres, mais contiennent des contrôles ; les boîtes de dialogue non modales n'ont pas de barre de titre et se ferment en cliquant sur un bouton ; et les boîtes de dialogue d'alerte sont des boîtes de dialogue non modales affichant des messages importants.
- Le Finder et MultiFinder : lorsque vous démarrez un Macintosh, le premier écran que vous voyez est généré par un utilitaire de démarrage appelé Finder. Le Finder, contrairement à ce que beaucoup de gens semblent croire, ne fait pas partie du système d'exploitation Macintosh ; il s'agit simplement d'une application se trouvant dans le fichier système d'un disque système et étant lancée au démarrage du système. Le Finder est chargé de présenter le bureau unique que vous voyez lorsque vous démarrez un Macintosh : un écran rempli de petites icônes représentant des disques, des documents, des dossiers de fichiers et des unités de disque. Dans la version 5.0 du logiciel système, Apple a introduit MultiFinder, une version améliorée du Finder qui permettait d'ouvrir plusieurs applications simultanément. Avec l'introduction du System 7.0, les fonctionnalités de MultiFinder ont été intégrées au système d'exploitation Macintosh pour fournir ce qu'Apple appelle «un environnement multitâche coopératif». Le System 7 Finder inclut toutes les fonctionnalités de MultiFinder et plusieurs autres. Il prend en charge les icônes de couleur et les icônes miniatures ; dispose d'une fonction de papeterie permettant à l'utilisateur de créer des documents utilisés comme modèles ; et contient des dossiers spéciaux pour entreposer les accessoires de bureau et les polices de caractères, éliminant ainsi le besoin de l'utilitaire Font/DA Mover utilisé dans les systèmes précédents.
- Accessoires de bureau : les accessoires de bureau, ou DA, sont des mini-applications qui peuvent être démarrées, utilisées et fermées pendant que des applications plus volumineuses sont également en cours d'exécution. Si un accessoire de bureau est installé sur votre système, vous pouvez toujours le sélectionner et l'exécuter, sans quitter aucun autre programme en cours d'exécution. Les éléments de menu de tous les accessoires de bureau installés apparaissent toujours sous le menu Apple de la barre de menus Macintosh. Avec l'introduction du System Software Version 7, l'utilisateur a la possibilité de traiter n'importe quelle application comme un accessoire de bureau. Vous pouvez désormais installer un accessoire de bureau en faisant simplement glisser son icône dans le dossier système. System 7 vous permet également d'installer des polices de caractères en faisant glisser leurs icônes dans le dossier système. Ainsi, l'utilitaire Font/DA Mover utilisé dans les systèmes précédents est devenu inutile.
Principes de programmation Macintosh
Puisque le Macintosh est un ordinateur assez peu conventionnel, il ne devrait pas être surprenant d'apprendre que la programmation d'un Macintosh nécessite l'utilisation de techniques de programmation assez non conventionnelles.
Lorsque vous écrivez un programme texte standard pour un ordinateur doté d'un système d'exploitation texte standard, vous n'avez pas à vous soucier des fonctionnalités avancées de l'interface utilisateur telles que les mouvements de la souris, les fenêtres, les menus déroulants ou les icônes. Lorsque vous écrivez un programme pour Macintosh, vous devez vous préoccuper de la gestion de toutes ces fonctionnalités, et bien plus encore.
D'un autre côté, il existe certaines façons d'écrire un programme pour un Macintosh plus facile que d'écrire un programme pour un ordinateur plus conventionnel. Lorsque vous développez une application pour un ordinateur non Macintosh, par exemple, vous devez généralement avoir une assez bonne compréhension de la carte mémoire de l'ordinateur avec lequel vous travaillez ; vous devez décider exactement où en mémoire vous allez mettre votre code, vos données et vos graphiques d'écran ; et ensuite vous devez prendre toutes les mesures nécessaires pour placer chaque ingrédient de votre programme au bon emplacement mémoire. Ensuite, à mesure que votre programme grandit, vous devez reconfigurer la mémoire de votre ordinateur.
Un moyen plus simple de gérer la mémoire
Lorsque vous concevez une application pour Macintosh, vous n'avez rien de tout cela à faire. Dans un programme Macintosh, vous devrez rarement, voire jamais, vous référer directement à l'adresse mémoire réelle d'un bloc de code ou de données. En effet, le Macintosh dispose d'un gestionnaire de mémoire intégré qui, comme son nom l'indique, exécute des fonctions de gestion de la mémoire. Le Macintosh dispose également d'un certain nombre d'autres gestionnaires conçus pour gérer d'autres types de procédures et d'opérations importantes.
Certains de ces gestionnaires, notamment Memory Manager, sont intégrés au système d'exploitation Macintosh. D'autres gestionnaires sont fournis dans la boîte à outils de l'interface utilisateur, une collection de centaines de routines utiles fournies avec chaque Macintosh et pouvant être utilisées dans n'importe quel programme Macintosh. Certaines parties de la boîte à outils sont intégrées à la ROM et d'autres sont entreposées sur le disque système Macintosh.
Lorsqu'un utilisateur charge un programme sur un Macintosh, le gestionnaire de mémoire décide d'abord exactement où chaque partie du programme doit être entreposée en mémoire, puis il place chaque morceau de code et chaque donnée du programme dans son emplacement mémoire approprié. Ensuite, au fur et à mesure de l'exécution du programme, le gestionnaire de mémoire déplace automatiquement les blocs de mémoire pour libérer de l'espace pour de nouveaux blocs à mesure que les besoins en mémoire changent.
Le gestionnaire de mémoire s'occupe de toutes ces manipulations de mémoire en utilisant non seulement des pointeurs, mais également des pointeurs vers des pointeurs, appelés descripteurs. En utilisant des descripteurs dans vos programmes Macintosh, vous pouvez laisser le gestionnaire de mémoire se soucier des emplacements de mémoire physique de toutes les données auxquelles vous faites référence dans votre code, et vous n'aurez plus jamais à faire référence à un bloc de code ou de données par son emplacement réel d'adresse mémoire.
Entrée/sortie du Macintosh
La gestion des fichiers est un autre casse-tête de programmation dont vous n'avez pas à vous soucier lorsque vous écrivez un programme Macintosh. En effet, le Macintosh est équipé d'un paquet de fichiers standard, prenant en charge des tâches telles que la recherche de répertoires et l'ouverture, la fermeture et la sauvegarde de fichiers.
Lorsque vous écrivez un programme Macintosh donnant à l'utilisateur la possibilité de charger ou d'enregistrer un fichier, tout ce que vous avez à faire est d'appeler le Standard File Package. Le paquet de fichiers standard affiche ensuite une boîte de dialogue - ou une série de boîtes de dialogue - permettant à l'utilisateur de localiser n'importe quel répertoire souhaité sur n'importe quel disque, puis de charger ou d'enregistrer le fichier sélectionné. Par conséquent, vous pouvez éviter bien des tracas d'entrée/sortie en utilisant le paquet de fichiers standard.
Gestion des ressources
Un autre gestionnaire important de la boîte à outils est le gestionnaire de ressources qui, comme son nom l'indique, gère les ressources utilisées par un programme Macintosh. Les ressources sont des blocs de données statiques tels que des menus, des boîtes de dialogue, des modèles de fenêtres et des curseurs. Ils sont créés, entreposés et manipulés séparément du code d'un programme pour plus de flexibilité et de facilité de maintenance.
Graphiques QuickDraw et Macintosh
Lorsque vous tapez du texte ou dessinez des graphiques sur l'écran Macintosh, toutes les opérations de dessin sont gérées par une partie très importante de la boîte à outils appelée QuickDraw. QuickDraw est le coeur du système graphique Macintosh. Que vous souhaitiez dessiner dans une fenêtre ou simplement configurer une forme simple telle qu'un rectangle qui sera appelée par d'autres gestionnaires dans la boîte à outils, vos applications appelleront généralement QuickDraw.
Bien que toutes les versions du Macintosh ne soient pas équipées pour gérer la couleur, chaque version de QuickDraw prend en charge à la fois les graphiques en noir et blanc et une capacité limitée de produire des images jusqu'à 16 couleurs. Depuis le Macintosh II, une version améliorée de QuickDraw, prenant en charge jusqu'à 248 couleurs, est disponible. Cette version plus récente de QuickDraw s'appelle, assez logiquement, Color QuickDraw.
Événements importants
Avant de terminer ce résumé des fonctionnalités Macintosh et d'ouvrir la boîte à outils de l'interface utilisateur, il est important de mentionner une technique de programmation appelée programmation événementielle. Chaque programme écrit conformément aux directives de l'interface utilisateur Macintosh contient une boucle d'événements principaux, une boucle surveillant en permanence les actions de l'utilisateur telles que les clics de souris et l'utilisation des touches du clavier Macintosh. Lorsqu'un utilisateur d'une application clique sur la souris ou appuie sur une touche, cette action est appelée événement et il appartient à l'application de détecter l'événement et d'y répondre de manière appropriée.
Pour aider les programmes à gérer les événements, la boîte à outils Macintosh est fournie avec un gestionnaire appelé Event Manager, et le système d'exploitation Macintosh contient un ensemble d'appels appelé gestionnaire d'événements du système d'exploitation.
Autres caractéristiques
Le Macintosh possède également de nombreuses fonctionnalités intégrées pouvant vous aider à effectuer des tâches telles que le suivi des mouvements et des clics de souris, ainsi que dans des tâches telles que dessiner et manipuler des fenêtres et des boîtes de dialogue, ainsi que créer et manipuler des menus déroulants. Certains de ces outils sont intégrés à la boîte à outils Macintosh et d'autres au système d'exploitation Macintosh.
La boîte à outils et le système d'exploitation Macintosh
Dans les sections précédentes, nous avons mentionné trois fonctionnalités distinguant le Macintosh des ordinateurs plus conventionnels : l'interface utilisateur Macintosh, la boîte à outils de l'interface utilisateur et le système d'exploitation Macintosh. Rassemblons maintenant ces trois fonctionnalités et voyons comment elles fonctionnent ensemble. Nous commencerons par le niveau de traitement le plus bas : le niveau du système d'exploitation.
Lorsqu'une application s'exécute sur un Macintosh, la partie du code communiquant le plus directement avec le processeur central est le système d'exploitation; son travail consiste à effectuer des tâches opérationnelles de base telles que les entrées et sorties, la gestion de la mémoire et la gestion des interruptions.
Un niveau au-dessus du système d'exploitation se trouve la boîte à outils de l'interface utilisateur, conçue pour aider les programmeurs à implémenter facilement et efficacement l'interface utilisateur Macintosh standard dans leurs applications. Lorsque vous appelez une routine Toolbox dans une application, la Toolbox appelle souvent une routine du système d'exploitation lorsqu'elle souhaite effectuer une opération de bas niveau. Lorsque vous écrivez des programmes pour Macintosh, vous contournez souvent la boîte à outils et appelez le système d'exploitation directement dans vos applications.
Les applications, ainsi que d'autres types de programmes écrits pour Macintosh, se situent un niveau au-dessus de la boîte à outils de l'interface utilisateur. Les programmes performants - terme qu'Apple utilise souvent pour décrire les programmes écrits conformément à ses directives d'interface utilisateur - effectuent la plupart de leurs tâches essentielles en appelant la boîte à outils et le système d'exploitation.
Tout en haut de la hiérarchie des traitements se trouve l'interface utilisateur qui, comme son nom l'indique, est l'interface entre le Macintosh et l'utilisateur d'un programme. Les fenêtres, les menus, les boîtes de dialogue et les commandes, ainsi que les applications spécialisées telles que System 7 Finder et son prédécesseur, MultiFinder, font tous partie de l'interface utilisateur.
Les quatre niveaux de traitement Macintosh (le système d'exploitation, la boîte à outils, les applications et l'interface utilisateur) sont illustrés dans l'image suivante :
La boîte à outils (Toolbox) de l'interface utilisateur
La boîte à outils de l'interface utilisateur est une collection de centaines de routines et de fonctions que vous pouvez utiliser dans vos programmes sans avoir à écrire tout le code qu'elles contiennent à partir de zéro. Les routines de la boite à outils (Toolbox) - comme les bibliothèques de fonctions C et Pascal que les programmeurs d'ordinateurs conventionnels achètent et utilisent souvent - sont des procédures et des fonctions pré-écrites et pré-testées pouvant être incorporées aux programmes pour effectuer des tâches spécifiques. Mais contrairement aux livres de recettes de routines que les programmeurs d'ordinateurs moins avancés utilisent si souvent, les procédures et fonctions de la boîte à outils Macintosh sont toujours disponibles, gratuitement, et sont spécialement conçues pour fonctionner correctement avec l'interface utilisateur Macintosh, l'interface utilisateur Macintosh, l'architecture et le système d'exploitation Macintosh.
La plupart des fonctions et procédures de la Boîte à outils sont conçues pour vous aider à implémenter l'interface utilisateur Macintosh : les fenêtres, les menus déroulants, les boîtes de dialogue et les mécanismes de contrôle standard mentionnés plus haut dans cette page.
La boîte à outils du Système 7
Jusqu'au dévoilement du System 7, le nombre de gestionnaires dans la boîte à outils Macintosh avait augmenté régulièrement mais lentement. Avec l'introduction du Système 7, Apple a tout mis en oeuvre et a ajouté huit nouveaux gestionnaires. Ces nouveaux gestionnaires sont illustrés dans l'image suivante et décrits dans cette section :
Le gestionnaire de processus
Le gestionnaire de processus (Process Manager) gère la planification des processus affectant les applications ouvertes et les accessoires de bureau. Sous la version 7 du logiciel système, n'importe quelle application peut être placée dans le menu Apple et utilisée comme accessoire de bureau, et le nombre de processus n'est limité que par la mémoire disponible.
Avec l'aide du gestionnaire de processus, plusieurs applications exécutées sous System 7 peuvent partager le microprocesseur 680X0 et d'autres ressources. Le gestionnaire de processus fournit aux applications un moyen de partager la quantité de mémoire disponible, ainsi que de partager l'accès au microprocesseur. En plus de gérer la planification des applications, le gestionnaire de processus gère l'accès aux ressources partagées et charge les applications en mémoire. En interrogeant le gestionnaire de processus, une application peut obtenir des informations sur elle-même ou sur toute autre application ouverte, telles que le nombre d'octets libres dans la mémoire de tas de l'application.
Le gestionnaire d'édition
Le gestionnaire d'édition (Edition Manager) permet aux applications et aux documents de partager des données de manière dynamique et permet également aux utilisateurs de partager des données de manière dynamique sur un réseau. Avec le gestionnaire d'édition, l'utilisateur Macintosh peut :
- Capturer les données d'un document et les intégrer dans un autre document.
- Modifier les informations d'un document, en mettant simultanément à jour tout document partageant ses données.
- Partager des informations entre applications sur le même disque ou sur un réseau d'ordinateurs Macintosh.
Les fonctions du gestionnaire d'édition sont similaires aux fonctionnalités standard de couper, copier et coller proposées depuis l'avènement du premier Macintosh. Cependant, avec l'aide du gestionnaire d'édition, le texte et les graphiques modifiés dans une application peuvent également changer dans toutes les applications associées pouvant être en cours d'exécution - soit sur le même ordinateur, soit sur un réseau. Le texte, les graphiques, les cellules de feuille de calcul, les enregistrements de base de données (toutes les données pouvant être sélectionnées dans une application) sont accessibles aux autres applications prenant en charge le gestionnaire d'édition.
Le gestionnaire d'aide
Le gestionnaire d'aide (Help Manager) peut afficher des bulles d'aide ressemblant à des dessins animés lorsque l'utilisateur d'une application déplace la souris vers un élément de l'interface utilisateur tel qu'un menu, une fenêtre, une icône ou un contrôle. Dans une application utilisant le gestionnaire d'aide, l'utilisateur peut activer les bulles d'aide en choisissant «Show Balloons» dans le menu Help. Le contenu des bulles d'aide est fourni par l'application. L'utilisateur peut désactiver la fonction d'aide en sélectionnant «Hide Balloons» dans le menu Help.
Le gestionnaire de périphériques graphiques
Le gestionnaire de périphériques graphiques gère les graphiques hors écran. Avec le gestionnaire de périphériques graphiques, vous pouvez créer des images hors écran, puis les afficher rapidement avec une seule routine. Cette technique évite la nervosité que vous voyez parfois lorsque vous dessinez des graphiques orientés objet directement sur l'écran. De plus, en dessinant une image dans un environnement que vous créez et contrôlez, vous pouvez être sûr qu'aucune autre application ou accessoire de bureau ne modifie ses caractéristiques.
Le gestionnaire de périphériques graphiques contient également des routines et des structures de données utilisées par QuickDraw et les gestionnaires de palettes et de couleurs pour communiquer avec les périphériques graphiques connectés à un système particulier. Ces périphériques peuvent inclure des imprimantes ainsi que des écrans vidéo. La plupart de ces routines sont utilisées uniquement par le système d'exploitation; certains peuvent être utilisés par des applications gourmandes en graphiques.
Le gestionnaire d'alias
Le gestionnaire d'alias (Alias Manager) entrepose les informations sur les fichiers et les répertoires dans des enregistrements spécialement conçus appelés enregistrements d'alias. Les fichiers et dossiers avec des enregistrements d'alias peuvent être référencés ultérieurement par leurs alias, plutôt que par leur chemin d'accès complet. Le gestionnaire d'alias fournit ainsi une méthode simple pour suivre les fichiers et les dossiers sur plusieurs volumes. Il fournit également des routines pouvant lancer automatiquement le montage d'un volume AppleShare non monté et peuvent inviter un utilisateur à insérer un disque lorsqu'un disque nécessaire est introuvable.
Le gestionnaire d'accès à la base de données
Le gestionnaire d'accès à la base de données (Database Access Manager) permet à une application de communiquer avec une application de base de données exécutée sur un ordinateur à distance. Avec le gestionnaire d'accès à la base de données, une application peut utiliser des routines de haut niveau ou de bas niveau pour initier des communications avec un serveur de base de données à distance ; envoyer des commandes ou des données au serveur et, une fois que le serveur a exécuté les commandes, récupérer toutes les données demandées auprès du serveur.
La boîte à outils PPC
La boîte à outils PPC (Program-to-Program Communications) permet aux applications de communiquer avec d'autres applications. Ce gestionnaire de bas niveau est particulièrement adapté aux modules de code (ou aux accessoires ou applications de bureau) n'étant pas pilotés par des événements.
Avec la PPC Toolbox, une application peut :
- Vérifier les identités des utilisateurs à distances de la boite à outils PPC
- Partager des informations entre d'autres applications exécutées sur le même ordinateur ou sur un réseau informatique
Le gestionnaire d'alimentation
Le gestionnaire d'alimentation (Power Manager), utilisé uniquement par le Macintosh Portable, est intégré au micrologiciel de l'ordinateur. Le gestionnaire d'alimentation peut placer le Macintosh Portable dans deux états de faible consommation d'énergie : l'état inactif et l'état veille.
Le Macintosh Portable passe à l'état inactif lorsque le système est resté inactif pendant 15 secondes. Lorsque l'ordinateur est en veille, sa vitesse d'horloge normale de 16 MHz est ralentie à 1 MHz.
Lorsque le portable est resté inactif pendant une période supplémentaire - la durée est définie par l'utilisateur - l'alimentation de l'ordinateur est coupée, mais aucune donnée n'est perdue de la RAM. Lorsque l'utilisateur active l'ordinateur, en cliquant sur le bouton de la souris ou en appuyant sur une touche, le portable «se réveille» et est prêt à l'action.