So schließen Entwickler iPhone-Lücken

15.01.2009
Von 


Manfred Bremmer beschäftigt sich mit (fast) allem, was in die Bereiche Mobile Computing und Communications hineinfällt. Bevorzugt nimmt er dabei mobile Lösungen, Betriebssysteme, Apps und Endgeräte unter die Lupe und überprüft sie auf ihre Business-Tauglichkeit. Bremmer interessiert sich für Gadgets aller Art und testet diese auch.
Unternehmen, die das Apple iPhone einsetzen wollen, finden im App Store nicht immer die geeigneten Anwendungen. Eigenentwicklungen schaffen Abhilfe.

Vor allem größere Unternehmen achten bei der Auswahl von Business-Smartphones darauf, dass sie eigene Applikationen für das Gerät entwickeln können. Sie sind damit in der Lage, ihren Mitarbeitern auch unterwegs an die Geschäftsanforderungen angepasste Anwendungen oder maßgeschneiderte Tools zur Verfügung zu stellen. Auch Apple wirbt bei seiner Vermarktung des iPhone als Business-Smartphone mit der Möglichkeit, eigene Applikationen für das Gerät zu programmieren. Wegen einer Stillschweigeklausel für professionelle iPhone-Entwickler waren Informationen darüber aber bislang nur schwer zugänglich. Mit dem Wegfall der Non-Disclosure Agreements (für abgeschlossene Entwicklungen) kommt nun Licht ins Dunkel. Neben einigen allgemein gehaltenen Artikeln über das iPhone SDK sind nun sogar schon erste Bücher in der Pipeline wie "The iPhone Developer‚Äòs Cookbook: Building Applications with the iPhone SDK" von Erica Sadun und "iPhone SDK Development" von Pragmatic Programmers. Auf der iPhone Developer Conference im Dezember in München gaben Programmierer erstmals hierzulande einen Einblick in die Entwicklung von nativen Anwendungen und Web-Applikationen für das Kult-Handy.

Haben Sie sich entschlossen, selbst ein natives Programm für das Apple iPhone zu entwickeln, benötigen Sie zunächst das iPhone SDK. Dieses steht auf der Apple-Entwickler-Website (http://developer.apple.com/iphone/sdk1/) zum kostenlosen Download bereit - Voraussetzung ist lediglich eine gültige Apple ID, die man beispielsweise bereits mit seinem privaten iTunes-Account erhält. Um die Applikationen auch nutzen zu können, ist zusätzlich eine Mitgliedschaft im iPhone Developer Program erforderlich: Einfache Entwickler zahlen dafür 99 Dollar jährlich, im Enterprise-Umfeld (Voraussetzung sind mindestens 500 Mitarbeiter) werden 299 Dollar pro Jahr verlangt.

Zwei Entwicklermodelle

Die beiden Programme unterscheiden sich dadurch, dass Enterprise-Entwickler ihre Applikationen außerhalb des App Store weiterverteilen können. Normalen Entwicklern ist dies nur für den persönlichen Gebrauch und zu Testzwecken mit maximal hundert Teilnehmern erlaubt. Enterprise-Entwickler erhalten andererseits aber keinen Zugang zum App Store, um ihre Inhouse-Applikationen über diesen zu verteilen.

So oder so: Ohne die Mitgliedschaft kann man die Applikationen später nur auf dem im SDK enthaltenen iPhone-Simulator, nicht aber auf einem echten Gerät testen. Außerdem bekommt man Zugriff auf verschiedenste Informationen im iPhone Dev Center - diese reichen von Einführungsfilmen und - dokumenten bis hin zu Programmiertipps, nützlichen Codeschnipseln und einer iPhone-Referenzbibliothek. Das SDK selbst umfasst nicht nur das Framework Cocoa Touch (ähnlich der Programmierumgebung Cocoa zum Schreiben von Mac-Software), sondern auch Tools zum Codeschreiben und Debuggen und mit Xcode gar eine komplette Entwicklungsumgebung. Entwickelt selbst wird unter Mac OS X Leopard (Version 10.5.3) in Objective C - einer Programmiersprache, welche auf Standard C basiert und objektorientiertes Programmieren ermöglicht.

Bereitstellungsprofile und Zertifikate

Ist die iPhone-Applikation entwickelt und getestet, gilt es als letzte große Hürde, sie den Anwendern auf ihren Geräten verfügbar zu machen. Mitglieder des iPhone Developer Program können dazu Bereitstellungsprofile bei Apple anfordern. Diese ähneln stark den Konfigurationsprofilen zur Festlegung der Benutzereinstellungen beim Rollout und sind notwendig, da ein (nicht gehacktes) iPhone jenseits des App Store nur digital signierte Anwendungen installiert und ausführt. Das eigentliche Deployment erfolgt, indem man die Bereitstellungsprofile und - zertifikate via iTunes oder die iPhone Configuration Utility verteilt. Keine der beiden Möglichkeiten ist indes so einfach wie der Download via WLAN oder UMTS von einem internen Web- oder File-Server.

Web-Applikationen als Alternative

Wem das Prozedere zu aufwändig erscheint, der kann sich vielleicht für eine speziell an die iPhone-Besonderheiten (zum Beispiel hierarchische Navigation) angepasste Web-Applikation erwärmen. Apple hat auch für diesen Zweck Ressourcen zum kostenlosen Download bereitgestellt. Um darauf zugreifen zu können, ist ebenfalls eine Mitgliedschaft in der Apple Developer Connection erforderlich, diese ist allerdings umsonst.

Web-Applikationen können als Web-Clip-Icons auf dem Bildschirm des iPhone installiert werden. Falls Sie eine Anwendung planen, um via Web auf Datenbanken oder Intranet-basierende Applikationen zuzugreifen, ist dieser Mechanismus einfacher zu entwickeln und zu warten. Der größte Nachteil ist indes die schwächere Web-Performance der iPhones der ersten Generation. Selbst wenn Web-Applikationen nicht das letzte Ziel sind, erfüllen sie ihren Zweck, bis die Entwickler genug Übung im Bauen von nativen iPhone-Applikationen gesammelt haben.

Typischerweise kann man mit Web-Applikationen nicht auf alle Hardware-Features zugreifen. Es gibt noch eine weitere Option, nämlich den Einsatz einer Terminal-Server-basierenden Anwendung: So erlauben es Werkzeuge wie das im App Store verfügbare "WinAdmin" dem iPhone-Nutzer, über Microsofts Remote Desktop Protocol auf Windows-PCs und -Server zuzugreifen. Auch Citrix hat bereits eine Version seines Clients für das Apple-Gerät vorgestellt.

Eine weitere Alternative ist der native Zugriff auf bestehende Datenbank-Plattformen, wobei die Auswahl noch eingeschränkt ist. Immerhin erlauben Oracle und Salesforce bereits den iPhone-Zugriff auf einige ihrer Produkte, SAP hat ähnliche Pläne angekündigt. Das am meisten ausgereifte iPhone-Produkt für Datenbanken ist vermutlich "iPhone FMTouch" von Filemaker.

Lohnt sich der Aufwand?

Obwohl Apple und zahlreiche Entwickler eifrig daran arbeiten, kann das iPhone seinen ursprünglichen Einsatzzweck als Consumer-Smartphone beziehungsweise iPod mit Telefoniefunktion noch immer nicht ganz verheimlichen. So weist das Gerät nach wie vor Schwächen hinsichtlich Sicherheit, Administration und Deployment auf. Vor allem, wenn das iPhone im großen Stil in Unternehmen eingesetzt werden soll, ist es damit anderen Smartphone-Plattformen unterlegen.

Native Anwendung oder Web-Applikation?

Native Anwendung:

(+) Auch offline verfügbar;

(+) Daten lassen sich lokal speichern;

(+) (eingeschränkter) Zugriff auf die iPhone-Hardware.

(-) Aufwändige Entwicklung;

(-) Code kann für andere Plattformen nur teilweise wiederverwendet werden;

(-) umständlicher Rollout via iTunes oder das iPhone-Konfigurationsprogramm.

Web-Applikation:

(+) Keine lokale Installation notwendig;

(+) schnelle Updates der Anwendung;

(+) Struktur einer bestehenden Website weiterverwendbar;

(+) einfache Verteilung - ein Link per E-Mail genügt.

(-) Eingeschränkter Zugriff auf die iPhone-Hardware;

(-) (gute) Netzverbindung erforderlich;

(-) keine lokale Speichermöglichkeit.