Les outils de développement de Mac OS X
Présentation
Il était temps de faire enfin le point sur le contenu du CD qu’Apple a inclut dans toutes les distributions de Mac OS X : les outils de développement. Tous ceux qui ont eu la curiosité de lancer l’installateur de ce CD ont du s’apercevoir que des tonnes d’outils divers et de documentations étaient déversées sur le disque dur, et qu’il était difficile pour un néophyte de s’y retrouver.
Ce document a donc pour but de décrire ces outils de développement.
Note : La plupart des liens vers le site developer.apple.com nécessite que vous ayez un Apple Developer Connection ID. Si vous envisagez de faire partie de la communauté des développeurs Mac, cet indentifiant vous sera tôt ou tard indispensable ! Alors, rendez vous sur le site ADC et inscrivez-vous !
Outils principaux
- Interface Builder est un éditeur à interface utilisateur graphique pour des applications à la fois Cocoa et Carbon. Il dispose d’une aide en ligne complète et de notes relatives aux mises à jour, disponibles sous le menu d’Aide. Il y a aussi quelques tutoriels pour vous aider à apprendre : Le tutoriel Converter décrit comment créer une interface pour une application Carbon. Le Java Tutorial décrit comment créer une Interface pour une application Cocoa.
- Project Builder est un environnement intégré de développement pour Mac OS X. Il supporte à la fois Cocoa et Carbon, et les langages C, C++, Objective-C, et Java. Il dispose d’une aide en ligne complète et de notes relatives aux mises à jour, disponibles sous le menu d’Aide. Il y a aussi quelques tutoriels pour vous aider à apprendre. Hello World décrit comment construire un projet simple. About Box décrit comment construire un projet plus complexe, comprenant un framework et une application qui s’en sert. Debugger vous explique comment débugger votre projet.
- Project Builder pour WebObjects (ou ProjectBuilderWO) doit être utilisé uniquement par les développeurs Web Objects. Reportez vous à votre documentation sur WebObjects.
- FileMerge compare deux fichiers ou deux répertoires and vous permet de les mélanger. Reportez vous au menu Aide de FileMerge.
- Package Maker vous permet de packager votre logiciel de manière à ce que l’installateur de Mac OS X puisse l’installer sur la machine d’un utilisateur. Reportez vous au menu Aide de Package Maker.
- IconComposer permet la création de fichiers ressources icns pour les images existantes.
- icns Browser affiche le contenu d’un fichier icns.
- PEFViewer affiche, au format hexadécimal, le contenu d’un fichier binaire PEF.
- Pixie affiche, au format agrandi, tout ce qui lui passe sous la souris.
- PropertyListEditor vous permet de créer et d’éditer des listes de propriétés XML (préférences).
Outils de mesure de performance
Ces utilitaires vous permettent de mesurer les performances de votre application et la manière dont elle utilise les ressources. Ces applications sont dotées d’une interface utilisateur graphique et vous fournissent des informations de haut niveau. Les outils à ligne de commande ont une interface textuelle et apportent des données de niveau inférieur. Ils affectent moins votre programme que les applications et peuvent aussi être utilisés à partir d’une autre machine via Telnet.
Voici les applications:
- MallocDebug mesure l’usage que fait une application de la mémoire dynamique. Vous pouvez vous apercevoir de la taille de la pile mémoire qu’utilise votre application, si un buffer est sur le point d’être surchargé ou sous-utilisé, quelles fonctions requièrent de larges blocs de mémoire, et si votre application gaspille de la mémoire. Pour plus d’informations, reportez vous au menu Help de MallocDebug.
- ObjectAlloc vous permet d’observer les tendances d’utilisation de la mémoire. Vous pouvez vous apercevoir de la vitesse à laquelle votre application gère la mémoire et si votre application sait libérer la mémoire quand il se doit. Pour plus d’informations, reportez vous au menu Help de ObjectAlloc .
- Sampler affiche le temps passé par votre application dans chaque fonction et méthode qu’elle a implémentée. L’outil collecte ces informations en prenant des échantillons de votre application toutes les n millisecondes et en notant quelle fonction est en cours d’utilisation. Pour plus d’informations, reportez vous à l’article “A propos” de Sampler.
Voici les outils à ligne de commande :
- ps liste les process en cours d’exécution et les ressources qu’ils utilisent. Se reporter à la page man de ps (tapez man ps sous le Terminal).
- top affiche une liste, mise à jour en continue, des process, de leur utilisation CPU, de leur taux de pagination et de leur besoin en mémoire. Se reporter à la page man de top (tapez man top sous le Terminal).
- fs_usage enregistre dans un fichier log toutes les opérations d’accès fichier, y compris la pagination mémoire virtuelle. Vous avez la possibilité de voir les accès effectués par tous les process système ou par un seul process en particulier. Se reporter à la page man de fs_usage (tapez man fs_usage sous le Terminal).
- vmmap affiche la manière dont est utilisée la mémoire virtuelle, y compris où sont stockées la mémoire malloc et les librairies. Se reporter à la page man de vmmap (tapez man vmmap sous le Terminal).
- sc_usage enregistre dans un fichier log tous les appels au système Mach. Se reporter à la page man de sc_usage (tapez man sc_usage sous le Terminal).
- sample donne le profil d’un process durant un intervalle de temps donné. Se reporter à la page man de sample (tapez man sample sous le Terminal).
- heap liste tous les buffers alloués via malloc de la pile d’un process. Se reporter à la page man de heap (tapez man heap sous le Terminal).
- leaks cherche les buffers malloc qui n’ont plus de référence au sein de la mémoire d’un process. Se reporter à la page man de leaks (tapez man leaks sous le Terminal).
- malloc_history liste toutes les allocations malloc qu’un process a effectuées. Se reporter à la page man de malloc_history (tapez man malloc_history sous le Terminal).
Outils Java
Ces applications sont spécifiques aux programmeurs Java. La plupart d’entre elles sont documentées dans les notes de mises à jour de Java dans le répertoire /Developer/Documentation/ReleaseNotes/.
- MRJAppBuilder construit une application Mac OS X double-cliquable à partir d’une application Java.
- MRJAppletLauncher vous permet d’exécuter une applet Java sans passer par un navigateur web.
- JavaBrowser vous permet de voir la hiéarchie des classes Java dans un réperoire donné.
Mac OS X contient tous les outils à ligne de commande du kit Java 2 JDK v1.2, y compris la technologie Hotspot de la v1.3 et le compilateur jikes d’IBM. Pour plus d’informations sur tous ces outils, visiter la page web de Sun Java 2 JDK Tools and Utitlities, et les notes de mises à jour Java disponibkes dans le répertoire /Developer/Documentation/ReleaseNotes/.
Voici les outils les plus couramment utilisés :
- javac est le compilateur Java de Sun. Visitez javac page sur le site de Sun.
- jikes est le compilateur Java d’IBM. Il est plus rapide que javac, mais il n’est pas encore arrivé à maturation. Visitez jikes page sur le site d’IBM.
- java est l’intérpréteur Java de Sun. Il est issu du kit JDK 1.2, comprenant aussi la technologie Hotspot du kit JDK 1.3. Visitez java for JDK 1.2 page et java for JDK 1.3 page pour des infos sur Hotspot.
- jdb est le débuggeur Java de Sun. Visitez jdb page sur le site de Sun.
Outils C et Assembleur
Ces outils ont été spécialement conçus pour ceux qui s’adonnent à la programmation en C, C++, Objective-C, ou en Assembleur. La plupart d’entre eux sont documentés dans le répertoire (/Developer/Documentation/ReleaseNotes/).
- gcc est un compilateur pour C, C++, et Objective-C, et provient de la GNU Foundation. Pour plus d’infos : The Objective-C Compiler.
- cpp-precomp et cpp sont les préparateurs. cpp-precomp convient au C et à l’Objective-C. cpp convient au C++ et provient de la GNU Foundation. Pour plus d’infos : The GNU C Preprocessor.
- as est l’Assembleur. Il utilise une syntaxe pour une variété de processeurs, y compris ceux d’Intel et le PowerPC. Pour plus d’infos : The Assembler.
- gdb est le débuggeur de la GNU Foundation. Pour plus d’infos : Debugging with GDB, et GDB Quick Reference. Si vous devez ajouter des fonctions à GDB ou lire ses fichiers de données, reportez vous à GDB Internals et à The stabs Debug Format.
- ld est l’éditeur de liens statiques. Il joint des fichiers objet à des fichiers binaires, tels que les drivers, les plugins, et les librairies partagées. Pour plus d’infos : la page man de ld (tapez man ld sous le Terminal).
- dyld est l’éditeur de liens dynamiques. Il charge les librairies dynamiques au moment où une application est lancée ou au moment où une application nécessite une librairie ou un plug-in. En général, on ne s’en sert pas comme d’un outil à ligne de commande mais plutôt comme une librairie dont toutes les applications font usage.Pour plus d’infos : la page man de dyld (tapez man dyld sous le Terminal).
- libtool crée des librairies dynamiques et statiques et est appelé automatiquement par gcc quand le besoin se fait sentir. Pour plus d’infos : la page man de libtool (tapez man libtool sous le Terminal).
Outils de gestion des ressources
Ces outils vous permettent de manipuler des fichiers traditionels de Mac OS, caractérisés par un resource fork et un data fork.
- Rez compile les fichiers écrits en Rez language en fichiers de ressources.
- DeRez décompile les fichiers de ressources en fichiers Rez.
- CpMac copie des fichiers Macintosh, en s’assurant de bien copier le resource et data fork.
- SetFil vous permet de garder l’indicateur “Fichier Macintosh” dans les informations exploitées par le Finder.
Notez que Rez et DeRez ne supportent pas complètement le langage Rez qui vous permet de décrire un fichier de ressource en langage anglais naturel. Par contre, ils utilisent un sous-ensemble de ce langage dans lequel la plupart des informations sont au format héxa-décimal.
Outils de contrôle du code source
Cet outil vous permet de gérer de gros projets sur lequel plusieurs développeurs interviennent et d’archiver les anciennes versions de votre code source.
- cvs est un système de contrôle de code source utilisé par Project Builder.
Outils de construction
Ces outils déterminent comment compiler et assembler les fichiers de votre projet, en accord avec les rôles et les dépendances que vous avez réglées.
- Jam est le système de construction que Project Builder utilise. Reportez vous au Site web Jam de Perforce.
- GNU Make est le système de construction que Project Builder utilise pour WebObjects.
Autres outils
Ces outils ont des objectifs très spécifiques.
- DebugNubController est une application qui permet à une machine de débugger une application tournant sur une autre machine. DebugNubController tourne sur la même machine que l’application en cours de débugging, et la machine qui héberge le débuggeur communique avec DebugNubController via TCP/IP. Pour plus d’informations, reportez vous à la documentation accompagnant le debuggeur.
- IORegistryExplorer affiche le registre du I/O Kit et n’a d’intérêt que pour les développeurs qui créent des extensions du noyau avec le I/O Kit.
- OpenGLInfo affiche des informations relatives aux périphériques d’affichage connectés à votre machine et n’a d’intérêt que pour les développeurs OpenGL.
Textes originaux sur le site Apple Developer Connection.
Chargement
Commentaires récents