Programming for iPhone, iPad und iPod Touch
Fachmodul
Lecturer: Michael Markert
Credits: 6 ECTS, 3 SWS
Date: Tuesdays, 13:30 until 16:00 h
Venue: Marienstraße 7b, Projektraum 105
First meeting: Tue, 16.October 2012
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 neben der Fortführung wichtiger Grundlagen des 1. Teils, 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. Im Fachmodul werden (max. 1 h) bestimmte Themen vorgestellt, die restliche Zeit werden wir gemeinsam an Live-Demos arbeiten und Eure Projekte analysieren und auf Fragen und Probleme eingehen.
Im Lauf des Werkmoduls soll schließlich eine Applikation umgesetzt werden (Medienkunst, Experiment, Game, Utility…). Eine Kombination mit Semesterprojekten und speziell den Interface Design Projekt- und Fachmodulen ist ausdrücklich erwünscht!
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
- iOS 6
- 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 (iOS 6), present and showcase useful libraries, working techniques, we'll make live-demos, talk about your projects and finally we will share and discuss our knowledge and experiences as well as many tipps and tricks.
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.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 Sneak Peek
- Einführung in kybernetische Systemtheorie als Interaktionsmodell
Projects
Below you find a documentation of the Student's Projects:
- Presentation 'iOS Development II'
Requirements
- Previous successful completion of iOSDev I or good knowledge of Obj-C and Cocoa.
- Access to an Intel-Mac running 10.7
- 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
If you already participated in iOSDevI, there is no need for a new registration!
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)
- Proof of your previous knowledge similar to IFD:iOSDevI (see requirements)
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
Grading:
- Attendance (33%)
- Ongoing documentation of the project: scribbles, development, final presentation (in the wiki & at the IFD:Showreel) (33%)
- Realization of the concept: compilable app (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
- 16.10. Intro, Organisation of Talks/Lectures
- 23.10. View Coordinates, ScrollViews, CoreAnimation
- 30.10. TableViews Part I
- 06.11. TableViews Part II, Custom Cells
- 13.11. Location, MapKit
- 20.11. MultiTouch & Gestures
- 27.11. Project Talk, About Apps
- 04.12. UIWebView Advanced: WebApps, HTML5 and JavaScript Part I
- 11.12. UIWebView Advanced: WebApps, HTML5 and JavaScript Part II
- 18.12. tba
- 08.01. OSC, MIDI, TCP/IP, TCP/IP#UDP UDP
- 15.01. Bonjour, ThoMoNetworking, QuartzComposer
- 22.01. tba (CoreData?)
- 29.01. Project Talk
- 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.2013.
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.