Programming for iPhone, iPad und iPod Touch
Fachmodul
Lecturer: Michael Markert
Credits: 6 ECTS, 3 SWS
Date: Wednesdays, 10:15 until 12:30 h
Venue: Marienstraße 7b, Projektraum 104
First meeting: Wed, 19.October 2011
Gerade als die Schlagworte "ubiquitäres Computing" und "Augmented Reality" trotz immer leistungsfähigeren mobilen Endgeräten ihren Glanz zu verlieren scheinen, sind die iOS Geräte und das iPad dabei, diese Begriffe mit neuem Leben zu füllen: Nicht nur in Bedienung und User Interface werden neue Maßstäbe gesetzt, vor allem die auf den Absatz von Applikationen ausgerichtete Konzeption der Gerätefamilie und eine gut durchdachte Entwicklungsumgebung befördert Rekordzahlen an Software-Neuerscheinungen für die iPhone Plattform. 2010 gab es nur ein Tablet: das iPad. Die Absatzzahlen der iPhones haben sich von 2009 zu 2010 verdoppelt und die Berufsaussichten für iOS Entwickler sind im Moment glänzend.
Dieses Fachmodul für Fortgeschrittene baut auf dem iOSDev I Kurs auf, in dem es eine Einführung in Objective-C 2.0 und Cocoa Touch gab, die wichtigsten Frameworks sowie die Entwicklungsumgebung Xcode / Interface Builder vorgestellt wurden und so die Grundlagen für einen Aufbaukurs geschaffen wurden, in dem wir uns intensiv mit gestalterischen Fragen auseinandersetzen können.
Der Fokus liegt auf dem gemeinsamen Austausch und der Vorstellung von Technologien und Best Practices, v.a. von Objective-C & Cocoa und der Vorstellung und Showcases von nützlichen Libraries oder Tools zur Umsetzung von professionellen Apps. Außerdem sprechen wir über fortgeschrittenen Programmiermethoden und Gestaltungs- und Interaktionskonzepte. Auch auf die Einbindung von Hardware wie z.B. Sensoren und Aktuatoren oder Mikrocontrollern (z.B. Arduinos mit LAN-Schnittstelle) kann eingegangen werden.
Die endgültigen Themen des Kurses orientieren sich an den Erfordernissen der einzelnen studentischen Projekte. Das Fachmodul ist nicht als Frontalunterricht konzipiert, sondern versteht sich als Arbeitsgruppe, in der Ideen, Technologien und Techniken vorgestellt und diskutiert werden. So werden bestimmte Themen vom Dozenten vorgestellt, andere sollen als Referat (20 bis 30 Min.) von den Teilnehmern erarbeitet und präsentiert werden, so dass sich eine anschließende Diskussion entwickeln soll. Die Referat-Themen können neben Vorschlägen vom Dozenten nach Absprache gerne selbst gewählt werden!
Im Lauf des Werkmoduls soll schließlich eine Applikation umgesetzt werden (Medienkunst, Experiment, Game, Utility…). Eine Kombination mit Semesterprojekten und speziell dem interdisziplinären Projekt Zeitmaschinen ist ausdrücklich erwünscht. Bewerber, die auch das Zeitmaschinen-Projekt belegen, werden bevorzugt aufgenommen.
Ein spezieller Developer Account mit Zertifikat für teilnehmende Studenten ist vorhanden; damit können Anwendungen auch ohne weitere Kosten auf den eigenen Geräten getestet werden.
Das Fachmodul richtet sich an alle Teilnehmer, die bereits den ersten Kurs iOSDev I besucht haben. Der Schwerpunkt liegt auf nativen Applikationen, die mit Objective-C programmiert werden, aber wir werden sicherlich auch WebApplications ansprechen.
Themen des Kurses sind:
- Objective-C 2.0 & Cocoa Touch
- Xcode4, Project Management, SVN&GIT
- Fortgeschrittene Programmierkonzepte der objektorientierten Objective-C Sprache
- Künstlerische Auseinandersetzung mit dem Medium und Fragen der Interaktion
- Praktische Fragen anhand der umzusetzenden Projekte
- Vorstellung und Showcases nützlicher 3rd Party Frameworks und Tools
- u.v.m...
English Description
Just as the buzzwords "Ubiquitous Computing" and "Augmented Reality" are beginning to loose their thrilling denotation, the iPhone and especially the new iPad is becoming an exciting platform to set standards - not only regarding the user interface, but also with its application based paradigm and a well-thought development environment. In 2010 there was just one tablet available: the iPad. And the career prospects for iOS developers are certainly very promising.
We will talk about the latest technologies in iOS development (iOS5), present and showcase useful libraries, working techniques and share and discuss our knowlegde and experiences as well as many tipps and tricks. This way everyone will learn something new!
At the end of this course, students should have developed an application (media art, experiment, game, utility...). Combinations with semester projects and teamwork between artists/designers and programmers are very welcome. All participants may access a University's iPhone Developer Account, that enables us to test applications on devices without further expenses.
The Module is open for all students that visited the iOSDev I course. You may only apply if you visited this first course or if you already know Obj-C and Cocoa. In order to develop for iOS, an Intel-based Mac running Mac OS X 10.5.7 or later is required. Unfortunately we have no iOS devices to lend, so if you don't want to be restricted to the simulator, you should also have a iOS device (iPhone, iPod Touch, iPad).
Topics
- iOS, iPhone, iPad (General, App Showcase)
- iOS Coding Resources and Tools - incl. 3rd Party Frameworks, Templates, Open Source Projects & Classes...
- iOS Development Setup (SDK-Download, App-Signing How-To)
- Application Types
- Immersive, Productivity, Utility
- View-Based, Quartz 2d, OpenGL, WebApps
- Xcode
- Interface Builder
- Debugging
- Application Types
- Objective-C 2.0
- Cocoa Design Patterns
- Messaging (Methods, Subclassing, Delegation, Notification...)
- Target-Action-Paradigm
- MVC (Model / View / Controller)
- KVC (Key-Value-Coding)
- Cocoa Touch - the iPhoneOS Frameworks
- iOS 4 & iOS 5 Sneak Peek
- Einführung in kybernetische Systemtheorie als Interaktionsmodell
Projects
Below you find a documentation of the Student's Projects:
Requirements
- Previous successful completion of iOSDev I or good knowledge of Obj-C and Cocoa.
- Access to a Intel-Mac running 10.5. or 10.6.
- We have one Mac Mini available. Please get in touch with Michael!
- An iOS Device (iPhone, iPod Touch, iPad)
- It's possible to develop without device (Simulator)
If you have questions, please send an eMail!
Registration Procedure
To register for the course, please send an eMail to Michael.Markert (at) uni-weimar.de incuding the following informations:
- Name
- Program and semester (Studienprogramm und Fachsemester)
- Matriculation number (Matrikelnummer)
- Angabe der geltenden Prüfungsordnung (eg. PV27 or PV29)
- Valid email address @uni-weimar.de (no other mailing addresses will be accepted)
Please note, that the number of participants is restricted to 12 students due to the lecture/talks based concept. Should there be more than 12 applicants, the arguments for an acceptance to the course will be the number of entry, a project in the chair Interface Design and the number of the semester (if it's your last chance to visit this course).
Leistungsnachweis
Regelmäßige und aktive Teilnahme, Übernahme eines Kurzreferats sowie die Umsetzung einer Projektidee, entweder als Web-App (online) oder als native Anwendung sowie eine begleitende und abschließende Dokumentation im Wiki mit Kurzpräsentation im Rahmen des Kurses.
Grading:
- Attendance (33%)
- Lecture/Presentation of one topic of interest (33%)
- Realisation of the concept, at least partially and brief presentation at the end of term (33%)
- Wiki-Bonus (15%), not including the project documentation!
Zielgruppe
Das Werkmodul richtet sich an Studierende aller Fachrichtungen, die sich mit Anwendungen für iPhones, iPads bzw. iPod Touch Geräten technisch beschäftigen und künstlerisch auseinandersetzen wollen, insbesondere an:
- Master-Studenten der Medienkunst/Mediengestaltung
- Master-Studenten der Medieninformatik
- Master-Studenten des postgradualen Studiengangs Media-Architecture
- Diplom-Studenten der Gestaltung
Bitte die #Voraussetzungen beachten (dies ist ein Aufbaukurs)
Syllabus
This is a preliminary syllabus, there will be changes according to the needs of the student's projects
- 19.10. Intro, Organisation of Talks/Lectures
- 26.10. no course today (must be canceled due to an exhibition setup)
- 02.11. iProcessing (Michael) & WebApp Optimization
- 09.11. OSC, MIDI, TCP/IP, TCP/IP#UDP UDP
- 16.11. Bonjour, ThoMoNetworking, QuartzComposer
- 23.11. WebApp Examples & Bleeding Edge Web Technology
- 30.11. Application Dataflow, ViewControllers, Protocols & OOP
- 07.12. Project Talk (P. & A.)
- 14.12. Project Talk (J. & ?)
- 04.01. Customized UIPicker View (A.), ARC
- 11.01. Cloudmade (S.)
- 18.01. iStencyl (P.)
- 25.01. Drop (J.)
- 01.02. ? (A.), Git (M.)
- 28.02. Final Deadline
Abgabe der Ergebnisse:
- als Dokumentation im Wiki mit Screenshots und Erläuterungen
- und (per E-Mail): kompilierbare quelloffene Projektdatei, bis zum 28.02.2012.
Literature
Weitere Literatur- und Links finden sich in den jeweiligen Untersektionen.
Official
- Bauhaus-iOS @ developer.apple.com
- Apple's User Interface Guidelines for the iPhone Plattform: User Experience
- iOS Reference Library
- iOS Development Guide - Introduction
- iOS Programming Guide
Tutorials & Online-Courses
- iTunes U: Stanford Programming iPhone Course
- Apple Developer Videos (for registered developers)
- iCodeBlog iPhone Tutorials
- iOS Development 101
Literatur
- O'Reilly: Head First iPhone Development, ISBN 978-0-596-80354-4
- O'Reilly & MAKE: iPhone Open Application Development, ISBN 9780596516642
- O'Reilly iPhone Game Development: Paul Zirkle & Joe Hogue, ISBN 978-0-596-15985-6
- Beginning iPhone Development: Dave Mark, Jeff LaMarche, ISBN 978-1430224594
- iPhone SDK Programming, Advanced Mobile Development: Maher Ali, ISBN 978-0-470-68398-9
- iPhone Advanced Projects: Apress, ISBN 978-1430224037
- iPhone Design Award Winning Projects: Apress, ISBN 978-1-4302-7235-9 & eBook ISBN 978-1-4302-7234-2
- Beginning iPhone SDK Programming with Objective-C, Wei-Meng Lee, ISBN 978-0470500972
- Pragmatic iPhone 3.0 SDK Development: Bill Dudney & Chris Adamson. ISBN 978-1-93435-625-8
- Web-Applications: Professional iPhone and iPod Touch Programming - Building Applications for Mobile Safari, ISBN 978-0-470-25155-3
Hinweis: Die hier aufgeführte Literatur ist optional und nicht verbindlich! Beim Privatkauf englischsprachiger Literatur bitte beachten, dass diese nicht der deutschen Buchpreisbindung unterliegt (z.B. Head First iPhone Dev im Januar 2010 bei Thalia 48,-, bei Amazon 27,-)!
Teile der o.g. Literatur werden für die Teilnehmer des Kurses auf Metacoon digital verfügbar sein.
Diese Seite ist Teil des Werkmoduls iOS Development von Michael Markert für Interface Design / Fakultät Medien an der Bauhaus-Universität Weimar.