Beschreibung
Um mit Curl arbeiten zu können setzt der Autor (übrigens ein Lehrer ca. 15 km von meinem Wohnort entfernt) gewisse Vorkenntnisse in HTML voraus, da Curl auch eine Markup-Sprache ist. Gewisse Vorkenntnisse in JavaScript oder einer ähnlichen Scriptsprache sind ebenfalls nützlich. Zu Beginn des Buches wird dem Leser erst einmal verständlich gemacht, was Curl denn überhaupt ist, was es kann und wie es entstand. Es werden anfangs auch durch kleine Beispiele die Ähnlichkeiten zwischen HTML und Curl dargestellt, die sich aber tatsächlich nur auf die Struktur erstrecken. Das Aussehen zwischen HTML und Curl ist völlig anders. Der Autor weist auf die Bezugsquellen von Curl hin und erläutert die drei Lizenzmodelle in kurzen Worten.
Wie in jedem Buch, das in eine Programmiersprache einführt, beginnt auch dieses Buch im ersten Praxiskapitel mit einem „Hallo Welt“-Programm. Auf den Folgeseiten werden grundlegende Bestandteile von Curl erklärt, die sich vorerst nur mit den gestalterischen Fähigkeiten und den üblichen Interaktionen à la HTML, wie z.B. Links, von Curl beschäftigen.
Ab Kapitel 4 hebt sich Curl in seinen Fähigkeiten von HTML ab. Es werden kompliziertere grafische Anwendungen wie z.B. das Zusammenspiel von RGB-, HSV- oder CMY-Farben bis hin zu Farbverläufen erläutert, die mit HTML nicht mehr möglich sind.
In Kapitel 5 löst sich Curl vollkommen von der reinen Markup-Sprache – Es kommen z.B. Datentypen, Größen, Vektoren, Zeichenfolgen oder Arrays hinzu. Das Kapitel erinnert nun stark an eine Scriptsprache, mit der man Seitenelemente auf bestimmte Art und Weise statisch verändern kann.
In Kapitel 6 beginnt der Autor mit den Datentypen zu interagieren. Curl formt sich immer mehr zu einer Programmiersprache, die bekannte Elemente jeder Programmiersprache enthält, wie Verzweigungen, Schleifen oder Prozeduren, die in Curl sogar direkte Anwendung auf grafische Elemente finden.
Im nächsten Kapitel kommen die Interaktionen hinzu, die Curl vorerst abrunden. (was nicht bedeuten soll, dass das alles war!). Zu den Interaktionen gehören Standardevents, wie das Abfragen der Tastatur oder der Maus, aber auch übliche Formularelemente finden sich hier wieder und wie man auf solche reagieren kann. Hinzukommen Registerkarten, Schiebebalken, Pulldown-Menüs, das Kontextmenü oder gar selbst gestaltete Benachrichtigungsfenster. Alles Elemente, die in Curl fest integriert sind und einem Webentwickler oft Nerven kosten, diese z.B. via JavaScript selber zu programmieren.
Ab Kapitel 8 findet man keinerlei Ähnlichkeiten zwischen der Kombination HTML/JavaScript und Curl wieder. Es geht um Grafik und Animation, angefangen bei Polygonzügen über Antialiasing bis hin zu Drehungen mit Filtereffekten.
Wer dachte, das könnte nicht mehr getoppt werden, der irrt. Das Kapitel 9 beschäftigt sich mit dem Thema: „Virtuelle Welten“. Der Autor zeigt, wie man mit Curl dreidimensionale Welten erzeugen und auf diese Interaktionen ausüben kann (z.B. das Verändern der Kameraposition).
Das letzte Kapitel 10 beschäftigt sich mit Dateien. Der Leser erfährt, wie man z.B. geschriebene Prozeduren wiederverwenden kann, wenn er sie in externe Dateien, ähnlich wie ein externes Stylesheet oder ein externes JavaScript in HTML, abspeichert.
Zu jedem Kapitel werden dem Leser Aufgaben gestellt, die er anhand der vorangegangenen Inhalte lösen kann. Der Autor legt sehr viel Wert darauf, dass der Leser die Eigeninitiative ergreift, denn die Aufgaben sind meist nicht nur eine Abfrage des Erlernten, sonder fordern den Leser wirklich.
Am Ende des Buches gibt es ein Abschlussprojekt, das auf die Inhalte vieler Kapitel zurückgreift.