Einführung in Objective-C

App-Entwickler Matteo Manferdini hat unter dem Titel “Objective-C Guide For Developers” eine fünfteilige Serie zusammengestellt, die Objective-C-Anfängerinnen und Anfängern die ersten Schriite in die App-Entwicklung zu ermöglichen.

Vor fast einem Jahr hatte ich in 3 Tipps für den iOS- und OS-X-Programmiereinstieg bereits auf Möglichkeiten für den Einstieg hingewiesen. Englischkenntnisse vorausgesetzt bieten Matteos Artikel eine tolle Ergänzung zum damaligen Blog-Post.

Bitte bewerte unsere App

Viele Apps fragen den Anwender nach einer Weile, ob sie oder er sich nicht die Zeit nehmen und im App Store die gerade verwendete App bewerten möchten. Beispielsweise taucht nach dem 4-5 Start der Anwendung ein modaler Dialog auf, der drei Knöpfe anbietet: “Jetzt bewerten”, “Später bewerten” und “Nein, danke” nicht mehr danach fragen”“. Tippt man auf “Jetzt bewerten” öffnet sich die Seite der App im App Store, ein Tipp auf “Später bewerten” erinnert nach 4-5 weiteren Starts der App daran, die Anwendung zu bewerten. Die letzte Möglichkeit wiederum fragt bis zur Aktualisierung der Anwendung nicht mehr nach. iRate ist beispielsweise ein Projekt, das es erlaubt, der eigenen App schnell eine derartige Bewertungserbetungsfunktion hinzuzufügen.

Die meisten Anwenderinnen und Anwender verzichten auf eine Bewertung, außer wenn sie der App eine auswischen wollen. Durch diese Hinweise versprechen sich die Entwicklerinnen und Entwickler mehr Bewertungen im App Store. Schließlich zeigen viele Bewertungen potenziellen Kunden, dass es sich um eine vermeintlich oft eingesetzte App handelt.

Nun hat sich der bekannte Blogger John Gruber zu Wort gemeldet und im Namen vieler Anwender sich durch diese unerwartet erscheinenden Hinweise genervt gezeigt. Seine Idee war es, Anwendungen, die auf diese Art zu Bewertungen aufrufen, im App Store mit einem Stern zu bewerten und als Kommentar sinngemaäß “Ein Stern für das unerwünschte Auffordern zur Bewertung” zu hinterlassen.

Tatsächlich ist das Problem gut nachvollziehbar, denn als Anwender werde ich hart aus der Verwendung der App herausgerissen; eine schlechte Erfahrung. Außerdem habe ich als Anwender nichts davon, wenn ich die App bewerte, ich tue lediglich dem Entwicklerstudio einen Gefallen. Auf der anderen Seite kann ich die Entwicklerseite sehr gut verstehen, denn schließlich lebe ich vom Erfolg meiner App, daher habe ich ein großes Interesse an vielen Bewertungen.

Persönlich habe ich kein Problem damit, wenn eine App mich um eine Bewertung bittet, denn das Tippen auf den “Nein, danke”-Knopf ist kein großer Aufwand und wenn ich die App mag, bewerte ich sie sogar gern, ohne das Gefühl zu haben, großartig Lebenszeit eingebüßt oder aus einer wie-auch-immer-experience herausgerissen zu werden.

Vorschlag

Man kann auch um eine Bewertung bitten, ohne die Anwenderin oder den Anwender zu sehr aus der App-Verwendung herauszureißen. StarMoney für den Mac beispielweise bittet beim ersten Start einer neuen Version um eine Bewertung und informiert dabei die Anwenderin oder den Anwender über die Neuerungen, die mit dieser aktualisierten Version Einzug in die Applikation erhalten haben. Die Annahme hierbei ist, dass ich als Benutzer beim Start noch nicht in die Verwendung des Programms vertieft bin und nicht nur den Entwicklern einen Gefallen tue, sondern auch Informationen über beseitigte Fehler und die neu integrierten Funktionen erhalte.

WWDC-2013-Videos konvertieren und 90 Prozent Platz sparen

Apple hat wie bereits in den vergangenen Jahren auch dieses Jahr die Videos und PDFs der einzelnen WWDC-Vorträge wenige Tage nach dem Ende der Konferenz im Entwicklerbereich zum Download freigegeben. Dabei liegen die Videos als SD- und HD-Version vor, allerdings sind die HD-Dateien mit 2,5–3,5 GB unverhältnismäßig groß.

Da die Filme im QuickTime-Format (mov) kodiert sind, liegt es nahe, sie in ein komprimiertes Format (MP4) zu überführen. Und siehe da: Wandelt man die Dateien beispielsweise mit Handbrake, werden aus 2860 MB luftig leichte 120 MB ohne ersichtlichen Qualitätsverlust. Nach einer derart effektiven Konvertierung lassen sich die Filme wunderbar archivieren.

Tipp

Wenn man ohnehin alle Videos und dazugehörigen PDFs laden möchte und keine Lust hat, jede Datei einzeln anzuklicken, damit das Laden losgeht, möge bitte einen Blick auf das Bash-Skript WWDC Video and PDF downloader werfen. Mit einem recht übersichtlichen Befehl im Terminal lassen sich auf diese Weise alle PDFs und Videos auf die eigene Festplatte laden.

Beispielsweise sorgt die Eingabe und Bestätigung von

wwdcVideoPDFGet-curlVersion.sh -v -f HD -o /Users/<home>/Downloads/WWDC-2013 <Apple-ID>

dafür, dass die HD-Version der Videos in den Ordner “WWDC-2013” im Verzeichnis “Downloads” geladen wird. Dabei wird jeder Download mit entsprechendem Fortschritt angezeigt.

UISprech: Deutschsprachiger Podcast zur iOS-Software-Entwicklung

Englischsprachige Podcasts zur iOS-Software-Entwicklung gibt es einige bekannte, wie beispielsweise NSBrief, Debug, iDeveloper, aber einen deutschsprachigen Podcast zum Thema suchte man bisher vergebens. Dank UISprech ist diese Lücke nun geschlossen.

Auf dem Kieler BarCamp Mitte August 2013 setzten sich Heiko Behrens, Dieter Bethke sowie einige weitere Interessierte zusammen und diskutierten über ein solches Projekt. Bereits wenige Wochen waren Behrens und Bethke dabei, geeignete Hard- und Software zu testen, wie man in der aufschlussreichen Nullnummer hören kann.

Jetzt, Ende November, sind bereits sieben Folgen über UISprech bei iTunes oder die UISprech-Web-Seite verfügbar. Behrens hat stets einen kompetenten Gesprächspartner, mit dem er sich in der ein- bis eineinhalb-stündigen Sendung unterhält. Zu den Themen, denen einzelne Folgen gewidmet sind, gehören fundamentale Konzepte wie Debugging, Sicherheit, Kompatibilität, aber auch eher gesellschaftspsychologische Phänomene wie der Einfluss von Apps finden Erwähnung. Die Podcasts erscheinen im angenehmen Zwei-Wochen-Rhythmus.

Wer mit Objective-C und Cocoa entwickelt, sollte unbedingt UISprech kennen und hören. Auch wenn sich der Podcast vorrangig der iOS-Software-Entwicklung widmet, ist auch für Mac-Entwickler immer etwas dabei.

Heiko Behrens macht einen tollen Job und verdient unsere Unterstützung. Surft also los und hört und abonniert den Podcast und flattr’t UISprech.

Kostenlose Vorlesung: Apps für iOS 7 entwickeln

Der von mir bereits empfohlene Kurs „Developing iOS 7 Apps for iPhone and iPad“ von der US-Amerikanischen Universität Stanford erlebt seit einigen Wochen wieder eine Neu-Auflage.

Dozent Paul Hegarty erschließt einmal mehr in verständlichen Worten seinen Studierenden Apples CocoaTouch-Framework, die Programmiersprache Objective-C und die Entwicklungsumgebung Xcode 5. Ordentliche Englischkenntnisse und Disziplin vorausgesetzt lässt sich die Vorlesung über die in iTunes integrierte hochwertige Lernplattforn iTunes U als Online-Kurs besuchen.

Ich kann jedem, der Interesse an der Entwicklung von iOS-Apps im Besonderen oder der objektorientierten Programmierung im Allgemeinen hat, das Mitmachen bei diesem Kurs sehr empfehlen.

Zu Besuch auf der Entwicklerkonferenz Macoun 2013

Am 5. und 6. Oktober haben sich vorwiegend deutschsprachige iOS- und OS-X-Entwickler in Frankfurt am Main eingefunden. Der Grund hierfür war die nun zum sechsten Mal stattfindende Entwicklerkonferenz Macoun. Ich war das erste Mal dabei.

Zwei Tage lang gab es in drei Räumen Vorträge zu verschiedenen Themen rund um iOS- und OS-X-Entwicklung. Beispielsweise ein “Hinter die Kulissen” der “Börse Frankfurt”-App, einen schönen Übersichtsvortrag zu “Parallele Programmierung”, eine Einführung in den Build-Server Jenkins von Uli Kusterer, erste Schritte mit Cocoapods, Podcast-Legenden Peter und Ingo legten Totalverweigerern Unit Tests nahe, Wohin-Entwickler Ortwin Gentz ließ die Anwesenden in iOS-Trickkiste blicken, Alex von Below lenkte die Aufmerksamkeit au zu lasches Entwicklerverhalten in Puncto Sicherheit und vieles mehr.

Die Veranstaltung findet direkt am Main-Ufer in der Jugendherberge “Haus der Jugend” statt. Die Atmosphäre ist familiär und freundlich. Für mich war es eine besondere Freude vielen lediglich von Twitter bekannten Kollegen und Kolleginnen einmal die Hand schütteln zu können.

Für mich als Mac-Entwickler ist die Dominanz von iOS auf der Macoun etwas zu groß, die Mac-Themen kommen zu kurz. Andererseits ist die Nähe der SDKs so groß, dass es unter dem Strich nur wenig stört.

Langjährige Macoun-Teilnehmer bestätigten mir, dass das Niveau der Vorträge über die Jahre kontinuierlich zugenommen hat, gleichzeitig bedauerten sie, dass die meisten Vorträge als Einführung konzipiert sind. Sie wünschten sich auch fortgeschrittene Themen.

Neben den insgesamt 22 Vorträgen gab es auch eine Werkstatt, in der sich erfahrene Entwicklerinnen und Entwickler bereit erklärt hatten, Fragen zu beantworten. So konnte man mit dem eigenen Projekt und den darin auftauchenden Problemen mit Experten sprechen und sich Rat holen.

Fazit

Die Macoun 2013 war eine sehr gelungene Veranstaltung. Auch wenn nicht jeder Vortrag meinen Kenntnisstand revolutionär erweitert hat, war es dennoch eine große Freude vor Ort zu sein. Gerne wieder.

CocoaPods für iOS- und OS-X-Entwicklung

Das Einbinden von Dritt-Frameworks war nie ein Problem bei der Entwicklung von iOS- oder Mac-Programmen. Aufwändig ist aber das Verwalten und Aktuell-Halten von eingebundenen Projekten. Hier kommen CocoaPods ins Spiel.

Zugegeben, gelesen habe ich schon häufiger über CocoaPods, hab mich aber nicht so richtig darum gekümmert. Daher kam mir der Artikel “Kakao mit Schale – Dependency Management unter iOS mit CocoaPods” von Benedikt Iltisberger auf heise.de dann doch sehr gelegen.

Iltisberger geht auf Sinn und Einrichtung von CocoaPods ein, nennt alle wichtigen Links und gibt sogar eine kurze Anleitung, wie man eine eigene Pod-Bibliothek erstellen kann. Der recht kurze und verständliche Artikel sei hiermit wärmstens zur Lektüre empfohlen.

Ich mag Plants vs Zombies 2

tl;dr Freemium bleibt Scheiße, aber Plants vs Zombies 2 macht trotzdem großen Spaß.

Mit über 16 Millionen Downloads auf iPhone, iPad und iPod touch innerhalb der ersten Tage nach Erscheinen gehört der Start des zweiten Teils des Tower-Defense-Spiels Plants vs Zombies zum erfolgreichsten, was die iOS-Spielwelt bisher erlebt hat. Im Vergleich zum Vorgänger hat sich am Spielprinzip nur wenig geändert, so dass Kennerinnen und Kenner des ersten Teils sich gleich heimisch fühlen. Was jedoch radikal neu ist, ist der Preis: Plants vs Zombies 2 ist kostenlos erhältlich, bietet aber über die Möglichkeiten der In-App-Käufe viele Gelegenheiten Geld los zu werden.

[Update: Inzwischen sind es 25 Millionen Downloads.]

Das Spielprinzip

Ein Haufen Zombies mit unterschiedlichen Fähigkeiten möchten das Gehirn der Spielerin / des Spielers verspeisen und laufen dafür mehr oder weniger strategisch von rechts nach links über den Bildschirm. Erreichen sie die äußere linke Seite, ist das eigene Gehirn futsch, und die Zombies haben gewonnen. Als Spieler hat man ein – zu Anfang überschaubares, im weiteren Spielverlauf ein großes – Arsenal an Pflanzen zur Verfügung, mit deren Hilfe sich eine Verteidigungsstrategie entwerfen lässt. Erbsen-Kanonen, Kartoffel-Minen, Kohl-Katapulte und viele weitere kreative Waffen stellen sich den Zombies hoffentlich erfolgreich entgegen.

Durchspielen

Drei große Spielorte mit vielen Zwischenstationen warten darauf, durchquert zu werden: So kämpft sich die Spielerin / der Spieler durch das alte Ägypten, legt sich mit Piraten auf der hohen See an und muss sich schließlich im Wilden Westen durchsetzen. Im Verlauf des Spiels erhält man Spielgeld, mit dem sich besondere Fähigkeiten – wie beispielsweise das Erledigen der Zombies durch Stromschläge oder Zerquetschen – erwerben lassen. Für echtes Geld wiederum lassen sich die Level einfach freischalten oder neue Pflanzen kaufen. Tatsächlich weisen immer mal wieder bildschirmfüllende Dialoge auf die zahlreichen Angebote hin und laden zum Kauf ein. Der Einladung muss man nicht entsprechen, denn das Spiel lässt sich auch ohne Zusatzkäufe durchspielen, es dauert nur ein bisschen länger. Insofern bleibt Publisher EA fair: Die In-App-Käufe erleichtern das Durchspielen, aber der Schwierigkeitsgrad nimmt ohne Zusatzkäufe keine unmöglichen Dimensionen an.
Ich hätte gerne 3,99 Euro für das Spiel bezahlt und wäre von dem In-App-Quatsch verschont geblieben, aber so verdient EA halt kein Geld an mir.

Fazit

Das Spiel ist sehr schön geworden: Die Animationen sind liebevoll umgesetzt, das Spielprinzip wurde bewahrt, die Story ist beknackt, aber egal und auch auf einem inzwischen betagten iPhone 4 läuft das Spiel in guter Geschwindigkeit. Plants vs Zombies 2 macht einfach großen Spaß, so großen Spaß, dass diesen nicht einmal die häufigen Hinweise auf In-App-Käufe verderben können.

Meine Podcast-Empfehlungen

„Sag mir, welche Podcasts du hörst, und ich sag dir, wer du bist“. In diesem Sinne stelle ich meine derzeitigen Lieblings-Podcasts vor.

Fanboys

Die „Fanboys“ bestehen meistens aus drei Personen: Dominik, Marcel und Martin. Die drei nehmen in ihrem wöchentlichen Podcast Stellung zu aktuellen Ereignissen rund um die Apple-Welt, wagen auch Ausflüge zu Spielen und Spielekonsolen und geben manchmal Hilfestellung bei Problemen mit Soft- und Hardware.
iTunes-Link
Web-Seite

Bits und so

Auch „Bits und so“ ist ein wöchentlicher Podcast. In häufig wechselnder Besetzung unterhalten sich die Jungs rund um Timo Hetzel bei einer Mate locker über aktuelle Geschehnisse in der Apple-Welt und darüber hinaus.
iTunes-Link
Web-Seite

Alternativlos

Bei diesem doch recht unregelmäßig erscheinenden Podcast geht es um „Politik, Technik, Verschwörungstheorien“. Auch wenn sich die beiden Moderatoren teilweise recht zynisch mit Themen auseinandersetzen, beeindruckt doch der für den Podcast betriebene Recherche-Aufwand.
iTunes-Link
Web-Seite

Back To Work

Aus Dan Benjamins 5by5-Netzwerk gehört der wöchentliche, englischsprachige Podcast „Back To Work“ zu den besten Podcasts des Netzwerks. Dan Benjamin und Merlin Mann unterhalten sich über Comics, Kindererziehung, Musik, Filme und manchmal auch – darum soll es in dem Podcast eigentlich gehen – um Produktivität ohne esoterischen Schnickschnack.
iTunes-Link
Web-Seite

The Talk Show with John Gruber

Der US-Amerikaner John Gruber ist bei der Berichterstattung rund um Apple eine feste Größe. Auf seiner Seite daringfireball.net nimmt er Stellung zu aktuellen Tech-Ereignissen und kommentiert auch die Berichterstattung anderer Medien – manchmal mit angenehm drastischen Worten.
In seinem wöchentlichen Podcast hat er einen Gast, mit dem er sich über Aktuelles unterhält oder auch seiner Leidenschaft für die Filme von Stanley Kubrick freien Lauf lässt.
iTunes-Link
Web-Seite

Debug

Der noch recht neue wöchentliche Tech-Podcast von US-Amerikaner Rene Ritchie und dem Kanadier Guy English hat immer einen Gast dabei, der oder die aus der Entwickler-Szene stammt. Zu Beginn fragen die beiden Moderatoren immer, wie der Gast zum Programmieren kam und unterhalten sich anschließend über den Werdegang des Gasts. Auch wenn sich das relativ trocken anhört, sind doch immer interessante Anekdoten dabei.
iTunes-Link
Web-Seite

Bitsplitting

Der jüngste Podcast ist ebenfalls ein Entwickler-Podcast, den der US-amerikanische Mac-Entwickler Daniel Jalkut ins Leben gerufen hat. Jalkut lädt sich ebenfalls einen Gast ein und gemeinsam unterhalten sich die beiden in Interview-Form über den Lebenslauf und die derzeitige Tätigkeit des Gasts. Alle zwei Wochen soll eine neue Folge erscheinen.
iTunes-Link
Web-Seite

3 Tipps für den iOS- und OS-X-Programmiereinstieg

Inzwischen wurde ich mehrmals gefragt, wie man denn in die Programmierung von iOS einsteigen könnte. Dazu möchte ich drei Einstiegsmöglichkeiten nennen: Stanford-Vorlesung, RyPress und das OpenBook Apps programmieren für iPhone und iPad aus dem Verlag Galileo Press.

Vor über zwei Jahren hatte ich an dieser Stelle auf diverse Einstiegspunkte hingewiesen (Teil 1, Teil 2 und Teil 3), insofern ist dieser Eintrag eine Aktualisierung und Präzisierung des Damaligen.

Apps für iPhone, iPod touch, iPad und auch den Mac programmiert man in einer Sprache, die Objective-C heißt. Seit mehreren Jahren steigt die Popularität der Sprache stetig an, so dass Objective-C 2011 und 2012 zur Programmiersprache des Jahres gewählt wurde. Ich verstehe den Respekt, den sogar manch erfahrene Programmiererin, manch erfahrener Programmierer vor dieser Sprache haben, denn die berüchtigten eckigen Klammern, „@“-Zeichen und Doppelpunkte lassen Objective-C recht kryptisch erscheinen. Hat man sich aber einmal darauf eingelassen und gibt der Syntax eine Chance, merkt man, wie lesbar im Vergleich zu Java (PDF: Objective-C and Java: a Comparison) oder C++ der Code ist, den Objective-C zum Schreiben einlädt, aber das mag auch ein Effekt der Gewöhnung sein. 🙂

Technische Voraussetzungen:

Ihr braucht einen Mac, der mindestens mit OS X 10.7 läuft. Ich empfehle als günstige Anlaufstelle für einen aktuellen Mac immer Apples Seite mit den generalüberholten Macs, denn dort lassen sich oftmals bis zu 15 Prozent vom Neupreis sparen. Als System finde ich das aktuelle OS X 10.8 besser als den Vorgänger OS X 10.7.
Als nächstes meldet ihr euch kostenlos unter developer.apple.com als Entwickler an und erhaltet so einen Zugang zu einem gigantischen Fundus an Wissen und Lernmaterialien. Hier gibt es häufig Missverständnisse: Der Zugang zu Apples Entwicklerseite mit all den Videos und der Dokumentation ist komplett kostenlos. Erst wenn ihr Apps im iOS- oder Mac-App-Store anbieten möchtet, kostet das 79 Euro im Jahr.
Zu guter Letzt ladet ihr euch die kostenlose Entwicklungsumgebung Xcode aus dem Mac App Store herunter.

Empfehlung 1: Stanford-Vorlesung

Dozent Paul Hegarty lehrt im Winter 2013 an der US-Amerikanischen Universität Stanford die Programmierung von iOS-Apps für iOS 6. Die Vorlesung ist auf Englisch, aber Hegarty spricht ein sehr deutlich und gut verständlich; außerdem unterstützen die Folien beim Verständnis des Erklärten. Die Vorlesungsvideos und Übungsmaterialien lassen sich kostenlos über iTunes abrufen.
Neu in diesem Semester ist die explizite Aufforderung zur Zusammenarbeit jenseits der Stanford-Studierenden. Mithilfe der Lernplattform piazza.com kann man nach erfolgter Registrierung Übungsgruppen bilden, sich gegenseitig Fragen stellen und Aufgaben gemeinsam lösen.
Mir haben seinerzeit die Vorlesungsvideos und die dazu eingereichten Übungsbögen sehr geholfen, erste Schritte in Objective-C zu wagen. Einige Vorkenntnisse sollte man aber mitbringen, denn es gibt keine grundlegende Einführung ins Programmieren, so dass die Kenntnis über Variablen, Schleifen, Bedingungen und auch objektorientiertes Programmieren vorausgesetzt werden.

Empfehlung 2: RyPress-Tutorial

Relativ neu ist das englischsprachige Tutorial auf rypress.com, das die Sprache Objective-C von Grund auf erklärt. Das Ganze ist sehr knapp gehalten, so dass auch hier die bereits in der ersten Empfehlung genannten Vorkenntnisse vorausgesetzt werden. Als Referenz für etwas erfahrenere Programmiererinnen und Programmierer ist das Ganze aber sehr praktisch.

Empfehlung 3: Apps programmieren für iPhone und iPad

Als deutschsprachigen Einstieg empfehle ich das OpenBook Apps programmieren für iPhone und iPad aus dem Verlag Galileo Press. Dort erhält man einen sehr ausführlichen Überblick der Sprache und der zugrundeliegenden Konzepte. Das Lernen erfolgt an nachvollziehbaren Beispielen.

Bonus-Empfehlung: OS X Entwicklerforum

One more thing … was aber tun, wenn man mit dem Programmieren angefangen hat, an einer Stelle festhängt und niemand zum Fragen in der Nähe ist? Dann auf zur Web-Seite OS X Entwicklerforum. Dieses deutschsprachige Forum hat freundliche und kompetente Teilnehmerinnen und Teilnehmer, die hilfsbereit zur Seite stehen, wenn man nett fragt.