Cocoa Workshop

Aus Java Student User Group Austria - Java + JVM in Wien Österreich / Vienna Austria
Wechseln zu: Navigation, Suche

Allgemeine Information

11th grade
  • Inhalt: Entwicklung von Mac OS X Anwendungen mit Cocoa und Objective-C
  • Termin: 17., 19., 24., 26. Februar, jeweils 19:00 - 22:00 Uhr
  • Umfang: 4 Termine je 3 Stunden
  • Ort: Technikum Wien, Standort Höchstädtplatz, LAB4.18
  • Preis: EUR 60,- (bitte abgezählt beim ersten Termin mitnehmen)



Andreas Monitzer veranstaltet mit Hilfe der Java Student User Group der TU Wien (Anm.: welche rein organistatorische Tätigkeiten übernimmt und keinerlei Einkünfte dadurch erlangt) kommenden Februar einen Workshop zu Cocoa, die Apple eigene Entwicklungsumgebung für native Mac OS X Anwendungen. In Kombination mit der Sprache Objective-C (welches eine Erweiterung von C und verwandt mit Smalltalk ist) bietet das Cocoa Framework Möglichkeiten um kommandozeilenbasierte UNIX Programme, state-of-the-art GUI Anwendungen mit hübscher Aqua Oberfläche oder auch die derzeitig aktuellen iPhone Apps zu entwickeln.

Bei den vier Terminen werden die verschiedensten Kapiteln rund um Cocoa behandelt. Zwischen diesen Terminen werden kleinere (Haus-) Übungen ausgeteilt welche dann online aber auch gemeinsam beim Folgetermin besprochen werden. Zusätzlich gibt es während den Treffen kleinere Beispiele -wie es ein Workshop so an sich hat.

Der Workshop richtet sich an etwas erfahrene Programmierer (zumindest Erfahrung mit C und einer objektorientierten Sprache wie C++ oder Java werden vorausgesetzt) jedoch sind keinerlei Vorkenntnisse in der Entwicklung von Mac OS X Anwendungen erforderlich, als auch können auch gerne nicht Mac-User teilnehmen. Zur Selbsteinschätzung steht ein kleiner Eignungsfragebogen zur Verfügung (siehe Wiki-Artikel); Antworten können gerne der Anmeldung beiliegen.


Termine

# Tag Datum Uhrzeit
 1   Dienstag   17.02.2009   19:00 - 22:00 
 2   Donnerstag   19.02.2009   19:00 - 22:00 
 3   Dienstag   24.02.2009   19:00 - 22:00 
 4   Donnerstag   26.02.2009   19:00 - 22:00 


Termin 1: Foundation

Inhalt: XCode, Objective-C, Foundation, Reference Counting/GC, Categories, NSRunLoop, User Defaults, Notifications

Cocoa ist ein sehr umfangreiches Gebiet, das viele Tools und Bibliotheken beinhaltet. Anfangs beginnen wir mit einem kurzen Überblick über die Technologie und fahren anschließend mit den grundlegenden Elementen der Infrastruktur fort.

Nach dieser Einheit sollten die Teilnehmer Kommandozeilenprogramme in Cocoa verstehen und selbst entwickeln können. Dies erlaubt einen genaueren Einblick in die Programmiersprache Objective-C und die Konzepte an sich.

Termin 2: Visual

Inhalt: Interface Builder, Responder Chain, Event Handling, Controls, Table View, Outline View, Delegates, Data Sources, Toolbar, KVC, KVO, Bindings

Nachdem Kommandozeilenprogramme nicht der Grund sind warum man Cocoa programmiert, werden die grafischen Möglichkeiten besprochen.

Nach dieser Einheit sollten die Teilnehmer schon sehr umfassende Anwendungen schreiben können, aber zu einer echten Mac OS X-Applikation gehört noch einiges mehr...

Termin 3: Hands-on Cocoa

Inhalt: Core Data, Custom View Drawing, Debugging, Performance, Tools (Instruments, Shark)

Einfache Programme lassen sich jetzt schon sehr gut entwickeln, aber in der Praxis stellen sich häufig ganz andere Probleme, wenn man ein Endbenutzerprogramm entwickeln will.

Diese Einheit sticht etwas hervor, da hier mehr auf Tools, Praxiserfahrung und die daraus ergebenden notwendigen Adaptionen von Cocoa-Applikationen eingegangen wird. Weiters soll hier auch verstärkt auf konkrete Probleme der Teilnehmer eingegangen werden.

Termin 4: Advanced

Inhalt: Core Animation, Webkit, QTKit, iPhone

Mit dem bereits erlangten Wissen kann man bereits einen Großteil der am Markt befindlichen Cocoa-Programme nachprogrammieren. Wenn man allerdings auf modernere Konzepte setzen will, benötigt man noch weitere Bibliotheken.

In dieser Einheit werden Themen behandelt die nicht zu Cocoa selbst gehören, aber auch Teil von Mac OS X und dessen "Experience" sind.


Nützliche Informationen

Xcode Shortcuts

  • CMD+R ... Run; Kompiliert und startet das Projekt
  • CMD+SHIFT+D ... Open Quickly; Praktisch um schnell mal die Datei zu einem Typ zu öffnen
  • CMD+SHIFT+Y ... Debug Fenster öffnen
  • CMD+ALT+ArrowUp/ArrowDown ... Zwischen *.m und entsprechender *.h Datei wechseln
  • ALT+CMD+S ... Alle Dateien Speichern
  • ALT+Doppelklick auf Klassenname ... Direkt in Dokumentation springen
  • CMD+Doppelklick auf Klassenname ... Direkt in headerfile springen

Interface Builder

  • CMD+1/2/3/4/5/6 ... Durchnavigieren der Tabs im Inspektor
  • ALT gedrückt halten während ein Widget selektiert ist und über anderes hovern ... Guidelines einblenden


Unterlagen

Folien & Xcode Projekte

  • Folien Part1 (pdf, 4.2MB) ... Introduction, Foundation
  • Xcode Projekt Part1 (zip, 74KB) ... Vorlage für 1. Übung (NSFileHandle, NSNotificationCenter, @property)
  • Folien Part2 (pdf, 3.2MB) ... GUI Programmierung
  • Xcode Projekt Part2 (zip, 57KB) ... Vorlage für 2. Übung (Interface Builder, Array Controller, Binding)
  • Folien Part3 (pdf, 3.4MB) ... CoreData, Custom View, Practical Experience, Performance, Tools

Verschiedenes

  • Kurzinfo (pdf, 42KB) ... Dokument mit allgemeinen Information
  • Fragebogen (pdf, 65KB) ... Eignungstest um Vorwissen abzuprüfen


Links

Termin 1

Termin 2

Termin 3

Cocoa Tutorials, Hilfe

developer.apple.com


Anforderungen

Teilnehmer

  • Erfahrung mit C
  • Objektorienterte Programmiersprache (C++, Java, Smalltalk)
  • Lehrveranstaltungen: EPROG, OOP, SYSPROG

Hard- and Software

  • Notebook mit Mac OS X 10.5 (bitte uns kontaktieren falls keines zur Verfügung steht)
  • Aktuelle Developer Tools (XCode 3.1.1)