dimanche 16 septembre 2007

Les applications sur Mac OS X

A une époque, j'étais un grand fan d'Apple. Ma première machine Apple était un Apple II (car le Mac coûtait trop cher en ce temps-là). J'ai fini par avoir un Mac LC, just après ce quai-inconnu d'Apple IIGS (qui était un Apple II aux allures de Mac --il avait une souris et même QuickDraw). Puis, au bureau, tout le monde avait un Mac. Il y avait aussi un ou deux PC qui traînaient.

Et un jour, il a fally que je compile un truc sur un de ces PC (il faisait tourner NT 3.51beta à l'époque). Et, ô mon dieu, la compilation de ce programme en C n'a pris que auelques secondes. Pourquoi fallait-il 10 minutes sur mon Mac ? C'était une raison suffisante pour mon divorce, Votre Honneur. Windows allait devenir mon amour, et l'est resté.

Avance rapide vers 2007. J'utilise toujours des systèmes Windows au travail (XP SP2). J'utilise toujours des systèmes Windows chez nous (nous avons un Media Center, un portable avec XP, et un autre avec Vista). Et la vie est merveilleuse. Mais... pour une raison que j'ignore (rien de nouveau précu à l'horizon ? les nouveaux iMac ?), je recommence à m'intéresser aux Mac, ainsi qu'à OS X pour la première fois en quelques années. J'essaie même de trouver de bonnes raisons pour en acherer un. Alors voici une chose que j'ai découverte très récemment, en ayant visionné une bonne démonstration de Mac OS X Tiger (grâce à Google Video, bien que la vidéo en question ne soit plus disponible aujourd'hui, allez savoir pourquoi) : gérer des applications sur le Mac est bien plus naturel que sous Windows !

Une application s'installe en général en lançant un "package" (ceci est similaire à ce que vous Windows propose avec le Windows Installer). Une fois l'application installée, on la trouve dans le dossier Applications. Il est possible de créer des alias (raccourcis dans le monde Windows) que l'on peut placer n'importe où (y compris dans le Dock) pour lancer cette application. Supprimer ces alias ne supprime pas l'application (comme sur Windows).
Il est aussi possible de déplacer l'application depuis le dossier Applications vers n'importe quel autre endroit, et ses alias seront toujours valides. Pour supprimer une application, il suffit de la mettre à la corbeille. Dans toute cette description, on remarque une chose en particulier : une application est matérialisée par un seul fichier.
Sous Windows, une application est composée en général de plusieurs fichiers : un exécutable, quelques DLL, et plus (y compris quelques entrées dans le registre). Sur le Mac, il ne s'agit que d'un fichier. Ce qui veut dire qu'il est bien plus difficile pour les utillisateurs de tout casser.

J'ai alors commencé à réfléchir : comment peut-il y avoir un seul fichier ? Sur Windows, avec .net, on a quelque chose de très similaire : pas besoin d'entrées dans le registre, et un exécutable ou une DLL peut contenir un certain nombre de ressources (c'est-à-dire d'autres fichiers, comme des icônes ou du texte), ce qui veut dire qu'une installation revient simplement à copier ces fichiers, et donc ils peuvent a priori être déplacés sans incidence. Mais c'est toujours un ensemble de fichiers (ne serait-ce que pour des raisons pratiques pour les développeurs).

Alors, comment font-ils sur le Mac ? Soit c'est la même chose qu'avec .net, à l'extrême (un fichier contient tout), soit c'est le Finder qui nous abuse... Cet article m'a fourni la solution : oui, le Finder nous cache la vérité. Et il le fait très bien.

Aucun commentaire: