2-32-7 _OS_X_Progra_001-010 21.10.2002 15:17 Uhr Seite 5 Übersicht Vorwort 11 Kapitel 1 – Systemaufbau und Technologie 17 Kapitel 2 – Bundles, Pakete und das Dateisystem 29 Kapitel 3 – Der Startvorgang 49 Kapitel 4 – Die Werkzeugkiste 59 Kapitel 5 – «Kohlenstoff im Aquakleid» – Carbon 85 Kapitel 6 – Praxisprojekt «Hallo Welt» 97 Kapitel 7 – Praxisprojekt «Hallo Carbon» 103 Kapitel 8 – Body Mass Index – Besser aussehen 111 Kapitel 9 – Mac OS X-Programme weiterentwickeln 187 Kapitel 10 – «Kakaobohnen in Aktion» – Cocoa 223 Kapitel 11 – Praxisprojekt «Hallo Welt» 233 Kapitel 12 – Praxisprojekt «Hallo Cocoa» 243 Kapitel 13 – Body Mass Index – Final Release in Mac OS X 259 Kapitel 14 – Cocoa-Programme weiterentwickeln 313 Kapitel 15 – «Eine Brücke für die Kaffeebohnen!» – Java 383 Kapitel 16 – Body Mass Index – Light-Version 407 Anhang A – «The End…» – Abspann 415 Anhang B – Glossar 421 Index 431 2-32-7 _OS_X_Progra_001-010 21.10.2002 15:17 Uhr Seite 6 Inhaltsverzeichnis Vorwort 11 «Film ab!» – Vorspann ……………………………………………… Einleitung …………………………………………………………… Ein Buch für jedermann? ………………………………………… Voraussetzungen für Ihren Computer ………………………… Sinn und Zweck dieses Buches ……………………………… 12 14 14 14 14 Kapitel 1 – Systemaufbau und Technologie Die Systemebenen (Ein Überblick)…………………………………… Applikations-Dienste (Application Services) …………………… Kern Dienste (Core Services) …………………………………… Kernel-Umgebung (Kernel environment) ………………………… Kapitel 2 – Bundles, Pakete und das Dateisystem Bundles, Applikationspakete & Frameworks ………………………… Was ist ein Bundle? ………………………………………………… Dateisystem ………………………………………………………… Organisation …………………………………………………… Kapitel 3 – Der Startvorgang Masterplan ………………………………………………………… BootRom & BootX…………………………………………………… BootX …………………………………………………………… Kernel- und System-Initialisierung ……………………………… rc und rc.boot …………………………………………………… Der SystemStarter ……………………………………………… Kapitel 4 – Die Werkzeugkiste Developer Tools-Übersicht …………………………………………… Project Builder (Version 2.0.1) ……………………………………… Project Builder-Einstellungen …………………………………… Projektfenster …………………………………………………… Editieren mit Stil ………………………………………………… Interface Builder (Version 2.3) ……………………………………… Interface Builder-Einstellungen ………………………………… Interface erzeugen ……………………………………………… Hilfsfunktionen ………………………………………………… Auf dem Grund der Werkzeugkiste…………………………………… Der Build-Vorgang ……………………………………………… Ein paar Worte zum Terminal ……………………………………… Zusammenfassung ………………………………………………… 17 18 22 24 26 29 30 30 39 39 49 50 51 52 52 53 54 59 60 63 64 66 67 72 73 74 77 80 82 82 83 2-32-7 _OS_X_Progra_001-010 21.10.2002 15:17 Uhr Seite 7 Kapitel 5 – «Kohlenstoff im Aquakleid» – Carbon Grundwissen «Carbon» ……………………………………………… Überblick………………………………………………………… Die Bestandteile von Carbon …………………………………… Was unter Carbon nicht mehr funktioniert ……………………… Die Funktionsweise von Carbon ………………………………… Welche Applikation läuft wo? …………………………………… Carbon und seine Manager ……………………………………… Zusammenfassung ………………………………………………… Kapitel 6 – Praxisprojekt «Hallo Welt» 85 86 87 88 88 89 89 90 95 97 Projekt erstellen ……………………………………………………… 98 Ergänzende Erklärungen ………………………………………… 100 Kapitel 7 – Praxisprojekt «Hallo Carbon» 103 Überblick …………………………………………………………… 104 Organisation………………………………………………………… 105 Zusammenfassung ………………………………………………… 110 Kapitel 8 – Body Mass Index – Besser aussehen Aquaplanung ……………………………………………………… Programmdesign ………………………………………………… Projekteinstieg …………………………………………………… Fenster und Nibs …………………………………………………… Hauptfenster integrieren ………………………………………… Fenster und ihre Eigenschaften…………………………………… Kontrollelemente und Events ………………………………………… Textfelder & Knöpfe……………………………………………… Konstanten definieren …………………………………………… Hauptereignisse ………………………………………………… Rechnen lassen ………………………………………………… Letzte Schliffe …………………………………………………… Lokalisierung………………………………………………………… Englisch oder Deutsch …………………………………………… Programmversionen …………………………………………… Integration von lokalisiertem Text ……………………………… Icon und About-Fenster ……………………………………………… Icon erzeugen & einbauen ……………………………………… About-Fenster gestalten ………………………………………… Fensterereignisse ………………………………………………… Dateien und PropertyList …………………………………………… Wohin speichern ………………………………………………… Einlesen ………………………………………………………… 111 112 112 113 116 116 118 122 124 129 132 134 137 138 140 144 144 152 153 156 158 163 164 166 2-32-7 _OS_X_Progra_001-010 21.10.2002 15:17 Uhr Seite 8 Speichern ……………………………………………………… 172 Hilfe und Release………………………………………………… 174 Zusammenfassung ………………………………………………… 185 Kapitel 9 – Mac OS X-Programme weiterentwickeln Mehrfachauswahl …………………………………………………… Statusanzeige und Sliders …………………………………………… Öffnen- und Sichern-Dialog ………………………………………… Events und Threads ………………………………………………… Zusammenfassung ………………………………………………… Wie weiter? ………………………………………………………… Verwendete Funktionen……………………………………………… Eventtypen, Klassen und Debugging ………………………………… Dokumentationen, Bücher und Links ……………………………… Dokumentationen der Developer Tools CD ……………………… Bücher zum Thema ……………………………………………… Websites ………………………………………………………… Kapitel 10 – «Kakaobohnen in Aktion» – Cocoa Entstehungsgeschichte ……………………………………………… Einführung in Cocoa ………………………………………………… Bestandteile von Cocoa ……………………………………………… Foundation Framework ………………………………………… Application Kit Framework ……………………………………… Zusammenfassung ………………………………………………… Kapitel 11 – Praxisprojekt «Hallo Welt» 187 188 193 197 205 210 211 211 214 220 220 221 222 223 224 225 226 226 229 232 233 Projekt erstellen ……………………………………………………… 234 Speicher bändigen ……………………………………………… 240 Zusammenfassung ………………………………………………… 242 Kapitel 12 – Praxisprojekt «Hallo Cocoa» 243 Organisation………………………………………………………… 244 Funktionalität ……………………………………………………… 247 Zusammenfassung ………………………………………………… 257 Kapitel 13 – Body Mass Index – Final Release in Mac OS X Aquaplanung ……………………………………………………… Programmdesign ………………………………………………… Interface entwickeln……………………………………………… Hauptfenster erstellen …………………………………………… Textfelder und Knöpfe …………………………………………… Klasse erstellen & Verbindungen herstellen…………………………… Implementierung …………………………………………………… 259 260 260 262 262 270 274 280 2-32-7 _OS_X_Progra_001-010 21.10.2002 15:17 Uhr Seite 9 Funktionalität einbauen ………………………………………… Lokalisierung………………………………………………………… Englisch und Deutsch …………………………………………… Programmversionen …………………………………………… Integration von lokalisiertem Text ……………………………… Icon und About-Fenster ……………………………………………… Icon einbauen …………………………………………………… About-Fenster anpassen ………………………………………… Dateien und Hilfe …………………………………………………… Wohin speichern ………………………………………………… Online-Hilfen & Releasen ……………………………………… Zusammenfassung ………………………………………………… Kapitel 14 – Cocoa-Programme weiterentwickeln Grafiken, Bilder……………………………………………………… Regler, Statusanzeige, Drawer und die NSMatrix …………………… Tabelle, TabView und Codierung …………………………………… Timer, Notifications und NSHost …………………………………… Zusammenfassung ………………………………………………… Wie weiter? ………………………………………………………… Quellen, Literatur …………………………………………………… Bücher zum Thema ……………………………………………… Websites ………………………………………………………… Kapitel 15 – «Eine Brücke für die Kaffeebohnen!» – Java Java und Mac OS X ………………………………………………… Überblick der Projekttypen ……………………………………… Spezielle Werkzeuge ……………………………………………… Zusammenfassung ………………………………………………… Kapitel 16 – Body Mass Index – Light-Version Interface-Design …………………………………………………… Implementierung …………………………………………………… Zusammenfassung ………………………………………………… Wie weiter? ………………………………………………………… Dokumentationen, Bücher und Links ……………………………… Bücher zum Thema ……………………………………………… Websites ………………………………………………………… Anhang A – «The End…» – Abspann Konklusionen ……………………………………………………… Carbon ………………………………………………………… Cocoa …………………………………………………………… Java……………………………………………………………… 281 283 283 285 285 299 299 300 303 303 306 311 313 314 331 345 357 369 371 371 381 381 383 384 387 399 406 407 408 410 412 412 412 412 413 415 416 416 416 416 2-32-7 _OS_X_Progra_001-010 21.10.2002 15:17 Uhr Seite 10 Resümee …………………………………………………………… 417 Literaturverzeichnis ………………………………………………… 417 Nachwort des Autors ………………………………………………… 418 Anhang B – Glossar Index 421 431