Apple iPhone im Unternehmen

Inhouse-Applikationen für das iPhone entwickeln

19.01.2009 von Manfred Bremmer
Trotz der großen Auswahl finden Unternehmen, die das Apple iPhone einsetzen wollen, im App Store nicht immer die geeigneten Anwendungen. Eigenentwicklung schafft Abhilfe.

Insbesondere 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 spezifischen 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 NDA (für abgeschlossene Entwicklungen) kommt nun Licht ins Dunkel, es sind neben etlichen Artikeln über das iPhone SDK im Web 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, die im Dezember 2008 in München stattfand, gaben erstmals hierzulande Programmierer einen Einblick in die Entwicklung von nativen Anwendungen und Web-Applikationen für das Kult-Handy.

Native Anwendung oder Web-Applikation?

Für native Applikationen spricht insbesondere, dass sie auch offline auf dem Apple iPhone bereitstehen.

Wer sich mit dem Gedanken trägt, ein Programm für das iPhone zu schreiben, muss sich als ersten Schritt überlegen, ob es eine native Anwendung sein muss oder eine Web-Applikation genügt. Für letztere spricht unter anderem, dass keine lokale Installation notwendig ist, somit sind auch Updates der Anwendung schneller realisiert. Außerdem ist die Struktur einer vielleicht schon vorhandenen Website weiterverwendbar, sie muss nur besser an die iPhone-GUI angepasst werden. Ein weiterer Pluspunkt ist die einfache Verteilung - ein Link per E-Mail genügt. Aber es gibt auch Nachteile: Dazu zählt etwa der eingeschränkte Zugriff auf die iPhone-Hardware, etwa Speicher, GPS-Modul, Vibrationsfunktion oder Beschleunigungssensor. Außerdem muss eine möglichst gute Netzverbindung bestehen. Zwar ist das Apple iPhone gemäß seiner Tarifstruktur als Always-on-Gerät konzipiert, der ständige Internet-Zugriff kommt jedoch im Ausland teuer und kostet generell Akkulaufzeit.

Für native Applikationen spricht, dass diese auch offline auf dem iPhone bereitstehen, beziehungsweise auch bei schlechteren Online-Verbindungen schnell ausgeführt werden können. Außerdem lassen sich mit der Anwendung verbundene Daten lokal speichern sowie direkt auf die iPhone-Hardware, etwa Kamera oder GPS zugreifen - zumindest, soweit dies Apple zulässt. So gilt auch hier, dass Drittapplikationen nicht im Hintergrund laufen dürfen. Zu den Nachteilen zählt auch die vergleichsweise aufwändige Entwicklung, außerdem kann für andere Betriebssysteme erstellter Code nur teilweise wieder verwendet werden. Der umständliche Rollout via iTunes oder das iPhone-Konfigurationsprogramm ist ein weiterer Minuspunkt.

Das iPhone Developer Programm und das iPhone SDK

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 zum kostenlosen Download bereit - Voraussetzung ist lediglich eine gültige Apple ID, diese erhält man beispielsweise bereits mit seinem privaten iTunes-Account. Um die Applikationen auch nutzen zu können, ist zusätzlich eine Mitgliedschaft im iPhone Developer Program erforderlich: Einfache Entwickler zahlen für die Mitgliedschaft 99 Dollar jährlich, im Enterprise-Umfeld werden entsprechend 299 Dollar pro Jahr verlangt. Neben der preislichen Differenz unterscheiden sich die beiden Programme dadurch, dass Enterprise-Entwicklern ihre Applikationen außerhalb des App Store weiter verteilen 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.

Etwas Kopfzerbrechen könnte die Regelung bereiten, dass Enterprise-Entwickler belegen müssen, dass ihr Unternehmen mindestens 500 Mitarbeiter beschäftigt. Kleinere Firmen können sich jedoch mit "normalen" Entwickler-Accounts behelfen und die Applikationen als "Test-Programme" in Hunderter-Einheiten verteilen.

So oder so: Das Geld ist gut angelegt, da man die Applikationen ohne die Mitgliedschaft später nur auf dem im SDK enthaltenen iPhone-Simulator, nicht aber auf einem echten Gerät testen kann. Außerdem erhält man Zugriff auf verschiedenste Informationen im iPhone Dev Center - diese reichen von Einführungsfilmen und - dokumenten bis hin zu Programmier-Tipps, nützlichen Code-Schnipseln 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 Code schreiben und debuggen und mit Xcode gar eine komplette Entwicklungsumgebung. Entwickelt selbst wird unter Mac OS X Leopard (Version 10.5.3) in Objectiv C - einer Programmiersprache, welche auf Standard C basiert und objektorientiertes Programmieren ermöglicht.

Trotz der umfangreichen "Entwicklungshilfe" von Apple werden sich selbst geübte C++ Programmierer zunächst mit der Mac-basierenden Entwicklungsumgebung schwer tun. Die gute Nachricht: Hat man sich die Fähigkeiten einmal angeeignet, können diese später auch für das Entwickeln von Mac-Anwendungen eingesetzt werden.

Bereitstellungsprofile und Zertifikate

Ist die iPhone-Applikation entwickelt und getestet, gilt es als letzte große Hürde, diese 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 Stores 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 Procedere zu aufwändig erscheint, kann sich vielleicht für eine speziell an die iPhone-Besonderheiten (z.B. hierarchische Navigation) angepasste Web-Applikation erwärmen. Apple hat auch für diesen Zweck Ressourcen zum kostenlosen Download bereitgestellt. Es 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. Es gibt keinen aufwändigen Verteilungsprozess oder den Bedarf, Updates auf einzelne iPhones aufzuspielen. Der größte Nachteil ist indes die schwächere Web-Performance der iPhones der ersten Generation. Selbst wenn Web-Applikationen nicht das ultimative Ziel sind, können sie dennoch ein guter Anfang sein. Erfahrene Web-Entwickler können sie schnell schreiben und damit beispielsweise die Zeit überbrücken, bis sie genug Übung im Bauen von nativen iPhone-Applikationen gesammelt haben.

Mit der Entwicklung von Web-Applikationen beschäftigt sich das Buch "Webprogrammierung für iPhone und iPod touch" von Alexander Ebner und Patrick Lobacher, das im Frühjahr 2009 auf den Markt kommen soll.

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 Microsoft's 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 aif bestehende Datenbank-Plattformen, wobei die Auswahl aktuell 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. Das Produkt ist aber wahrscheinlich eher für kleinere Unternehmen interessant.

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 in den Bereichen Security, Administration und Deployment auf. Insbesondere, wenn das iPhone im großen Stil in Unternehmen eingesetzt werden soll, ist es damit anderen Smartphone-Plattformen unterlegen.