textico.de
Nicht jeder weiß, was mit dem Mac OS X so alles möglich ist. Darin steckt zum Beispiel nicht nur Darwin aus dem guten alten NeXTSTEP mit drin, auch das Framework Cocoa ist schon seit der ersten Version von OS X mit an Bord. Und auch wenn Carbon und Java mit implementiert sind, ist Cocoa die wichtigste, komfortabelste und auch am meisten eingesetzte API, wenn es an die Programmierung von Anwendungen für den Mac geht. Davon handelt dieses Buch von "Apfelguru.de" Klaus M. Rodewig. Als IDE kommt das Apple Developer Tool Xcode zum Einsatz und die GUIs werden mit dem Interface Builder erstellt.
Der Einstieg ist sehr schön gelungen und geht -- man schreibt hier für eher unerfahrene Programmierer auf dem Mac -- ganz seicht zu Werke, ohne eigenes Coden. So wird der Leser mit der Maus an Klassen, Objekte, Instanzen und an die Entwicklungsumgebung herangeführt. Dann wird das Programmieren von der Pike auf gelernt, dieses allerdings nicht etwa, wie man erwarten könnte, mit der Cocoa-Sprache Objective-C, vielmehr holt der Autor viel weiter aus und beginnt erstmal mit einem Exkurs in die Sprache C. Dieses sicher nicht nur für den Fall vorzubeugen, dass man mit den Mitteln Objective-C nicht weiterkommt, sondern sicher vielmehr, um dem Leser auch einen akademisch einwandfreien Programmierkurs an die Hand zu geben. Für diesen ist das sicher nicht der einfachste Weg, er muss schon ein gutes Stück Lernbereitschaft mitbringen, was sich aber durchaus lohnt, denn richtig verstehen beugt ja tatsächlich späteren Lücken vor.
Was dann kommt, ist das, was man erwartet und unbedingt können will und sollte: Das erste eigene Programm erhält seine Komponenten und Funktionen, die Benutzer-Events werden als Steuerelemente erkannt und ausgewertet, als dritter wichtiger Baustein werden Copy-and-paste, Drag-and-drop und Un- und Redo werden ausführlich abgehandelt. Sehr interessant und gelungen sind die dann folgenden Kapitel über einen Einstieg in die Netzwerk-Programmierung und das mit "Extreme Programming" zwar leicht missverständlich betitelte, aber sehr gut erklärte und recht ausführliche Kapitel über das Multithreading in Mac OS X. Den Abschluss macht ein etwas "angehängt" wirkendes Kapitel über UNIX unter Mac OS X, was sich für die meisten Leser eigentlich erübrigen sollte. Ist doch anzunehmen, dass grundlegendes UNIX-Wissen vor dem Wunsch da sein sollte, C und Objective-C zu erlernen. Für Mac-User, die von Aqua her kommen, wird aber auch diese Lücke hier geschlossen.
Alles in allem ist dieses Buch eine sehr gut gelungene Einführung in Cocoa, Objective-C, X-Code, Interface Builder und genau genommen sogar in C und UNIX. Wer sich also betätigen möchte im Kreieren eigener Applikationen, hat eine gut geschriebene und erklärende Lektüre vor sich. Wer aber schon Cocoa kennt und auf der Suche nach ganz konkreten, vielleicht auch fortgeschritten Antworten ist, sollte vielleicht vorher zuerst hinein blättern, ob er diese hier auch bekommt. Also Platz für ein ebenso gelungenes Cocoa-Buch für Fortgeschrittene gibt es noch auf jeden Fall! --Wolfgang Treß
Kurzbeschreibung
Dieses Buch wendet sich an alle Programmierer, die Cocoa-Applikationen für Mac OS X mit Objective-C erstellen möchten. Dabei werden gleichermaßen Einsteiger und Experten angesprochen. Der Leser erhält mit dem Buch eine Einführung in die Arbeit mit den Apple Developer Tools, Objective-C und Cocoa. Darüber hinaus wird fundiertes Wissen im Bereich der Cocoa-Programmierung und des Unix-Kerns von OS X vermittelt. Wichtige und praxisnahe Themen wie die Programmierung mit Threads fehlen hierbei ebenso wenig wie die Erstellung von Benutzeroberflächen, Cocoa-Bindings und Techniken zur Netzwerkprogrammierung.
Das erste Kapitel reflektiert die Entwicklungsgeschichte von Unix und Mac OS X. Es wird das Cocoa-Framework vorgestellt und ein Überblick über die Apple Developer Tools gegeben.
Im zweiten Kapitel werden anhand der detailliert beschriebenen Erstellung eines Programms die Entwicklungswerkzeuge XCode und Interface Builder vorgestellt.
Im dritten Kapitel werden die Sprachen C, C++ und Objective-C vorgestellt. Hierdurch wird der Leser in die Lage versetzt, Quelltexte zu lesen und zu verstehen und den folgenden Kapiteln ohne Probleme zu folgen. Der Leser wird mit den Unix-Tools Emacs und gcc vertraut gemacht und erhält damit Einblick in die Entwicklung von Programmen mit den Standardwerkzeugen unter Unix.
Im vierten Kapitel wird die Verwendung ausgewählter Oberflächenelemente, inkl. Menüs und eigener Icons, vorgestellt. Ein großer Teil dieses Kapitels beschäftigt sich mit der neuen Technik der Cocoa-Bindings und deren Vorteile für die Software-Entwicklung.
Das fünfte Kapitel zeigt anhand mehrerer Beispiele die grundlegenden Techniken «Events» und «Notifications».
Im sechsten Kapitel werden verschiedene Techniken des Datenaustauschs und der Datenspeicherung dargestellt. Weiterhin werden das Drucken von Dokumenten, der Zugriff auf Dateien und Verzeichnisse sowie die Programmierung von Netzwerkanwendungen und XML-Parsern! vorgestellt.
Das siebte Kapitel zeigt den Einsatz von «Undo», die Erstellung von mehrsprachigen Anwendungen und die Drag&Drop-Fähigkeit einer Applikation.
Im achten Kapitel werden die Verwendung von Threads und die Bewältigung der damit verbundenen Problemstellungen (Synchronisation, Deadlock, Debugging) gezeigt. Ebenso wird die Verwendung der «GNU C Library» vorgestellt.
Das letzte Kapitel erklärt die Arbeit mit Mac OS X als Unix-System. Dem Leser wird hier die Arbeit mit der Shell vorgestellt. Exemplarisch werden Unix-Befehle wie «kill» und «top» gezeigt sowie die Möglichkeit, den Syslog-Daemon für eigene Applikationen zu verwenden.