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.

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.

Online-Speicher: Ich probiere Wuala aus

Ich bin bereits seit längerem auf der Suche nach bezahlbarem Online-Speicherplatz – die Hipster mögen es Cloud-Speicher nennen. Das Ganze ist nichts Revolutionäres und es gibt diverse Anbieter dafür : Dropbox, SkyDrive, Drive,  irgend’n Amazon-Gedöns und noch und nöcher. Was mich an diesen Diensten aber abschreckt, ist ihre US-Amerikanische Herkunft und damit die US-Amerikanische Gesetzgebung hinsichtlich der Daten-Privatsphäre.

Bei meiner Suche wurde mir klar, dass ich nicht einfach ein Laufwerk im Web haben möchte, sondern eine einfache, sich selbst aktuell haltende Sicherheitskopie aller meiner Daten. Dank Time Machine, das Apple seit Mac OS X 10.5 „Leopard“ ins System integriert und seitdem stetig verbessert hat, bin ich auf der sicheren Seite, was lokale Kopien angeht. Was ich nun möchte, ist ein dritter Ort, an dem diese Dateien liegen, der räumlich weit genug weg ist.

So kam ich auf Dienste wie Backblaze und CrashPlan, die genau diesem Zweck dienen, aber wiederum wollte ich meine Daten nicht auf US-Servern liegen haben. Wer sich für diese Dienste interessiert, kann auf maximumpc.com einen direkten Vergleich lesen.

Schließlich stieß ich bei meiner Suche auf Wuala. Laut eigenen Angaben stehen die für diesen Dienst verwendeten Server in der Schweiz, in Deutschland und in Frankreich. Ich hab mich nun dort angemeldet. Als Neukunde erhält man zu Beginn 5 GB kostenlosen Speicherplatz. Mir geht es nicht um die 5 GB, aber um den europäischen Standort. Ob der Dienst tatsächlich etwas taugt, weiß ich derzeit noch nicht, aber ich bin fest entschlossen, der Sache eine Chance zu geben.

Wer sich auch dort anmelden möchte, kann das gerne über folgenden Link tun: Wuala-Anmeldung. Denn dann erhalten wir beide 1 GB zusätzlich zu unserem kostenlosen 5-GB-Speicherplatz hinzu.

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.

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.

Aus der Mac-Trickkiste: Zip-Komprimieren im Terminal

Man kann den Mac wunderbar über das Terminal steuern. Ein paar UNIX-Kenntnisse vorausgesetzt navigiert es sich schnell und direkt durch das Dateisystem und viele altbewährte UNIX-Helferlein sind nur ein paar Tasteneingaben entfernt. Beispielsweise lassen sich im Terminal Dateien einfach per FTP übertragen. Damit diese Dateien etwas zügiger ihr Ziel finden, empfiehlt es sich diese im Vorfeld zu komprimieren, am besten per Zip, denn das ist bekannt und plattformübergreifend verfügbar.

Dateien lassen sich auch sehr schnell per Kontextmenü packen: Einfach rechte Maustaste oder [ctrl] und linke Maustaste über der zu verkleinernden Datei auslösen und aus dem erscheinenden Kontextmenü “komprimieren” wählen. Das geht aber auch genauso gut via Terminal und außerdem kann man im Terminal auf Wunsch auch die Datei mit einem Kennwort schützen.

Der folgende Befehl komprimiert einen Ordner oder eine Datei. Bitte die “<” und “>” nicht miteingeben.
zip -r <Zip-Dateiname>.zip <Dateiname>

Der folgende Befehl komprimiert einen Ordner oder eine Datei und kodiert die Datei mit einem vom Anwender gewählten Kennwort.
zip -e -r <Zip-Dateiname>.zip <Dateiname>
Anschließend wird man zwei Mal nach dem gewünschten Kennwort gefragt und danach beginnt die Kompression.

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

Eigene Text-Abenteuerspiele unter OS X schreiben

Damals in den 1980ern hatten alle einen C64, zumindest in meinem Umfeld und wir hatten einen großen Spaß, Dinge in BASIC auszuprobieren. Großen Spaß hatten wir textbasierte Abenteuerspiele zu schreiben; Zork dürfte das bekannteste Beispiel für ein derartiges Spiel sein.

Gutes Englisch vorausgesetzt kann man mithilfe der Software Inform Abenteuerspiele selbst schreiben; großartige Programmierkenntnisse sind nicht nötig. Laden lässt sich Inform auch für Mac OS X von der folgenden Seite: Inform-Download

Die Entwicklerinnen und Entwickler von Inform machen es künftigen Spiele-Autorinnen und Autoren recht leicht, indem sie zahlreiche Anleitungen bereitstellen. So gibt es beispielsweise ein Einführungsvideo und auch viele Dokumente, die zum Anfang eine große Hilfe sind.

Kreuzung: Literatur und Programmierung

Technology and Liberal Arts
Technology and Liberal Arts von Steve Jobs

Insbesondere Text-Abenteuerspiele am Rechner sind ein tolles Beispiel für das Verknüpfen von Literatur und Programmierung. Zwar sind Erzählungen auch in einer Vielzahl von Spielen mit grafischem Schwerpunkt zu finden, aber bei Text-Abenteuerspielen ist das sehr offensichtlich.

Die Verknüpfung von Kunst und Technologie ist hierbei nichts bahnbrechend Neues: Beim Betriebssystem Unix ist alles eine Datei, zumeist textbasiert. Hier gehen manche sogar so weit und bezeichnen Unix als Literatur.

Auch Steve Jobs war es eine Herzensangelegenheit auf die Vereinbarkeit von Kunst und Technologie hinzuweisen: „Technology married with the humanities make our hearts sing.“

Insofern: Brecht auf und erschafft Literatur mit dem Werkzeug von Inform!

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.