Cocoa Workshop
Aus JSUG
Inhaltsverzeichnis |
[Bearbeiten] Allgemeine Information
- 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)
- Unterlagen: Kurzinfo (pdf), Fragebogen (pdf)
- Vortragender: Andreas Monitzer
- Teilnehmer: 8 bis 12 Personen
- Anmeldung: javastudentusergroup@gmail.com (bis Montag 16. Februar)
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.
[Bearbeiten] 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 |
[Bearbeiten] 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.
[Bearbeiten] 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...
[Bearbeiten] 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.
[Bearbeiten] 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.
[Bearbeiten] Nützliche Informationen
[Bearbeiten] 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+Doppelklickauf Klassenname ... Direkt in Dokumentation springen -
CMD+Doppelklickauf Klassenname ... Direkt in headerfile springen
[Bearbeiten] Interface Builder
-
CMD+1/2/3/4/5/6... Durchnavigieren der Tabs im Inspektor -
ALTgedrückt halten während ein Widget selektiert ist und über anderes hovern ... Guidelines einblenden
[Bearbeiten] Unterlagen
[Bearbeiten] 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
[Bearbeiten] Verschiedenes
- Kurzinfo (pdf, 42KB) ... Dokument mit allgemeinen Information
- Fragebogen (pdf, 65KB) ... Eignungstest um Vorwissen abzuprüfen
[Bearbeiten] Links
[Bearbeiten] Termin 1
- Übung 1 Diskussion ... Thread im Informatik-Forum zur ersten Übung
- developer.apple.com ... Apples offizielle Anlaufstelle für Entwickler
- How to Succeed Writing Mac Software ... Präsentation vom Gründer der OmniGroup
- Cocoa Programming for Mac OS X ... Empfehlenswertes Buch; ISBN: 978-0321503619 (Deutsch 978-3826659607)
- Learn Objective-C Tutorial ... Behandelt Grundlagen von Cocoa und Objective-C (Memory Management, Interfaces, Implementations, Categories, etc)
- Cocoa Style for Objective-C ... Konventionen spielen gerade in Cocoa eine wichtige Rolle; hier werden die wichtigsten anschaulich aufgelistet
[Bearbeiten] Termin 2
- What Are Cocoa Bindings? ... Apple Developer Documentation
- Introduction to Cocoa Bindings ... Tutorial von cocoadevcentral
- Key-Value Coding Fundamentals ... Apple Developer Documentation
- Key-Value Coding and Generic Programming ... Tutorial von theocacao
- Intro to Cocoa KVC/KVO and Bindings ... Slides of a presentation conducted 2 months ago
[Bearbeiten] Termin 3
- Human Interface Guidelines ... Ein muss für jeden Cocoa Entwickler (auch direkt in Xcode einsehbar)
- Core Data Tutorials @ cocoadevcentral:
- Delicious Library Application
[Bearbeiten] Cocoa Tutorials, Hilfe
- Cocoa Dev Central ... sehr gute Tutorials für Anfänger
- Learn C Tutorial ... Grundlagen der Programmiersprache C
- Learn Cocoa Tutorial ... Simple Anwendung mit Xcode
- Theocacao ... noch mehr gute Tutorials
- Best of Both Worlds ... Videoaufzeichnung einer Cocoa Usergroup
- BecomeAnXcoder ... frei erhältliches Buch
- CocoaHeads ... Internationaler Cocoa Club
- CocoaHeads@Viddler.com ... Videoaufzeichnungen von Präsentationen
- CS193E ... Cocoa Programming Kurs der Stanford University
- Cocoa Dev ... ein Wiki für Cocoa Entwickler
[Bearbeiten] developer.apple.com
- Getting Started with Cocoa
- Introduction to The Objective-C 2.0 Programming Language
- Cocoa Application Tutorial
[Bearbeiten] Anforderungen
[Bearbeiten] Teilnehmer
- Erfahrung mit C
- Objektorienterte Programmiersprache (C++, Java, Smalltalk)
- Lehrveranstaltungen: EPROG, OOP, SYSPROG
[Bearbeiten] 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)

