Apple iPhone SDKWir basteln uns eine iPhone-Anwendung

Andreas Göldi, 8. März 2008 09:58 Uhr, 10 Kommentare Kommentare

Endlich wird das iPhone zur (relativ) offenen Plattform für Entwickler. Gestern hat Apple das Software Development Kit (SDK) zu seinem Telefon vorgestellt. Wir spielen etwas mit der Beta-Version herum.

iPhone SDK bei Neuerdings.com
Bescheiden, aber echt: Unsere erste iPhone-Applikation, natürlich ein klassisches Hello World…

Dass das iPhone mehr ist als ein normales Telefon, ist allgemein bekannt: Mit seinem leistungsfähigen Prozessor, dem wunderbaren Touchscreen und dem vollwertigen Mac-OS-X-Betriebssystem unter der Haube schreit es geradezu danach, mit kreativer Software erweitert zu werden.

Zu Beginn hatte sich Apple immer auf die Position gestellt, dass Web-Anwendungen ja eigentlich ausreichen für das, was Drittentwickler gern mit dem iPhone machen würden. Es wurde aber schnell klar, dass dem nicht so war. Die Hacker-Szene lieferte schon nach kurzer Zeit viele kleine, durchaus spassige Applikationen. Und Apple hat nun die Wünsche seiner Kunden erhört und erlaubt es Entwicklern offiziell, ihre eigenen Programme für das iPhone zu schreiben.

Das wichtigste Element hierfür ist ein brauchbares SDK, und genau das können sich interessierte Entwickler seit gestern bei Apple herunterladen. Der Download braucht mit satten 2 GB etwas Geduld, denn geliefert wird eine ausgewachsene Entwicklungsumgebung, wie sie sonst für die Erzeugung “richtiger” Mac-Anwendungen verwendet wird. Aber nach einigen Stunden waren wir so weit, die neue Programmierer-Spielweise ausprobieren zu können.

Kurz gesagt: Was Apple da abgeliefert hat, kann nach einem ersten Augenschein sehr überzeugen. Das ist nicht einfach ein experimenteller Codehaufen, sondern eine vollwertige, schon recht ausgereifte Entwicklungsumgebung, mit der Profis schon jetzt sehr produktiv werden können.

Wer schon vorher mal auf dem Mac mit XCode entwickelt hat, braucht sich nicht gross umzugewöhnen, denn das iPhone-SDK baut auf dieser vertrauten Umgebung auf. Und nicht nur das: Auch die Menge an mitgelieferter Dokumentation ist durchaus beeindruckend.

iPhone SDK Dokumentation
Da gibt’s was zu lesen: Die Dokumentationsbibliothek für iPhone-Entwickler

Dabei hat Apple freilich nicht wirklich so viel neu schreiben müssen, denn die iPhone-Architektur baut auf bekannten Elementen auf: Mac OS X, diversen recht standardisierten Netzwerkdiensten, der Open-Source-Datenbank SQLite sowie dem Applikationsframework Cocoa, das jetzt neu als “Cocoa Touch” fürs iPhone adaptiert und erweitert wurde. In dieser Sammlung sind auch allerlei Libraries für 2D- und 3D-Grafik, Audio und Video enthalten, so dass Entwickler voll die multimedialen Fähigkeiten des iPhone ausnutzen können.

Gewöhnungsbedürftig für Entwickler aus anderen Welten ist die verwendete Sprache Objective-C, deren Wurzeln bis zur längst verblichenen (und später von Apple gekauften) Firma NeXT zurückreichen. Objective-C ist eine Erweiterung von C, die objektorientiert, aber in vielen Dingen simpler als das verbreitertere C++ ist. Wer schon mit C programmiert hat und mit objektorientierten Konzepten vertraut ist, dürfte damit wenig Schwierigkeiten haben.

Ein Programmierprojekt spielt sich im iPhone-SDK in einem übersichtlichen Fenster ab, in dem alle bearbeiteten Ressourcen zu sehen und alle nötigen Dienste aufrufbar sind - sehr komfortabl. Das ganze kommt einem sowieso ein bisschen wie “iTunes für Programmierer” vor. Hartgesottene Unix-Command-Prompt-Fanatiker, die immer noch denken, dass VI der einzig richtige Editor ist, werden das alles zu verspielt finden, aber für Otto Normalprogrammierer ist diese freundliche Umgebung ideal.

iPhone SDK Projektfenster
Ein Programmierprojekt im iPhone-SDK.

Die zahlreichen bestehenden Frameworks (in dieser Beispielapplikation werden CoreGraphics, Foundation und UIKit verwendet) lassen sich ebenfalls sehr einfach hinzufügen. Ganz oben links lässt sich auswählen, ob das Programm im mitgelieferten iPhone-Simulator gestestet werden oder direkt auf ein angehängtes reales Gerät gespielt werden soll.

Dafür muss ein iPhone speziell softwaremässig präpariert werden, man sollte also nicht davon ausgehen, dass man auf seinem Alltags-iPhone problemlos testen kann. Leider steht die zum Testen nötige Version 2.0 der iPhone-Software aber erst für wenige ausgesuchte Entwickler bereit, weshalb ein echter Test auf dem physischen iPhone flach fiel. Das Steuerungsinterface ist aber schon vorhanden, so dass man sich vorstellen kann, wie man ab Juni dann seine selbstgebastelten Programme zum Telefon rüberkopieren kann.

iPhone SDK Testumgebung
Hier wird man dereinst seine Programme auf sein iPhone zum Testen rüberkopieren können.

Aber so lange braucht man für erste Tests nicht zu warten, denn wie gesagt steht ein Simulator zur Verfügung, der auf dem Mac läuft (jawohl, einen Mac braucht man zum Entwickeln… Was für eine Überraschung…).

iPhone SDK Simulator
Künstlich, sieht aber aus wie echt: Der iPhone-Simulator

Der Simulator verhält sich wirklich genau wie ein richtiges iPhone, bis auf die Tatsache, dass nur die nötigsten Applikationen installiert sind. Mit der Realitätsnähe hat man es bei Apple wohl fast etwas zu gut gemeint: Nicht mal mit der normalen Mac-Tastatur kann man tippen, sondern man muss mit der Maus die Onscreen-Tastatur bedienen. Ganz fertig scheint die Sache auch noch nicht zu sein, denn drehen liess sich das virtuelle Gerät beispielsweise noch nicht.

Wie immer beim Programmieren fängt man am besten mit bestehendem Beispielcode an, und davon liefert Apple ein bisschen was mit. Es geht bisher aber nur um ziemlich rudimentäre Themen, von den in der Pressekonferenz gezeigten schönen Anwendungen ist noch nichts zu sehen.

Aber immerhin, ein schickes “Hello World” zum Ausprobieren ist da, und dieses Programm haben wir auch gleich mal selbst etwas modifiziert. Bei dieser Beispielanwendung wird auch gleich klar: Das iPhone-SDK ist für Programmierer gedacht und nicht für Enduser, denn wer beim Anblick von richtig schönem Objective-C-Code Schweissausbrüche kriegt, ist hier falsch.

iPhone SDK C Code
Das Code-Fenster: Man hat auch schon einfachere “Hello Worlds” gesehen…

Der Editor bietet den üblichen Komfort, den man von modernen Entwicklungsumgebungen erwartet. Ausserdem gibt es eine gute eingebaute API-Doku, Debugging-Funktionalitäten, eine Versionsverwaltung, Schnittstellen zu gängigen Source-Code-Managementsystemen (SVN, CVS etc.) und vielerlei mehr.

Was derzeit noch fehlt, ist der Interface Builder, mit dem man dereinst sehr einfach schicke Benutzeroberflächen per Drag & Drop erstellen können soll. Gut möglich, dass dann das Entwickeln einfacher iPhone-Anwendungen nochmal um einiges einfacher wird.

Die Qualität des iPhone SDK ist schon ziemlich erstaunlich hoch, auch wenn es sich spürbar noch um eine Beta-Version handelt. Da sieht im Vergleich dazu Googles SDK für die neue Android-Plattform ziemlich alt (bzw. vielmehr ziemlich jung und unreif) aus.

Android vs. iPhone
Die neuerdings.com-Homepage einmal im Android-Emulator von Google, einmal im iPhone-Emulator von Apple. Noch Fragen dazu, wer technisch weiter ist?

Nörgeln kann man aber natürlich darüber, dass wie meistens bei Apple alles ausschliesslich auf Apple-Technologie basiert und es keine Alternativen gibt. Wer fürs iPhone Software schreiben will, braucht einen Mac, kann nur mit XCode entwickeln, nur Apples eigene Frameworks verwenden usw. Wer beispielsweise lieber offene Entwicklungsumgebungen wie Eclipse mag, hat Pech gehabt.

Trotzdem: Man kann sich gut vorstellen, dass dieses schöne SDK viele Entwickler motivieren wird, Software für das iPhone zu entwickeln. Die Vorteile des Zielgerätes sprechen ja sowieso für sich. Für die Verbreitung seiner Werke muss man aber wohl zumindest derzeit in den sauren Apfel beissen und Apples Monopol samt 30% Verkaufskommission akzeptieren.

» Mehr lesen: Apple / Mac (331), iPhone (274), Software (209)

» Weitere Artikel der Kategorie "Computer" lesen

» Nächster Artikel: Impressionen von der CeBIT 2008, Teil 2 Developer, Borg und Zasterlaster
» Älterer Artikel: iPhone SDK: Das iPhone wird zum Business-Handy

» Drucken
» Merken/E-Mail

10 Kommentare zu diesem Artikel

  1. lukas

    schrieb am 8. März 2008 um 11:14 Uhr (#)

    ist SDK nur für das Iphone oder auch für den ipod touch? Und wenn nein wird es es geben?

  2. Matthias Lehming

    schrieb am 8. März 2008 um 11:43 Uhr (#)

    SOweit ich weiß, funktioniert das auch auf dem iPod Touch mit der entsprechenden Firmware.

    Werden die Programme eigentlich nur gegen Geld angeboten oder gibt es auch kostenlose Programme?

  3. mds

    schrieb am 8. März 2008 um 12:25 Uhr (#)

    Werden die Programme eigentlich nur gegen Geld angeboten oder gibt es auch kostenlose Programme?

    Darüber entscheiden die Entwickler; sie müssen für die Distribution per iTunes einmalig USD 99 bezahlen, können danach ihre Applikationen aber kostenlos vertreiben. Nicht entscheiden können die Entwickler hingegen, ob sie iTunes und DRM verwenden möchten ? :(

  4. Fabian

    schrieb am 8. März 2008 um 12:28 Uhr (#)

    Es wird auch kostenlose Programme geben!

  5. Matthias Lehming

    schrieb am 8. März 2008 um 12:32 Uhr (#)

    Das ist gut. :)

    Ich war jetzt eben mal auf der Apple-Seite. Habe ich das richtig gesehen, dass es die Entwicklungsumgebung nur für Mac OSX gibt?

  6. moritz

    schrieb am 8. März 2008 um 12:55 Uhr (#)

    hast du den artikel gelesen, den du da kommentierst?

  7. DiPi

    schrieb am 9. März 2008 um 09:26 Uhr (#)

    sehr nette Idee und schön beschrieben. Ich werde mich auch auf dem Weg machen und eine minimalistische Api für meinen IPhone schreiben - mal sehen ob es klappt:) So fern ich gelesen habe, gibt es demnächst sowieso von Apple eine SDK for free die mehr leisten kann.

  8. Marc

    schrieb am 23. März 2008 um 01:08 Uhr (#)

    wie du meinen? der SDK ist erst gerade raus mit XCode 3.1 beta, insofern wird der definitiv nicht bald ersetzt.

    was im juni kommt ist iphone fireware 2.0, dann wird der SDK vermutlich gepatcht da die features in der erst gerade releasten version vermutlich nicht drin sein werden.

  9. leu

    schrieb am 11. April 2008 um 08:27 Uhr (#)

    Ich glaub ich werde mir nur den iphone Simulator installieren. Einfach damit ich auch ein wenig mit dem iphone rumsurfen kann.

  10. namwen

    schrieb am 2. September 2008 um 15:32 Uhr (#)

    I am hoping to bring the “snowball system” apparent in the email links to a minimum. Thankyou everyone who supports this commitment.


Diesen Artikel kommentieren

Wir sind sehr an einer offenen Diskussion interessiert, behalten uns aber vor, beleidigende Kommentare sowie solche, die offensichtlich zwecks Suchmaschinenoptimierung abgegeben werden, zu editieren oder zu löschen. Mehr dazu in unseren Kommentarregeln.

 
blogoscoop