Accelerator Guide für die interne App-Entwicklung

Transcription

Accelerator Guide für die interne App-Entwicklung
Accelerator Guide
für die interne App-Entwicklung
Überblick
Lassen Sie Ihre Ideen zu eigenen Apps Wirklichkeit werden. So geht’s.
Ihr Unternehmen ist etwas Einzigartiges – Ihre Mitarbeiter ebenso. Es gibt eine riesige Fülle von
Möglichkeiten, auf die Bedürfnisse dieser Mitarbeiter einzugehen, und zwar mit Apps für Mobilgeräte,
die ihre Arbeitsweise völlig verändern können. Wenn für Sie das Gleiche gilt wie für die meisten internen
Entwicklungsteams, müssen auch Sie gewisse Einschränkungen beachten. Aber ob diese nun finanzieller,
organisatorischer oder ressourcenbezogener Art sind, Sie müssen sich darauf fokussieren, Apps bereitzustellen, die exakt auf Ihre Geschäftsanforderungen zugeschnitten sind.
iOS bietet tolle Möglichkeiten, genau dies zu erreichen. Die iOS Entwicklung kann schnell und äußerst
lohnend sein. Sie erhalten so die Gelegenheit, Apps bereitzustellen, die den Benutzern wirklich unmittelbare Vorteile bringen. Sie vermeiden mühselige Prozesse und übermäßigen Ressourceneinsatz und
erlangen dennoch entscheidende Vorteile für Ihr Unternehmen. Allerdings kann es sein, dass Sie dafür
Ihre Bemühungen etwas anders ausrichten müssen, als Sie dies bei einem herkömmlichen hausinternen
Entwicklungsprojekt tun würden.
Verwendung dieses
Leitfadens
Checkliste. Anhand der
Checkliste in jedem der
Kapitel können Sie die
wichtigsten Schritte des
Entwicklungsprozesses
durchgehen und kontrollieren.
Tipps. Die Tipps liefern wichtige
Informationen zum Prozess in
einem einfach zugänglichen
Format.
Genau hierbei soll Ihnen dieser Leitfaden helfen. Er untersucht die bewährten Verfahren bei der
Herstellung perfekter mobiler Apps für die Zwecke Ihrer Benutzer, und er liefert Tipps und Ressourcen,
die Ihnen helfen, Ihr Projekt im Hinblick auf maximale Effizienz zu organisieren.
Checkliste zur Implementierung
Am Ende der Implementierungsphase müssen die folgenden Schritte
abgeschlossen sein:
Erstellung von Unternehmenszertifikat und Bereitstellungsprofil
Einrichten eines Verteilungs-Webservers oder einer Lösung für die drahtlose
App-Verteilung
Bekanntmachen Ihrer Lösung für die Endbenutzer
Tipp: „Mundgerechte“ Apps
• Einfache, schnelle und sauber
funktionierende Apps erzeugen eine
interne Nachfrage und minimieren
Leistungsaufwand und Kosten.
• Auch aus mundgerechten Apps wird ein
komplettes Menü. Die Benutzer erstellen
ihre eigenen „Lösungen“, und das gibt Ihren
Mitarbeitern letztendlich deutlich mehr
Flexibilität.
Dieser Leitfaden ist in die folgenden vier Abschnitte unterteilt:
Planung – Definieren des Projekts, Zusammenstellen der Erfordernisse und Planung des
Entwicklungsprozesses.
Design – Nutzen der Design-Konzepte für iOS Benutzeroberflächen, die die Benutzer Ihrer
internen Apps mit Sicherheit begeistern werden.
Entwicklung – Entwickeln Ihrer internen Apps und optimales Nutzen der Werkzeuge von
Apple, einschließlich des iOS SDK.
Implementierung – Verteilen der internen Apps im Unternehmen und Einrichten Ihres
eigenen drahtlosen Dienstes für die App-Verteilung.
Beispiele. Lassen Sie sich von
den Kundenbeispielen und
Ideen inspirieren. Hier sehen Sie,
wie andere Unternehmen ihre
internen Apps für iPhone und
iPad produziert haben.
Direktlinks. Im hier angeführten
Referenzmaterial können Sie
noch mehr über die hausinterne
Entwicklung von iOS Apps
erfahren.
„Wir mussten einen Weg finden,
Updates und Änderungen möglichst
schnell zu bewerkstelligen, deswegen entschieden wir uns für
eine Hybridstrategie. Das bedeutet:
Native UI-Elemente direkt auf dem
Mobiltelefon und der Rest waren
einfach nur Webseiten.“
– Giancarlo De Lio, Mt. Sinai Hospital
Direktlinks
Häufig gestellte Fragen zur Programmregistrierung
http://developer.apple.com/support/ios/enrollment.html
Häufig gestellte Fragen zum iOS Entwicklerprogramm für Unternehmen
http://developer.apple.com/support/ios/enterprise.html
Also fangen wir an.
Überblick
2
Planung
Zum Erstellen einer erstklassigen App braucht es einen erstklassigen Plan. Es ist wichtig, dass sich die
internen Akteure mit den Zielen des Projekts identifizieren und aktiv an der Ausformulierung des Plans
teilhaben. Je besser Ihr Team die Arbeitsverteilung im gesamten Prozess und die zur Durchführung
des Plans notwendigen Schritte versteht, desto effektiver wird dabei ein überzeugendes Endergebnis
entstehen.
Im Rahmen dieses Plans, sollten Sie mit Ihrem Team die folgenden Aspekte untersuchen:
• Erkennen der Erfordernisse von Unternehmen und Benutzern. Achten Sie darauf, dass Ihre Lösung auf
die tatsächlichen geschäftlichen Erfordernisse eingeht. Spart sie Zeit und/oder Geld, wird das Personal
dadurch produktiver oder wird das Unternehmen auf andere Weise geschäftlich vorangebracht?
• Bewerten vorhandener Ressourcen/Infrastruktur. Sie können die Nutzung wertvoller Ressourcen
optimieren, indem Sie eine Komponente Ihrer Ressourcen zielführend anders ausrichten und für die
mobile Umgebung einsetzen.
• Untersuchen einer möglichst einfachen Implementierung. Ernten Sie zuerst die Früchte, die am
leichtesten zu greifen sind: Suchen Sie nach Projekten mit rascher Realisierung, bei denen sich die
positiven Ergebnisse Ihrer Arbeit schnell und einfach demonstrieren lassen.
Wenn Sie diese Planungskonzepte im Blick behalten, werden Sie leichter eine Fokussierung auf das
Projekt entwickeln können. In diesem Kapitel werden die Schritte untersucht, mit denen Sie das Projekt
organisatorisch vorbereiten und rasch auf den Weg bringen können.
Einholen von Benutzer-Input
Versetzen Sie sich in die Lage Ihrer Benutzer. Verbringen Sie gewisse Zeit in deren Arbeitsbereich,
indem Sie Meetings besuchen oder Mitarbeiter zu einem Kundentermin begleiten. So gewinnen Sie
wertvolle Einsichten in die beruflichen Gewohnheiten, Engpässe im Arbeitsablauf und wunde Punkte
bei Mitarbeitern oder Kunden. Fordern Sie besonders fähige oder engagierte Benutzer auf, sich dem
Projektteam anzuschließen und kontinuierlichen Input zu liefern.
Identifizieren Sie, welches Problem eine mobile App lösen könnte, die dadurch den Benutzern und Ihrem
Unternehmen den meisten Nutzen in der kürzesten Zeit einbringen würden.
Versuchen Sie, zu Beginn der Entwicklung mobiler Apps nicht zu viel erreichen zu wollen. Grenzen Sie
Ihre Ideen von dem, was Sie erzeugen könnten, auf das ein, was Sie wirklich erzeugen sollten.
Planung • Design • Entwicklung • Implementierung
Planungs-Checkliste
Beachten Sie während der gesamten Planungsphase Ihres Projekts
diese Checkliste. Zum Ende der Planungsphase sollte ihr vorgesehener
Arbeitsumfang die folgenden Punkte umfassen:
Inventarerfassung aller potenziellen geschäftlichen Bedürfnisse bzw.
Anforderungen
Bestandsaufnahme der Benutzerbedürfnisse (zur Abstimmung mit den
geschäftlichen Erfordernissen)
Erfordernisse der IT-Infrastruktur für die Unterstützung der Projektarbeit
Programmdefinition mit einer Beschreibung der App und des Zwecks
der Lösung
Allgemeiner Zeitplan und Meilensteine des Projekts
Festlegen der wichtigsten Teammitglieder sowie ihrer Aufgabenbereiche
und Zuständigkeiten
Start des Registrierungsprozesses für das iOS Entwicklerprogramm
„Zwischen Entwickler und Vertrieb fand
eine sehr direkte Kommunikation statt.
Wir sind sogar zu Kundenbesuchen
mitgefahren, zogen Sicherheitsschuhe
und Schutzhelme an, um den mobilen
Vertrieb unter die Lupe zu nehmen und
zu sehen, was genau unsere Leute dort
brauchten und wie sie die App konkret
nutzen würden.“
– Dean Moore, Sunbelt Rentals
3
Suchen Sie nach einigen einfachen Aufgaben, die bei den meisten Ihrer Benutzer oft vorkommen,
und überlegen Sie, inwiefern eine mobile App hier Vereinfachungen bringen könnte. Hier sind einige
Beispiele:
• Eine einfache App, mit der ein Mitarbeiter unterwegs eine Spesenabrechnung oder eine Bestellung
freigeben kann
• Ein Firmenverzeichnis oder ein Lageplan zur allgemeinen Nutzung
• Ein Programm, das den Weg zu Besprechungsräumen zeigt und damit den Mitarbeitern auch außerhalb
ihres Büros weiterhilft
• Eine einfache App für die Zeiterfassung, die mit Ihrem Back-End-Zeitmanagement- oder
Abrechnungssystem verbunden sein kann
Inventarisieren Ihrer Ressourcen
Oft besteht die beste Möglichkeit, eine hauseigene App effizient aufzubauen, einfach in der Nutzung
bereits vorhandener Technologie. Sie möchten vielleicht eine Bestandsliste Ihrer Mitarbeiter-Websites
anlegen und feststellen, ob es sinnvoll sein könnte, diese für iPhone oder iPad zu optimieren. Oder Sie
haben Back-End-Systeme mit Daten in einem Format, das Sie problemlos in einem mobilen Kontext
bereitstellen könnten. Denken Sie auch an die Apps, die es bereits im App Store gibt: Vielleicht ist
eine App, die Ihren Anforderungen entspricht, ja schon vorhanden. Sehen Sie sich das Beispiel des
Bestandsinventars (auf der rechten Seite) an. Dort finden Sie weitere Fragen, die Ihnen helfen, einen
Überblick über Ihre vorhandene Umgebung zu bekommen.
Definieren Ihrer App
Sobald Sie zuverlässig wissen, was Ihre Benutzer benötigen und auch über die potenziellen mobilen
Lösungen zur Erfüllung dieser Bedarfslage Bescheid wissen, werden Sie diese Konzepte zu einem knapp
gefassten Projektplan verfeinern wollen, den Sie den anderen Akteuren in Ihrem Projekt zur Kenntnis
geben können.
Der wichtigste Aspekt beim Definieren des Projektplans ist die Angabe zur Programmdefinition – eine
kurz gefasste Definition des Zwecks Ihrer App. Mit einer Angabe zur Programmdefinition gehen Sie zwei
gängigen Fallstricken aus dem Weg:
• Sie haben eine vorhandene Desktop-App, die Sie auch mobil nutzen möchten. Deshalb haben Sie eine
entsprechend lange Liste mit Features, die in die neue Umgebung übertragen werden sollen.
• Sie haben eine tolle Idee für eine neue mobile App, stürzen sich aber sofort auf die Features, bevor Sie
den Zweck der App präzise definiert haben.
Planung • Design • Entwicklung • Implementierung
Beispiel: Ressourcen
Das Beantworten dieser Fragen hilft Ihnen festzustellen, ob Sie vorhandene
Technologie in Ihrer mobilen App nutzen können:
• Welche Systeme nutzen die meisten Ihrer mobilen Mitarbeiter Tag für Tag?
• Welche Aufgaben müssen Ihre mobilen Mitarbeiter am häufigsten erledigen?
• Welche manuellen Prozesse ließen sich durch mobile Apps automatisieren
oder vereinfachen?
• Haben Sie vorhandene nichtmobile Systeme, die für die Nutzung durch
mobiles Personal in Frage kommen könnten?
• Welche Funktionen innerhalb dieser Systeme werden am häufigsten genutzt?
• Welche Art von Datenzugriff stellen Ihre Unternehmenssysteme bereit? Kann
auf Daten einfach über Webdienste zugegriffen werden?
• Haben Sie interne Websites, auf die Ihre Mitarbeiter täglich zugreifen? Könnten
diese problemlos in mobile Apps verwandelt werden?
„Wir sahen uns die verschiedenen
Produktlinien an und fragten uns: Wo
ist die Nutzung von Mobiltechnologie
wirklich sinnvoll?“ Welches ist die oberste
Ebene? Welches sind die ersten Treffer,
auf die wir achten sollten? Das war
unser Ausgangspunkt für das weitere
Vorgehen. Wir sahen uns unser ProduktPortfolio an und überlegten, was am
sinnvollsten wäre.“
– James Blomberg, General Electric
4
Erstellen einer Programmdefinition
Beginnen Sie mit dem Verfassen einer Programmdefinition, die folgende Aspekte einschließt:
• Den Zweck hinter der App
• Für wen ist die App gedacht und wie wird sie genutzt werden?
• Kernfunktionen der App
Achten Sie darauf, dass Ihre Angaben eine Lösung und lediglich deren Kernfunktionalität definieren
– aber noch keine detaillierte Gruppe von Features. Der Zweck der App sollte klar und deutlich herausgestellt sein, sodass anhand dieser Vorgabe jede Idee für ein Feature geprüft werden kann. Fragen Sie
sich stets selbst, ob jedes Feature auch wirklich den gedachten Zweck erfüllt. Wählen Sie dann nur die
wenigsten, am häufigsten genutzten und im mobilen Kontext am besten geeigneten Features aus.
Achten Sie darauf, am Ende keine lange und wenig zielgenaue Liste mit Features zu haben, die entweder
schwierig auszuführen oder zur Lösung des Problems gar nicht geeignet sind. Wenn Sie dafür sorgen,
dass Ihre App aufs Wesentliche fokussiert bleibt, erhalten Ihre Benutzer das Maximum an Produktivität
in einem einfach zu bedienenden Lösungspaket.
Planen des Entwicklungsprozesses
Üblicherweise beansprucht die Entwicklung von Unternehmenssoftware enorme Ressourcen. Mit dem
iOS SDK und hochwertigen Cocoa Touch Frameworks verbringen Ihre Entwicklungsteams weniger Zeit mit
der Codierung und können sich mehr um die Ausgestaltung der perfekten Benutzerumgebung kümmern.
Dieser Prozess ermöglicht Ihnen nicht nur, eine App für Ihre Mitarbeiter schneller bereitzustellen. Er hilft
Ihnen auch, Lösungen anzubieten, die die Erwartungen Ihrer Benutzer sogar noch übertreffen.
Beispiel: Programmdefinition
So könnte eine Programmdefinition aussehen. Als Beispiel dient eine
Zeiterfassungs-App für Anwälte:
• Zweck: Erfassen von Zeitaufwand und abrechnungsfähigen Arbeitsstunden
pro Mandant
• Zielgruppe: Anwälte im Unternehmen, die ihre abrechnungsfähigen
Arbeitsstunden erfassen müssen
• Nutzungsweise: Bei jedem Mandantentermin werden Beginn und Ende der
abrechnungsfähigen Zeit gestoppt
• Kernfunktion: Zeitaufwand im CRM-System erfassen und melden
• Konsolidierte Programmdefinition: App für Anwälte zum Erfassen des
Zeitaufwands und der abrechnungsfähigen Arbeitsstunden pro Mandant
• Features, die der Definition entsprechen: Eine Uhr mit Start-/Stoppfunktion;
Hintergrunderfassung/-verarbeitung; Serverintegration mit CRM-System;
Nachschlagen von Mandantendaten zum Zuordnen des erfassten
Zeitaufwands zum Mandanten/Fall; Online-/Offline-Synchronisierung
auf Basis der Netzwerkkonnektivität
• Beispiele für Features, die nicht zur Definition passen oder den Projektumfang
sprengen würden: Signalisierung neuer Fälle; Dokumentrecherche als
juristische Referenz; Karte mit Mandantenstandorten; Suchschnittstelle
Ob Sie einen agilen Entwicklungsprozess oder eine eher traditionelle Wasserfallmethode vorziehen:
Achten Sie in jedem Fall darauf, Zeit und Ressourcen zu budgetieren, damit in den Design-Prozess – den
zentralen und kontinuierlichen Bestandteil der gesamten Entwicklungsarbeit für Ihre App – angemessen
investiert werden kann.
Arbeiten Sie einen groben Zeitplan des vorgesehenen Prozesses aus, sowie die Aufgabenbereiche für
jeden einzelnen Akteur in jeder Phase des Projektablaufs. Diese Vorgaben müssen nicht in Stein gemeißelt
sein, können aber dennoch für alle Beteiligten einen gemeinsamen Bezugspunkt liefern.
Tipp: Crowdsourcing
Genentech wusste, dass gute Ideen für Apps von überall und jedermann
kommen können. Deshalb entwickelte man ein Crowdsourcing-Modell, das
Mitarbeitervorschläge für Apps aufgreift, die diese Kollegen gerne intern
entwickelt sähen. Seitdem hat das Unternehmen die fünf meistverlangten
Apps zur vollsten Zufriedenheit und unter begeisterter Aufnahme der
Benutzer auch tatsächlich erstellt.
Planung • Design • Entwicklung • Implementierung
5
Abstecken des Leistungsumfangs
Beispiel: Typisches Projektteam
Um stets zielgerichtet zu arbeiten und den Prozessfortschritt zu kommunizieren, sollte Ihr Plan ein
zentrales Dokument mit einer Beschreibung des Leistungsumfangs umfassen, das alle Projektressourcen,
Ziele, Vorgaben und Zeitpläne sowie wesentliche Lieferkriterien einschließt. Dies ist ein für alle Akteure
wichtiger Leitfaden zum Projekt. Zum Leistungsumfang können vorbereitende technische Voraussetzungen
für Ihre App ebenso gehören wie Flowcharts oder visuelle Diagramme, die helfen, die Ziele der AppKonzeption während der Entwicklungsphase zu kommunizieren.
Code
Requirements
Release
• Training
• Coding of app
• Design and graphics
• Test cases
• Unit testing
• Scope project
• Obtain approvals
• Assemble team
Design
• Architecture design
• Project plan built
• Initial wireframes
• Developer sizings
• Internal release of app
• Stakeholder signoff
• Maintenance plan
Verification
• Testing on devices
• Automated UI tests
• Bug fixes
• Design review/tweaks
• Stakeholder walkthrough
Zusammenstellen des Teams
Line-of-Business Owner
Primary stakeholder and
app user
Executive Sponsor
Primary stakeholder,
responsible for strategic plan
Project Leader
Tracks schedules, timelines,
and overall scope of work
Product Manager
Delivers the app, manages
requirements, and reconciles
business needs with solutions
User Experience Architect
Responsible for framework
of user interaction model and
user process flow/journey
Technical Architect
Responsible for infrastructure,
security, and data access
models
Development Manager
Technical lead and project
manager
User Interface Designer
Responsible for app visual
design, graphics, and identity
IT Manager
Responsible for deployment
and life-cycle management
of apps
Developer
Responsible for overall
technical architecture
and coding
Wie bei jedem Projekt empfiehlt es sich, ein Team zusammenzustellen, in dem jeder Einzelne am
erfolgreichen Ausgang Ihres App-Projekts beteiligt ist. Manche der Beteiligten könnten Ihre internen
Kunden sein (ein Kunden- oder Projektbeauftragter oder eine Benutzergruppe), andere sind mit
bestimmten Teilen des Entwicklungsprozesses selbst betraut (Designer, Entwickler, technische
Architekten usw.). Letztendlich sollten Sie die Aufgaben und Zuständigkeiten im Team am Zeitplan des
Projekts und an den im vorherigen Schritt besprochenen Meilensteinen ausrichten. Da das Design ein
zentrales Element jedes iOS Entwicklungsprojekts ist, benötigen Sie z. B. in jedem Fall ein Design-Team
(oder entsprechende Ressourcen). Unterschiedliche Gruppen haben möglicherweise unterschiedliche
Teilnahmeaspekte und Interessen am Endergebnis. Daher ist es sinnvoll, diese Aufgabenbereiche zu
dokumentieren, damit jeder Beteiligte im gesamten Projektablauf in der Lage ist, seiner Verantwortung
gerecht zu werden.
Planung • Design • Entwicklung • Implementierung
6
Outsourcing der Entwicklung
Wenn Sie über keine ausreichenden internen Ressourcen verfügen, kommt auch das Outsourcing der
Entwicklungsarbeiten (ganz oder teilweise) in Betracht. Externe Entwickler könnten Ihnen vielleicht auch
ein Portfolio ihrer Arbeit präsentieren, das die Grundlage für neue Ideen bilden könnte.
Um erfolgreich zu sein, muss das externe Team selbstverständlich ein umfassendes Verständnis Ihres
Projekts besitzen – das betrifft alles, was Sie beim Planungsprozess festgelegt haben. Außerdem ist
der regelmäßige Austausch mit Ihnen und Ihrem hauseigenen Team unerlässlich. Diskutieren Sie Ihren
Bedarf und stellen Sie sicher, dass die externen Entwickler Ihre Ziele genau verstehen. Überprüfen Sie
die Angaben zur Programmdefinition sowie besonders sorgfältig die Projektdetails. Achten Sie von
Anfang an darauf, dass der kommunikative Austausch klar geregelt ist, ebenso wie ein Prozess, der eine
dauerhafte Kontaktpflege gewährleistet.
Sie müssen den Aufgabenbereich des externen Anbieters definieren, ebenso wie bei einem Mitglied
Ihres internen Teams. Stimmen Sie diese Aufgaben und Zuständigkeiten mit dem Projekt- und Zeitplan
ab, damit Sie klar und eindeutig kommunizieren können, welche Aspekte Ihres Projekts vom externen
Partner zu liefern sind.
Tipp: Auswählen eines externen Anbieters
• Treffen mit mehreren Anbietern.
• Ansehen vorhandener Arbeiten, einschließlich Apps im App Store,
Berücksichtigen von App-Ranking und Benutzerkommentaren.
• Beurteilen von Kenntnissen und Fähigkeiten, z. B.: Wird der Code komplett
selbst geschrieben?
• Anfordern von Referenzen.
• Keine Berücksichtigung von Tendenzen zu „Global“-Lösungen oder
generischer Multiplattform-Strategie.
• Schwerpunkt auf UI-Design, hochwertiger Grafik und auf dem
Entwicklungsweg bis zur App.
• Besprechen von Programmpflege und Lebensdauer der App über
Version 1.0 hinaus.
• Frage nach Erfahrungen in der IT-Infrastruktur.
Release
Requirements
In-house team responsibilities
„Wir arbeiten mit externen Vertragspartnern an mehreren
Outsourced developer responsibilities
Design
Code
Verification
Manche externe Partner können bei allen Elementen des Projekts hilfreich sein, von den anfänglichen
Erfordernissen bis zur abschließenden Implementierung. Andere beschränken sich vielleicht ausschließlich auf das Schreiben von Code. Sie sollten diese Fähigkeiten und Dienste in jedem Fall zusammen mit
dem externen Anbieter besprechen, unabhängig davon, ob dieser am Ende tatsächlich beauftragt wird
oder nicht. So können Sie dessen Stärken besser beurteilen, und Sie können darüber informieren, wie
Sie die Beziehung zu gestalten beabsichtigen.
Planung • Design • Entwicklung • Implementierung
verschiedenen Elementen. Es kommt einfach darauf an, was für
die jeweilige App notwendig ist. Wenn es ganz spezifisch um
Design und Stil der App geht, sprechen wir mit Partnern, die schon
ähnliche Projekte durchgeführt haben – wir wissen dann, dass
sie auf diesem Gebiet bereits Erfahrung haben. Dafür können wir
Mitarbeitern oder Kunden ein qualitativ hochwertiges Produkt
bieten.“
– Todd Schofield, Standard Chartered Bank
7
Erste Schritte mit dem iOS Entwicklerprogramm für Unternehmen
Sobald Sie Erfordernisse zusammengestellt, Input von Ihren Benutzern erhalten und Ihr Programm
und den Projektplan definiert haben, besteht der letzte Schritt vor dem Einstieg in die Design-Phase
in der Registrierung beim iOS Entwicklerprogramm für Unternehmen. Dieses Programm stellt einen
vollständigen und integrierten Prozess für Entwicklung, Test, Debugging und Verteilung von iOS Apps
innerhalb Ihres Unternehmens bereit. Sobald Sie bei dem Programm registriert sind, erhalten Sie Zugriff
auf die in der Liste rechts angegebenen Tools und Ressourcen.
Überblick: Ressourcen des iOS Entwicklerprogramms für
Unternehmen
Mit der Mitgliedschaft im iOS Entwicklerprogramm erhalten Sie die folgenden
Vorteile:
• Zugang zum iOS Dev Center
• Zugang zum iOS SDK
Hier folgt ein Überblick zum besseren Verständnis des Registrierungsprozesses. Anschließend kann die
Projektarbeit beginnen. Weitere Einzelheiten finden Sie unter http://developer.apple.com/programs/ios/
enterprise.
• Auswahl von Prerelease-Software und -Tools
Voraussetzungen für die Registrierung
• Technischer Support (zwei Einsätze pro Jahr der Mitgliedschaft)
Vor der Registrierung bei dem Programm ist auf folgende Punkte zu achten:
• Möglichkeiten zum Testen von Programmen direkt auf dem iPad, iPhone und
iPod touch
• Sie planen die Verteilung von iOS Apps ausschließlich innerhalb ihrer Firma bzw. Organisation. Das iOS
Entwicklerprogramm für Unternehmen richtet sich an Entwickler, die ihre iOS Apps entwickeln und an
Mitarbeiter innerhalb ihrer Firma bzw. Organisation verteilen möchten.
• Ihr Unternehmen besitzt eine D-U-N-S Nummer (Dun & Bradstreet). Während der Registrierung müssen
Sie Apple diese Nummer angeben. Sie müssen den offiziellen Namen Ihrer Firma bzw. Organisation
kennen. Ihre D-U-N-S Nummer können Sie unter der Adresse http://www.upik.de/upik_anfrage.
cgi?new=1 anfordern bzw. abfragen.
• Sie sind befugt, Ihr Unternehmen an die rechtlichen Vereinbarungen zu binden. Im Verlauf der
Registrierung müssen Sie einen Ansprechpartner benennen, der belegen kann, dass Sie befugt sind,
Ihr Unternehmen auf die Lizenzvereinbarung zum iOS Entwicklerprogramm für Unternehmen zu
verpflichten.
• Sie haben die technischen Möglichkeiten, um Programme in Xcode zu signieren. Als registrierter
Benutzer treten Sie als „Agent“ Ihres Teams auf. Damit sind Sie verantwortlich für die Bereitstellung von
Apps und die technischen Aufgaben der Account-Verwaltung.
• Möglichkeit zur Zusammenstellung des Entwicklerteams im Abschnitt „Team“
des Member Center
• Zugang zu Apple Entwicklerforen
• Ad-hoc-Verteilung Ihrer App auf bis zu 100 registrierten Geräten
• Unternehmensinterne Verteilung an beliebig viele Mitarbeitergeräte
Tipp: Zusammenstellen des Entwicklungs-Toolkits
Grundvoraussetzung für das iOS SDK ist ein Intel-basierter Mac. Entwickler
arbeiten üblicherweise mit einem MacBook Air oder MacBook Pro wegen der
großen Mobilität und Bewegungsfreiheit, die diese Geräte bieten. Ein iMac
oder Mac mini eignet sich aber genauso, vor allem wenn Sie ein eigenes
Entwicklungslabor betreiben. Achten Sie auch darauf, dass Sie Testgeräte
zur Verfügung haben. Wenn Sie vollständige Kompatibilität sicherstellen
möchten, denken Sie daran, auch Hardware früherer Generationen
bereitzuhalten, z. B. ein iPhone 3GS oder das iPad der ersten Generation.
Übersicht über das Registrierungsverfahren
1. Als Apple Developer registrieren. Als Erstes müssen Sie sich als Erstes bei Apple für dieses Programm
registrieren, indem Sie eine neue, dedizierte Apple ID erstellen. Es empfiehlt sich, eine E-Mail Adresse
speziell für diesen Account einzurichten, damit Ihr Unternehmen diese bei Bedarf unterschiedlichen
Personen zuweisen kann.
2. Unternehmen, Kontaktdaten und offizielle Informationen eingeben. Diese Informationen werden
benötigt, um Ihren Status als Wirtschaftsunternehmen überprüfen zu können. Entscheidende
Voraussetzung hierfür ist eine gültige D-U-N-S Nummer. Achten Sie darauf, dass Ihre Angaben zu
Planung • Design • Entwicklung • Implementierung
8
Firmenname und Adresse mit den Informationen in der Dun & Bradstreet Datenbank übereinstimmen.
Im Rahmen der Identitätsprüfung müssen Sie Apple ggf. geschäftliche Dokumente vorlegen, z. B.
Statuten, eine Betriebsvereinbarung und eines Geschäftslizenz.
3. Bei Apple einreichen. Sobald Sie Ihre Registrierung eingereicht haben, können Sie den Status
überprüfen. Dazu melden Sie sich beim Developer Member Center unter der Adresse
http://developer.apple.com/membercenter an. Identifizieren Sie sich mit der in Schritt 1 erstellten
Apple ID. Bei diesem Schritt wird Apple die App prüfen und bei Bedarf Kontakt mit Ihnen bzw.
Ihrer Rechtsabteilung aufnehmen.
4. Lizenzvereinbarung des Unternehmensprogramms akzeptieren. Zum Fortsetzen der Registrierung
müssen Sie den Bestimmungen der Lizenzvereinbarung für dieses Programm zustimmen. Sie können
diese Bestimmungen an dieser Stelle durchlesen und an Ihre Rechtsabteilung weiterleiten.
5. Erwerben des Programms. Sobald Sie dieser Vereinbarung zugestimmt haben, erhalten Sie
Anweisungen, wie Sie die Mitgliedschaft über den Apple Online Store erwerben können. Wenn Sie
lieber eine Bestellung nutzen möchten, kontaktieren Sie Ihren örtlichen Apple Store um festzustellen,
ob Beschaffungsoptionen für institutionelle Kunden verfügbar sind.
6. Aktivieren Sie die Mitgliedschaft. Sie erhalten nach dem Kauf des Programms eine Auftragsbestätigung. Innerhalb von 24 Stunden sollten Sie eine Aktivierungs-E-Mail von Apple erhalten,
die den Code für die Aktivierung Ihrer Mitgliedschaft enthält. Nach erfolgter Aktivierung können
Sie auf alle Programmressourcen zugreifen.
Zusammenstellen Ihres Teams
Überblick: Teamaufbau
Agenten und Administratoren können neue Mitglieder hinzufügen, die
dann als Admin oder Mitglied definiert werden können. Dazu navigieren
sie in den Titel „People“ im Apple Developer Member Center. Navigieren
Sie zum Abschnitt „Invitations“ und klicken Sie auf „Invite Person“, um neue
Mitglieder einzuladen, sich Ihrem Team anzuschließen.
Agent
Admins
Members
Admin Setup and Distribution
Member Setup and Approvals
Development
Distribution Certificate
Development Certificates
Development Certificates
Enterprise Provisioning
Development Provisioning
Development Provisioning
Sobald Ihr Unternehmen beim iOS Entwicklerprogramm für Unternehmen registriert ist, müssen Sie Ihr
Entwicklungsteam im Abschnitt „Team“ des Member Center zusammenstellen.
Aufgabenbereiche und Zuständigkeiten des Teams
Ein Entwicklungsteam setzt sich aus Einzelpersonen zusammen, die die folgenden Aufgabenbereiche
abdecken:
Agent. Der primäre Ansprechpartner für das Entwicklungsteam. Er ist verantwortlich für die Zustimmung zu allen vertraglichen Vereinbarungen des iOS Entwicklerprogramms, außerdem ist er der
Primärbenutzer, der sich beim Programm registriert hat. Er ist auch verantwortlich für die Verwaltung
des Verteilungszertifikats des Unternehmens, das zur Bereitstellung von Apps für die umfassende
Implementierung durch die Benutzer verwendet wird.
Administrator(en). Administratoren verwalten ihre eigenen Entwicklungsteams und -zertifikate. Sie
benötigen die Einschaltung des Agenten bei der Verwaltung der unternehmensweiten Verteilung.
Tipp: Registrieren von Geräten für die Entwicklung
Administratoren können mehrere Geräte-IDs auf einmal eingeben. Dazu
laden sie eine .deviceids Datei, die mit dem iPhone Konfigurationsprogramm
generiert wird. Im iPhone Konfigurationsprogramm wählen Sie die Einheiten
aus, die für den Upload genutzt werden sollen, und klicken auf „Exportieren“.
Damit wird eine .deviceids Datei erstellt.
Besuchen Sie www.apple.com/de/support/iphone/enterprise und laden Sie
das iPhone Konfigurationsprogramm.
Mitglieder. Primäre Entwickler innerhalb der Organisation. Mitglieder erhalten die Genehmigung
von Administratoren zur Bereitstellung von Apps und Geräten für Test- und Entwicklungszwecke. Sie
benötigen die Einschaltung des Agenten bei der Verwaltung der unternehmensweiten Verteilung.
Planung • Design • Entwicklung • Implementierung
9
Lernressourcen
Sobald Sie Ihr Team zusammengestellt haben, besuchen Sie das iOS Dev Center unter der Adresse
http://developer.apple.com/devcenter/ios. Dort finden Sie eine Vielzahl von Ressourcen. Sie können
diese Ressourcen mit Lesezeichen versehen oder sogar als Startseite für alle mit der Entwicklung
in Zusammenhang stehenden Dinge definieren. Hier seien nur einige der erstklassigen Ressourcen
erwähnt, die zur Verfügung stehen.
Foren
Nehmen Sie Kontakt zu anderen Entwicklern auf und tauschen Sie sich über Ideen und
bewährte Verfahren aus. Es ist immer hilfreich, eine Community ähnlich denkender Entwickler
in Reichweite zu haben.
Referenzbibliothek
Enzyklopädie, Lehrbuch und Themenliste in einem. Die Bibliothek ist durchsuchbar, in
Kategorien unterteilt, und sie liefert alle direkten Informationen, die Sie zum Aufbau von
Apps benötigen.
Mustercode
Verwenden Sie diese Muster als Inspiration beim Entwickeln eigener leistungsfähiger Apps.
Sie können sogar den Mustercode kopieren und direkt in Ihr Projekt einsetzen.
„Die Muster auf der Apple Website
erleichtern es definitiv, ein spezifisches
Feature zu sehen, wie etwa als Aufriss
oder in Plänen, oder durch Integration
mit einer lokalen SQL Datenbank.“
– Keith Debickes, JM Family Enterprises, Inc.
Direktlinks
Häufig gestellte Fragen zur Programmregistrierung
http://developer.apple.com/support/ios/enrollment.html
Häufig gestellte Fragen zum iOS Entwicklerprogramm für Unternehmen
http://developer.apple.com/support/ios/enterprise.html
Einführungshandbücher
Wenn Sie neu bei der iOS Entwicklung sind, bieten diese Handbücher Ihrem Team
Erläuterungen zu grundlegenden Konzepten und bewährten Verfahren bei der iOS
Entwicklung.
Ausblick
Wenn Ihr Planungsprozess abgeschlossen ist, prüfen Sie nochmals die Planungs-Checkliste vom
Anfang dieses Kapitels. Wenn Sie alle Schritte durchgeführt haben, können Sie damit rechnen, dass
Sie die Unterstützung des Vorstands, ein engagiertes Team und einen klaren Projektplan zur Hand
haben, an den sich jeder halten kann. Ihr Team wird für die nächste Phase des Prozesses vorbereitet:
Untersuchen der bewährten Verfahren bei Design und Entwicklung sowie Erlangen eines grundlegenden
Verständnisses der Konzepte bei der iOS Entwicklung.
Planung • Design • Entwicklung • Implementierung
10
Design
Aufs Design kommt es an. Das Erstellen einer einfachen App für iPhone oder iPad ist nicht schwierig.
Wirklich erfolgreiche Apps erfordern aber schon ein wenig Arbeit. Was macht die Attraktivität der
erfolgreichsten Apps aus? Sie haben ein attraktives Design und nutzen Farb- und Audiokomponenten
ideal, sie sind einfach zu bedienen und funktionieren, wie sie funktionieren sollen. Sie halten das
Interesse des Benutzers wach und sorgen so dafür, dass dieser immer wieder auf die App zurückgreift.
Wer bei der Entwicklung einer neuen App oder beim Erweitern einer bereits bestehenden App genau
auf Design-Aspekte achtet, kann die Attraktivität steigern, ein lebendigeres Erlebnis für den Benutzer
kreieren und so dafür sorgen, dass das Arbeiten mit der App mehr Spaß macht.
In diesem Kapitel geht es um Strategien, mit denen Sie Ihre Ideen verfeinern, Ihre Design-Optionen
überarbeiten und ein App-Design bestimmen können, das die Benutzer letztendlich produktiver werden
lässt.
Design-Checkliste
Am Ende der Design-Phase müssen die folgenden Ziele erreicht sein:
Lesen der iOS Human Interface Guidelines von Apple
Aufstellen einer knappen Feature-Liste, die sich direkt an Ihrer zentralen
Definition des Programms orientiert
Priorisierung einer Liste von Objekten, Aufgaben und Konzepten und eine
Beschreibung, wie diese Elemente zusammenhängen
Erstellen einer Basisgruppe von Wireframes und groben Entwürfen zur
visuellen Darstellung des App-Fortschritts
Design für die Touch-Steuerung
Das Design einer mausgesteuerten Benutzeroberfläche ist etwas völlig anderes als das Design für die
Touch-Steuerung. Zu Beginn des App-Design-Vorgangs sollte man zunächst verstehen, was die iOS
Geräte so einzigartig macht. Nehmen Sie sich etwas Zeit mit einem iPhone oder iPad und machen Sie
sich mit der Benutzerinteraktion und den Design-Konventionen der Benutzeroberfläche vertraut.
Für die Touch-Interaktion brauchen Sie zunächst einmal mehr Pixel, um eine mit dem Finger auswählbare Taste darzustellen, als dies für die Interaktion per Maus in einer Desktopumgebung der Fall wäre.
Die für einen gewissen Bedienungskomfort notwendige Mindestgröße, die ein UI-Element zum Antippen
haben sollte, beträgt beispielsweise 44 x 44 Punkt. Elemente wie Einblendmenüs oder Rollbalken, wie
man sie vom Desktopcomputer kennt, sind für ein mobiles Gerät auf Touch-Basis nicht sehr gut geeignet.
Lesen der Human Interface Guidelines (HIG)
Die iOS Human Interface Guidelines beschreiben die Prinzipien, die Ihnen helfen werden, eine erstklassige Benutzeroberfläche mit optimalem Nutzungskomfort für Ihre iOS App zu entwerfen. Diese
Prinzipien sind für unternehmensinterne Apps ebenso wichtig wie für die Apps, die für den App Store
produziert werden.
Planung • Design • Entwicklung • Implementierung
„Eine unserer Maßnahmen zur Wahrung der Einheitlichkeit in
unseren Apps ist die Einhaltung der Apple HIG, der „Human
Interface Guidelines“. Diese tragen entscheidend dazu bei, dass
unsere Apps ein wirklich einheitliches Bild abgeben. Wir haben
dabei immer noch eine Menge unterschiedlicher Design-Stile
zur Auswahl, und wir achten auch darauf, dass diese einen „roten
Faden“ gemeinsam haben. Die Einhaltung der HIG ist aber sehr
wichtig für uns.“
– Todd Schofield, Standard Chartered Bank
11
Vereinfachen
In vielen Fällen werden Ihre unternehmenseigenen Apps von einer vorhandenen DesktopProgrammumgebung abgeleitet sein, oder sie basieren auf geschäftsfeldspezifischen Systemen,
auf die Ihre Benutzer angewiesen sind. Hier läuft man schnell Gefahr, jedes einzelne Feature und
jede Funktion des Desktop-Programms in das Mobilgerät übernehmen zu wollen. Auf diese Weise
erzielt man normalerweise gerade nicht das Ergebnis in Sachen Benutzerkomfort, das man auf einem
Mobilgerät erwartet. Bedenken Sie, dass Benutzer ihre Aufgaben auf Mobilgeräten anders erledigen
und dass sich bestimmte Aufgaben aus praktischen Gründen überhaupt nicht für Mobilgeräte eignen.
Kleine und überschaubare Aufgaben eignen sich viel besser für die mobile Umgebung. Gerade deshalb
ist es wichtig, Features stets anhand der Angaben zur Programmdefinition zu filtern, wenn Sie Ihre
App weiter verfeinern möchten. Tipp: „Mundgerechte“ Apps
• Einfache, schnelle und sauber funktionierende
Apps erzeugen eine interne Nachfrage und
minimieren Aufwand und Kosten.
• Auch aus mundgerechten Apps wird ein
komplettes Menü. Die Benutzer erstellen
ihre eigenen „Lösungen“, und das gibt Ihren
Mitarbeitern letztendlich deutlich mehr
Flexibilität.
Hier sind einige Fragen, die Sie sich selbst zu den Elementen der Benutzeroberfläche in Ihrer App stellen
und die zu einem einfacheren Design beitragen könnten:
• Ist es sinnvoll, dieses Element auf dem Display zu haben?
• Bietet das Element Zugriff auf wichtige Funktionen?
• Wird es häufig genutzt? Fast immer?
• Braucht der Benutzer das Element jedes Mal, wenn er eine Auswahl trifft?
• Ist es im Sinne des App-Ablaufs wichtig, das Element jetzt anzuzeigen?
Wenn auch nur eine der Fragen mit Nein beantwortet werden kann, kommen Sie vielleicht auch ohne
das betreffende Element aus. Vielleicht lässt sich die entsprechende Funktionalität auch mit etwas
anderem kombinieren.
iPhone und iPad Benutzer sind das Erscheinungsbild und Verhalten der in diese Geräte integrierten Apps
gewohnt. Es empfiehlt sich nicht, jedes Detail der integrierten Apps nachzuahmen, es ist jedoch hilfreich,
die Design-Muster, denen sie folgen, besser zu verstehen. Überlegen Sie auch, wie sich diese Muster in
ein einfaches, funktionales und bedienerfreundliches Design für Ihre eigenen Apps übersetzen lassen.
Untersuchen Sie diese Apps auf gemeinsame Steuerelemente, Touch-Ereignisse (z. B. Auf-/Zuziehen und
Vergrößern/Verkleinern) und Animationen. Überlegen Sie dann, wie Sie diese Konzepte in einheitlicher
Weise auf Ihre eigene App anwenden könnten.
Planung • Design • Entwicklung • Implementierung
„Es entspricht unserer Philosophie,
unsere internen Apps genauso
elegant und ästhetisch zu gestalten
wie die jeweils beste entsprechende
kommerzielle App. Als wir das Design
der Benutzeroberfläche in Angriff
nahmen, ging es uns nicht bloß um
das funktionelle Lösen des Problems,
die Lösung sollte perfekt sein und
ansprechend aussehen.“
– Mark McWilliams, Razorfish
12
Prioritäten setzen
Wenn eine iOS App auf ihre primäre Aufgabe fokussiert ist und bleibt, ist auch ihre Nutzung ergiebig
und macht Spaß. Jeder Aspekt Ihrer App sollte zweckgerichtet feinjustiert sein. Das Erstellen einer
Liste mit Objekten, Aufgaben und Konzepten – und das anschließende Sortieren dieser Elemente nach
Relevanz bezogen auf den primären Sinn und Zweck Ihrer App – hilft Ihnen, eine wohlorganisierte und
zielgerichtete Benutzeroberfläche anbieten zu können. Dieser Schritt hilft Ihnen auch, den Arbeitsablauf
oder Prozess der Interaktion mit der App zu überdenken, was wiederum zu besseren Entscheidungen
über das Design der Benutzeroberfläche führen wird.
Bestand an Objekten, Aufgaben und Konzepten
Tipp: Retina Display
Das Retina Display des iPhone 4 oder neuerer Modelle
ermöglicht das Anzeigen hochauflösender Versionen
Ihrer Designs und Symbole. Wenn Sie Ihre vorhandenen
Designs einfach nur vergrößern, verpassen Sie die
Chance, wirklich ansprechende und ästhetische Bilder
zu liefern, wie sie die Benutzer erwarten. Überarbeiten
Sie stattdessen Ihre vorhandenen Bildressourcen und erstellen Sie auf diese
Weise nicht nur größere, sondern auch qualitativ bessere Versionen mit reichhaltigerer Textur und hoher Detailgenauigkeit und Wirklichkeitstreue.
• Objekte. Dies sind die primären funktionalen Elemente Ihrer App. In einer Kalender-App wären dies z. B.
Tage, Monate, Termine und Erinnerungen.
• Aufgaben. Dies sind Aktionen, die üblicherweise an Objekten ausgeführt werden, z. B. Filterung,
Terminierung, Bearbeitung und Erstellung.
• Konzepte. Dies sind Arbeitsabläufe oder in manchen Fällen auch eine Reihe zusammengehöriger
Aufgaben, die ein größeres Konzept bilden. In unserem Beispiel mit dem Kalender könnte man das
Durchsuchen als Konzept bezeichnen, da es mehrere Teilaufgaben umfasst.
Objects
Calendars
Tasks
Scheduling
Concepts
Searching
Days
Create
Search
Weeks
Edit
Filter
Months
Search
Appointments
Reminders
Sobald Sie diese Listen erstellt haben, werden Sie feststellen, dass die Elemente innerhalb der einzelnen
Kategorien miteinander zusammenhängen. Dies hilft Ihnen, zusammengehörige Objekte, Aufgaben und
Konzepte zu hierarchisch geordneten Gruppen zusammenfassen, was wiederum die Darstellung dieser
Elemente für den Benutzer vereinfachen sollte.
Planung • Design • Entwicklung • Implementierung
13
Denken Sie von oben nach unten
Bringen Sie die am häufigsten genutzten (in der Regel auch höherwertigen) Elemente möglichst weit
nach Oben im Bildschirm – dort sind sie am besten zu sehen und am einfachsten zu erreichen. Wenn der
Blick des Benutzers auf dem Bildschirm weiter nach unten wandert, sollten die Elemente nach folgenden
Kriterien von oben nach unten geordnet sein:
• Nutzungshäufigkeit: Die am häufigsten verwendeten Elemente weiter nach oben, die seltener genutzten
entsprechend nach unten.
• Priorität für den Benutzer: Wichtigere Elemente müssen weiter oben stehen.
• Visuelle Hervorhebung: Elemente, die in Ihrem Design prominent platziert sein sollen, müssen weiter
oben stehen.
Das gleiche Prinzip gilt auch für die Informationen in Ihrer App. Weiter oben sollte das allgemeinere
Material zu finden sein, je weiter unten, desto spezifischer.
Optimieren
Gutes Design ist ein Prozess mit mehreren Durchläufen. Je intensiver Sie schon in der frühen Prozessphase (d. h. bevor Sie eine Zeile Code schreiben) ihre Design-Konzepte für die Oberfläche durchspielen,
desto besser wird das Ergebnis am Ende werden.
Tipp: Skizzieren Ihrer App
Greifen Sie zu Papier und
Stift. Oft lässt sich eine
Design-Vision am besten
durch grobe Skizzen in der
Anfangsphase des DesignProzesses artikulieren. Diese
Skizzen helfen Ihnen, das
Design zu modifizieren
und zu verfeinern, ohne
dass Kosten für die
Codeentwicklung anfallen.
Praktische Vorlagen, die Ihnen helfen, schnell brauchbare und ansehnliche
Skizzen zu Papier zu bringen, sind auch online erhältlich.
Nutzen Sie eine App. Es gibt auch Apps im App Store, z. B. iMockup und
App Layout, die Ihnen helfen, mithilfe standardmäßiger Steuerelemente und
Ansichten Benutzeroberflächen für iOS zu modellieren.
Wichtig ist auch, Ihr Design stets mit Blick auf die Nutzerzielgruppe und das Gerät, für das es vorgesehen ist, zu optimieren. In guten Apps werden die Konzepte der Benutzerinteraktion, die je nach
Eigenschaften des jeweiligen Geräts variieren werden, optimal umgesetzt. Beim Optimieren Ihrer App
geht es in erster Linie um das Verfeinern und Durchspielen dieser Konzepte, damit das Endergebnis die
Benutzer ansprechen wird.
Wiederholen
Bevor Sie mit dem erfolgreichen Schreiben einer App beginnen können, benötigen Sie eine ganze Reihe
von Entwürfen. Sie beginnen am besten mit einigen groben Skizzen und verfeinern diese Ideen nach
und nach. Hier werden Sie in jedem Durchgang mehr darüber herausfinden, wie die Interaktion des
Benutzers mit der App aussehen könnte, und es werden Ihnen neue Ideen einfallen, die einbezogen
werden könnten – dabei haben Sie bisher weder Zeit noch Geld noch Ressourcen in die eigentliche
Entwicklung stecken müssen. Erwägen Sie, den kompletten Ablauf der App aufzuzeichnen oder zu
skizzieren. So bekommen Sie ein umfassendes Gefühl für das, was der Benutzer der App vorfinden wird,
und auch für die Funktionalität, die Ihr Design bereitstellt.
Planung • Design • Entwicklung • Implementierung
14
iPad im Vergleich zum iPhone
Wenn Sie eine App entwickeln wollen, die auf iPhone und iPad läuft, müssen Sie Ihr Design an jedes
Gerät individuell anpassen. Zwar sind die meisten Elemente der Benutzeroberfläche auf beiden
Gerätetypen verfügbar, das Layout insgesamt unterscheidet sich jedoch erheblich. So erwarten die
Benutzer z. B. sicher mehr Grafikmaterial in hoher Wiedergabetreue bei iPad Apps als bei Apps auf dem
iPhone. Das simple Vergrößern einer iPhone App, damit sie den Platz auf dem iPad Display ausfüllt,
ist jedenfalls nicht zu empfehlen. Vielmehr muss Ihre iPad App den Benutzer so ansprechen, dass das
größere Display und die damit verbundenen Möglichkeiten optimal genutzt werden. Bedenken Sie auch,
dass das iPhone 4 und neuere Modelle dank des Retina Displays Grafik in höherer Auflösung unterstützt,
was eine Verdopplung der Grafikauflösung erforderlich macht. Auch bei den verfügbaren Gesten und
der Verarbeitung der Rotation gibt es Unterschiede. Diese Geräte unterstützen auch unterschiedliche
Elemente auf der Benutzeroberfläche. So werden z. B. Popover-Steuerelemente oder Steuerelemente mit
geteilter Ansicht nur auf dem iPad unterstützt.
„Das iPad verschaffte uns definitiv mehr Fläche, die wir möglichst
sinnvoll nutzen wollten. Das war für uns der wichtigste Aspekt. Wir
wollten nicht bloß alles dreifach vergrößert haben, mit entsprechend
mehr Pixeln. Wir wollten sichergehen, dass wir den verfügbaren
Platz optimal nutzen. Wenn wir eine App vom iPhone auf das iPad
übertragen, denken wir das Ganze noch einmal neu durch. Rund
60 Prozent der Kernfunktionen bleiben unverändert, aber was
können wir sonst noch machen? Wie können wir die Nutzung weiter
verbessern, wie dafür sorgen, dass man mit weniger Klicks oder
weniger Screens dahin gelangt, wo man hin will?“
– James Blomberg, General Electric
Universal Apps
Das iOS SDK unterstützt die Entwicklung von Universal-Programmen. Eine Universal App ist für die
Ausführung auf allen iOS Geräten optimiert. Im Wesentlichen handelt es sich dabei um eine iPhone App
und eine iPad App, die als einzelnes Binärprogramm geschrieben wurde.
Eine Universal App kann feststellen, auf welchem Gerät sie läuft, und die optimale Benutzeroberfläche für
das jeweilige Gerät bereitstellen. Gut designte Universal Apps nutzen die spezifischen Hardwarefeatures
des Geräts, bieten die passende Auswahl an Elementen auf der Benutzeroberfläche und nutzen nur
jeweils die Funktionalität, die vom Gerät auch tatsächlich unterstützt wird.
Beim Design einer Universal App für iOS ist es wichtig zu überlegen, wie die Benutzerinteraktion vom
zugrunde liegenden Programmcode separat gehalten werden kann. Die Klassen und APIs des iOS SDK
nutzen ein MVC-Paradigma (Model-View-Controller), das eine klare Trennung zwischen App-Daten
und App-Logik einerseits und den Ansichten vorsieht, in denen diese Daten dem Benutzer präsentiert
werden. Das Aufbauen einer Benutzeroberfläche mithilfe des Interface Builder verschafft Ihrem Projekt
beispielsweise genau diese Flexibilität (siehe dazu das nächste Kapitel).
Der erste Schritt beim Erstellen einer Universal App besteht im Anlegen eines Benutzeroberflächendesigns für jeden einzelnen Formfaktor – ein Design für das iPad und ein weiteres für iPhone/iPod
touch. Ihr Design wird in hohem Maße von den Features abhängen, die Sie in den unterschiedlichen
Formfaktoren anbieten möchten. Überlegen Sie, inwiefern die Benutzer Geräteausrichtung oder Gesten
gerätespezifisch unterschiedlich nutzen könnten. Berücksichtigen Sie die Hardwaremöglichkeiten
der einzelnen Geräte, etwa die Kamera. Unterschiede in der Nutzungsweise sollten Ihnen Schlussfolgerungen bezüglich des einheitlichen Designs für jedes Gerät und auch darüber ermöglichen,
wo ggf. Konditionalcodierung erforderlich werden könnte.
Planung • Design • Entwicklung • Implementierung
15
Bedienungshilfen
In einer Unternehmensumgebung ist es wichtig, allen Benutzern einen gleichwertigen Zugang zu
Mobilgeräten und Mobiltechnologie zu ermöglichen. iOS enthält zahlreiche vorinstallierte Features,
die dafür sorgen, dass ein Gerät für jeden Benutzer zugänglich und leicht zu bedienen ist. Genauso
wichtig ist es daher, Ihre hauseigenen Apps mit Blick auf die Bedienungshilfen zu optimieren, damit
auch Benutzer mit Einschränkungen (Sehkraft, Gehör oder motorische Behinderung) die App möglichst
uneingeschränkt nutzen und genießen können.
iOS bietet die Programmierschnittstelle „UI Accessibility“, eine kompakte API, die dafür sorgt, dass
eine App alle Informationen liefern kann, die VoiceOver braucht, um die Oberfläche zu beschreiben,
sodass auch Menschen mit Sehbehinderung die App verwenden können. Die Programmierschnittstelle
„UI Accessibility“ ermöglicht das Hinzufügen einer dünnen Funktionalitätsschicht, die weder das
Erscheinungsbild der App beeinträchtigt noch mit deren zentraler Logik kollidiert. Das bedeutet, dass
Ihnen bei Verwendung standardmäßiger Steuerelemente und Ansichten bereits viel von der Arbeit
abgenommen wird, die es braucht, um eine App uneingeschränkt zugänglich zu machen. Je nach
Umfang der Anpassung in Ihrer App beschränkt sich das Herstellen uneingeschränkter Zugänglichkeit
vielleicht schon auf das Bereitstellen präziser und nützlicher Beschreibungen der jeweils zugänglichen
Elemente auf der Benutzeroberfläche.
Das iOS SDK bietet außerdem die folgenden Werkzeuge, mit denen Sie die Zugänglichkeit Ihrer Apps
gewährleisten können:
Tipp: Integrieren der VoiceOver Unterstützung
Es ist in jedem Fall vernünftig, Ihre
iOS App auch für Benutzer von
VoiceOver zugänglich zu machen.
Dies dient auch der Einhaltung der
Richtlinien für Bedienungshilfen,
die von verschiedenen Behörden
ausgearbeitet wurden.
Wenn Sie sicherstellen möchten,
dass VoiceOver Benutzer Ihre App
verwenden können, brauchen Sie dazu
das visuelle Design Ihrer Oberfläche in
keiner Weise zu verändern. Solange Sie mit Standardelementen arbeiten, wird
– wenn überhaupt – nur geringer zusätzlicher Aufwand notwendig werden.
Sie müssen jedoch ggf. einige beschreibende Informationen zu den
Ansichten und Steuerelementen auf der Benutzeroberfläche liefern. Je
individueller Ihre Benutzeroberfläche gestaltet ist, desto mehr eigene
Informationen müssen Sie bereitstellen, damit VoiceOver in der Lage ist,
Ihre App präzise zu beschreiben.
• Ein Interface Builder Informationsfenster, mit dessen Hilfe Sie beim Entwerfen von nib-Dateien auf
einfache Weise beschreibende Informationen als Bedienungshilfen bereitstellen können
• Informationsfenster „Bedienungshilfen“, das die Informationen über Bedienungshilfen eingebettet
in die Benutzeroberfläche der App anbietet. Dieses Fenster ermöglicht Ihnen auch das Prüfen dieser
Informationen, wenn Sie die App im iOS Simulator ausführen.
Überdies können Sie die Bedienungshilfen der App auch mit VoiceOver selbst unmittelbar testen.
Ausblick
Mit einer Grundlage bewährter Verfahren beim Design einer Benutzeroberfläche sind Sie nun bereit,
in die Entwicklungsphase Ihres Projekts einzusteigen. Wie Sie aus dem Kapitel zur Planung vielleicht
noch wissen, ist das Design ein iterativer Prozess, der den gesamten Lebenszyklus der App-Entwicklung
durchzieht. Das Erstellen eines guten Designs, das den Schwerpunkt auf die Benutzerfreundlichkeit
legt, sollte als bewusste Strategie verfolgt werden, selbst wenn Ihr Entwicklungsteam bereits mit dem
Schreiben von Code begonnen hat. Die Werkzeuge und Konzepte, die im folgenden Kapitel behandelt
werden, helfen Ihnen genau hierbei: Entwickeln zuverlässigen Codes und gleichzeitig Bereitstellung
sauber entworfener Apps für Ihre Benutzer.
Planung • Design • Entwicklung • Implementierung
16
Entwicklung
Mit iOS können Sie Inhalte und Informationen auf einfachen und dennoch leistungsstarken neuen
Wegen bereitstellen, damit Ihre Mitarbeiter noch produktiver werden können. Mithilfe des iOS SDK
erstellt Ihr Entwicklungsteam Apps mit den gleichen Werkzeugen, mit denen auch Apple Techniker das
Betriebssystem und die Apps produzieren, die in jedem iPhone und iPad enthalten sind. So können Sie
Apps erstellen, die die Anforderungen Ihrer Benutzer in Sachen Optik, Feeling und Ansprechverhalten
elegant und höchst effizient erfüllen.
Durch den Einsatz der iOS Tools können Sie die hochwertigen Frameworks nutzen, die Ihnen alle
Vorteile der Plattform an die Hand geben. Wir untersuchen hier die wesentlichen APIs für die
hauseigene Entwicklung. Daraus erwachsen dann Ihre Ideen zur Integration dieser Fähigkeiten und
Funktionen in Ihre Apps. Wir gehen auch darauf ein, wie Sie durch Nutzung von HTML5, CSS und
JavaScript von Webtechnologien profitieren können. Bei Einbettung geeigneter Sicherheitsfeatures in
Ihre Lösung bilden diese Technologien zusammen eine leistungsstarke und sichere Grundlage, die Ihre
unternehmerischen Erfordernisse unterstützt.
Checkliste für die Entwicklung
Am Ende der Entwicklungsphase sollten die folgenden Komponenten
grundsätzlich verstanden worden sein:
iOS SDK Tools einschließlich Xcode, Interface Builder, Instruments
und Simulator
Die wichtigsten APIs und Frameworks für die unternehmenseigene
Entwicklung
Entwicklung von Webapps
iOS Architektur für den Datenzugriff in Back-Office-Systemen
Bewährte Verfahren der Sicherung hauseigener Apps
Testen, Fehleranalyse und Leistungsbewertung Ihrer App
Und schließlich sollten Sie, bevor Sie Ihre App für den Einsatz durch die Benutzer freigeben, noch eine
ausführliche Test- und Fehlerkorrekturphase einplanen. Außerdem sollten Sie die Leistung der App auf
unterschiedlichen Geräten überprüfen und beurteilen. Wir sprechen darüber, wie iOS Tools Ihnen bei
der Durchführung dieser Aufgaben helfen, und wir schlagen bewährte Verfahren vor, um sicherzustellen,
dass Ihre Apps auch wirklich genau wie vorgesehen funktionieren.
Native Entwicklung
Hinsichtlich der hausinternen Entwicklung dreht sich alles darum, Ihre Vision von einem App-Design
in die Wirklichkeit umzusetzen, unter optimaler Nutzung der Möglichkeiten, die das Gerät bietet, und
all dies in einer gut strukturierten und effizienten Umgebung. Das iOS SDK enthält Xcode, die IDE für
Codierung, Aufbau und Debugging Ihrer App; Interface Builder zum Erstellen der Benutzeroberfläche;
Instruments zur Analyse von Verhalten und Leistung und dazu Dutzende weiterer Werkzeuge.
„Mein Team hat die Erfahrung gemacht, dass SDK und Xcode
fantastische Programmierwerkzeuge sind, die auch von Entwicklern
ohne Mac Hintergrund sehr leicht bedient werden können.“
– Hans-Christian Pahlig, Axel Springer
Xcode ist das Herz Ihrer Entwicklungsumgebung. Xcode bietet Codekomplettierung,
Statikanalyse in Echtzeit und unmittelbares Debugging auf dem Gerät selbst.
Interface Builder macht das Erstellen eines Prototyps Ihrer App ganz einfach. Durch Bewegen
von Elementen können Sie eine vollwertige Benutzeroberfläche erzeugen, ohne irgendwelchen
Code schreiben zu müssen. Bei Xcode 4 ist Interface Builder direkt in die Xcode IDE integriert.
Instruments erfasst und präsentiert Daten wie Festplatten-, Arbeitsspeicher- oder CPUAuslastung in Echtzeit. So lassen sich Problembereiche einfach lokalisieren. Der Simulator führt Ihre App weitgehend genauso aus wie ein iOS Gerät. Sie können damit
Ihren Code direkt von der Desktop-Umgebung aus überprüfen und testen.
Planung • Design • Entwicklung • Implementierung
17
Wichtige APIs für firmeneigene Entwickler
Das iOS SDK bietet Tools, mit denen Sie praktisch jede App-Funktion schreiben können, die Ihnen in den
Sinn kommt. Viele dieser Tools enthalten auch Mustercode und Ressourcen, mit denen Sie gleich richtig
loslegen können. Sehen wir uns nun einige der vielen Tausend APIs an, die es im iOS SDK gibt. Schon
ein kurzer Blick kann Ihre Phantasie beflügeln, wenn Sie die unbegrenzten Möglichkeiten sehen, die Sie
mühelos in ihre hausinternen produzierten Apps einbauen können. Multitasking. Entwickler haben Zugang zu sieben Multitasking-Diensten, die das Ausführen
von Aufgaben im Hintergrund ermöglichen, ohne nachteiligen Einfluss auf Leistung oder
Batterielebensdauer. Diese enthalten Funktionen wie VoIP (Voice over IP), HintergrundAudio, Hintergrund-Standortdienste, Push- und lokale Benachrichtigungen, Abschließen von
Aufgaben und das schnelle Wechseln zwischen Apps.
Push-Benachrichtigung. Der Push-Benachrichtigungsdienst von Apple bietet die Möglichkeit,
Ihre Benutzern über neue Informationen in Kenntnis zu setzen, selbst wenn die App gerade
nicht aktiv ist. Senden Sie Textnachrichten, lösen Sie akustische Warnsignale aus oder fügen Sie
eine nummerierte Markierung zu Ihrem App-Symbol hinzu.
Zubehör. Programme können mit Zubehörgeräten entweder über den 30-poligen Dock
Connector oder kabellos via Bluetooth kommunizieren. Erstellen Sie eine App, die Daten
von externen Sensoren abruft oder sogar Zubehörgeräte über eine ausgereifte Multi-Touch
Oberfläche steuert. Erstellen Sie eine Inventar-App für Ihr Barcode-Lesegerät. Oder bauen
Sie eine App, die die Werte von einem angeschlossenen Pulsmessgerät protokolliert und
zurückverfolgt. Sie können auch eigene Protokolle erstellen, um Daten und Befehle mit Ihrer
App auszutauschen. Wenn Sie wissen möchten, wie Sie Support für Ihre iOS Apps in Ihren
Zubehörbestand aufnehmen können, erfahren Sie mehr über das MFi Lizenzierungsprogramm
unter der Adresse http://developer.apple.com/programs/mfi.
Xcode ist der zentrale Punkt ihrer Entwicklungsumgebung. Er stellt
Codevervollständigung, Statikanalyse in Echtzeit und sofortige Fehlersuche
auf dem Gerät bereit.
Standortbasierte Dienste. Mit dem Core Location Framework können Sie die aktuellen
geografischen Koordinaten (Breiten- und Längengrad) eines Geräts bestimmen und die
Bereitstellung standortbasierter Ereignisse konfigurieren und terminieren. Das Framework
nutzt die verfügbare Hardware zur Triangulierung der Benutzerposition auf der Basis in der
Nähe befindlicher Signaldaten. iOS 4 und neuer verbessert die Kartierung durch die
MapKit API. MapKit bietet Unterstützung für Schwenken und Ein-/Auszoomen, eigene
Anmerkungen, Anzeige der aktuellen Position sowie Geocodierung zum Hervorheben von
Regionen auf der Karte und Anzeige zusätzlicher Informationen.
Planung • Design • Entwicklung • Implementierung
18
Integration freigegebener Daten. iOS bietet leistungsstarke Konnektivitätsoptionen für die
App-übergreifende Nutzung von Informationen. Mithilfe einer URL-basierten Syntax können
Sie auf Daten aus dem Web zugreifen sowie Aktionen in anderen installierten Apps auslösen,
z. B. Mail, Kalender, Kontakte und mehr. Ihre eigene App kann auch ein eindeutiges URL-Schema
deklarieren, das es jedem anderen Programm ermöglicht, Ihre App zu starten.
• Mail. iOS ermöglicht Ihnen das Anzeigen einer Standardoberfläche für die Erstellung von Mail
oder SMS innerhalb Ihrer App. In beiden Fällen können Sie die Nachricht mit Empfängern und
Inhalt programmatisch vorkonfigurieren. Diese Vorgaben kann der Benutzer vor dem Absenden
der Nachricht bearbeiten. Ausgehende Mail- und SMS-Nachrichten werden automatisch von
den Mail- und Nachrichtenlisten des Systems verarbeitet. • Kontakte. Mit Adressbuch-APIs für freigegebene Daten kann Ihre App einen neuen Kontakt
erstellen oder vorhandene Kontaktinfos abrufen. Durch den Zugriff auf die integrierte Kontaktliste kann Ihre App einem Benutzer ermöglichen, eine Kontakt- oder Geschäftsadresse einer
Programmaufgabe oder einem Prozess zuzuordnen.
• Kalender. Das Event Kit ermöglicht iOS Apps den Zugriff auf Ereignisinformationen aus der
Kalenderdatenbank eines Benutzers. Rufen Sie Ereignisse auf der Basis eines Datumsbereichs oder einer eindeutigen Kennung ab, empfangen Sie Benachrichtigungen, wenn
sich Ereignisdaten ändern, und ermöglichen Sie Benutzern das Erstellen und Bearbeiten
von Ereignissen für beliebige ihrer Kalender. Änderungen an Ereignissen in der Kalenderdatenbank eines Benutzers werden automatisch mit dem entsprechenden Kalender synchronisiert, einschließlich geschäftlicher Kalender, die auf CalDAV und Exchange Servern
bereitgestellt werden.
Interface Builder ist direkt in die Xcode 4 IDE integriert und macht damit die
Erstellung eines Prototyps Ihrer App ganz einfach. Durch Bewegen von Elementen
können Sie eine vollwertige Benutzeroberfläche erzeugen, ohne irgendwelchen
Code schreiben zu müssen.
• Fotos. UIKit bietet Zugriff auf das Fotoarchiv des Benutzers. Die Oberfläche zur Fotoauswahl bietet Steuerelemente zum Navigieren im Fotoarchiv des Benutzers und zum
Auswählen eines Bilds, das an Ihre App zurückgegeben werden soll. Sie haben auch die
Möglichkeit, Steuerelemente für den Benutzer zu aktivieren. Dann kann der Benutzer das
zurückgegebene Bild in der Anzeige schwenken und beschneiden. Auch eine Schnittstelle
zur Kamera kann damit bereitgestellt werden, sodass neu aufgenommene Fotos direkt in
Ihre App übernommen werden können.
Core Animation
Audio und Videos. Multimedia-Technologien im iOS SDK ermöglichen das Implementieren
ausgereifter Audio- und Videofunktionalität innerhalb Ihrer App. Das Media Player Framework
unterstützt die Wiederabe von Videodateien im Vollbildmodus, und die integrierte Unterstützung des HTTP-Live-Streaming sorgt dafür, dass Standard-Webserver problemlos zur
drahtlosen Übertragung von Audio- und Videoinhalten in hoher Qualität genutzt werden
können. Ihre App kann auch Core Audio dazu nutzen, Audiomaterial in Ihrer App zu generieren,
aufzunehmen, zu mischen, zu verarbeiten und abzuspielen. Mit Core Animation können Sie
fließende Animation und dynamisches Feedback zu Ihrer Benutzeroberfläche hinzufügen.
Oder nutzen Sie OpenGL ES für leistungsstarke 2D- und 3D-Grafik.
Planung • Design • Entwicklung • Implementierung
19
Webentwicklung
Webapps – eine völlig neue Kategorie mobiler Programme – eröffnen eine Fülle ganz neuer
Möglichkeiten für Unternehmen. Webapps sind maßgeschneiderte Webseiten, die die Vorzüge von
erweitertem HTML, CCS und JavaScript nutzen, um iOS Benutzern eine intuitive und ansprechende
Handhabung von Apps zu ermöglichen. Und da Sie Apps mithilfe von HTML erstellen, können Sie
Webapps in jeder beliebigen Web-Entwicklungsumgebung erzeugen. Sie müssen dazu lediglich eine
Webseite zur Implementierung einer Webapp bereitstellen, und Sie können Ihre Änderungen und
Updates von dem Server aus verwalten, auf dem diese Seite gespeichert ist. Sehen wir uns nun kurz
die Technologien an, mit denen Sie Webapps für iOS Geräte erstellen können.
HTML5 ist die neueste Spezifikation von HTML, dem primären Standard, der die Interaktion
von Webinhalten mit modernen Browsern definiert. HTML5 ermöglicht es Entwicklern,
Multimediainhalte direkt in standardmäßige Webseiten zu integrieren. Das verkürzt die
Entwicklungszeit und sorgt für ein hohes Maß an Interaktivität zur Erstellung von Webapps.
CSS3 Animationen und visuelle Effekte ermöglichen das Erstellen ausgereifter grafischer
Benutzeroberflächen für Webapps. Die verfügbaren visuellen Effekte reichen von Verläufen,
Masken und Reflexionen bis hin zu komplexeren 2D- und 3D-Effekten. Durch Kombinieren
dieser visuellen Effekte mit Touch-Events können Sie Webapps erstellen, die ganz ähnlich wie
native Apps auf dem iPhone und iPad interagieren.
WebKit ist eine Open Source Engine für Webbrowser. Das Webkit betreibt Safari auf iPhone
und iPad und vereinfacht damit die Webentwicklung und beschleunigt die Innovation. Als
Open Source Toolset steht das WebKit für jeden kostenlos zur Nutzung bereit und bietet die
HTML-Engine für Webapps auf iPhone und iPad.
Dashcode ist im iOS SDK enthalten. Die integrierte Umgebung ermöglicht das Entwerfen,
Codieren und sogar das Testen von Webapps. Dashcode bietet auch praktische Vorlagen, mit
denen Sie Ihre Webapp zum Leben erwecken können. Safari 5 für Mac und Windows umfasst eine leistungsstarke Gruppe von Werkzeugen für
einfaches Testen, Korrigieren und Optimieren von Webapps für erstklassige Leistung und
Kompatibilität. Für den Zugriff darauf aktivieren Sie das Menü „Entwickler“ in den Safari
Einstellungen auf Ihrem Mac oder PC.
Planung • Design • Entwicklung • Implementierung
Der Simulator führt die App ganz ähnlich aus wie ein richtiges iOS Gerät. Sie können
also Ihren Code direkt auf Ihrer Desktop-Umgebung überprüfen und testen. Und da
der Simulator auch den Safari Browser für iOS enthält, können Sie auch Ihre Webapps
vor deren Bereitstellung überprüfen und testen.
„Eines der Dinge, die wir im SDK machen können, ist das schnelle
Vornehmen von Änderungen direkt im SDK. Das geht ganz
schnell auf dem Display, und anschließend lässt sich mit dem
Simulator das Ergebnis praktisch sofort anzeigen. Für uns heißt
das einfach, dass wir direktes Feedback liefern können.“
– Todd Schofield, Standard Chartered Bank
20
Integrieren von Webinhalten in native Apps Mit dem iOS SDK können Sie auch Zugriff auf Webinhalte innerhalb einer iOS App über ein Element
namens „Webansicht“ bereitstellen. Auf diese Weise erhalten Ihre Web-Programme Zugriff auf iOS Features
wie Push-Benachrichtigungen, die eingebaute Kamera, Erkennen von 3D Animation und mehr. Zusätzlich
können Sie auch neue Verbesserungen in Ihre App implementieren, die Anpassungen an Ihrem Webserver
vornehmen, ohne dass die App als solche neu implementiert werden muss. Die Nutzung von Webinhalten
in Ihrer nativen App ist ein weiterer ausgezeichneter Weg, die native Entwicklung zu verbessern, ohne dass
bestehende Investitionen in die Web-Entwicklung zurückgefahren oder ganz gestrichen werden müssten.
Zugriff auf Back-Office-Systeme
„Wir mussten einen Weg finden, Updates
und Änderungen möglichst schnell zu
bewerkstelligen, deswegen entschieden
wir uns für eine Hybridstrategie. Das
bedeutet: Native UI-Elemente direkt auf
dem Mobiltelefon und der Rest waren
einfach nur Webseiten.“
– Giancarlo De Lio, Mt. Sinai Hospital
In vielen Fällen wird Ihre Firmen-App Informationen aus vorhandenen Back-Office-Systemen und DataWarehouses beziehen müssen. Das Bereitstellen einer optimalen Benutzerumgebung auf dem Client hat
höchste Priorität für jede erfolgreiche mobile App. Der gleiche Blick fürs Detail und für die Architektur
ist aber auch gefragt, wenn es darum geht, die Client-Umgebung mit Daten von Back-End-Servern
zu integrieren. Das iOS SDK besitzt eine leistungsstarke Sammlung von Werkzeugen und Frameworks
für den Zugriff auf und die Speicherung und Freigabe von Daten, die sich auf Daten-Servern des
Unternehmens befinden.
Webdienste
Mit dem iOS SDK können Sie XML-Daten dazu nutzen, zwischen Ihrem Client-Programm und dem Server
zu kommunizieren. XML-Dateien bieten ein kompaktes und strukturiertes Format, mit dem Ihre App
mühelos Daten schreiben und lesen und diese direkt in das iOS Dateisystem integrieren kann. Wenn Sie mit
SOAP arbeiten, können Sie eigene Datentransaktionen erstellen und analysieren oder auch Bibliotheken
anderer Anbieter wie gSOAP oder Axis2 verwenden. Bei Implementierung von REST können Sie XML direkt
in Ihre App integrieren und damit mehr Leistung bereitstellen. Viele iOS Apps nutzen außerdem JSON für
den kompakten Datenaustausch sowie Bibliotheken anderer Anbieter wie das JSON Framework.
Tipp: Webansicht
Zur Integration von Webinhalten nehmen Sie einfach ein UIWebView Objekt
in ihre native App auf, verknüpfen dieses mit einem Fenster und senden
eine Anforderung zum Laden des gewünschten Webinhalts an das Objekt.
Sie können auch den Verlauf von Webseiten in beiden zeitlichen Richtungen
untersuchen, und Sie können sogar einige Eigenschaften von Webinhalten
programmatisch festlegen.
Vernetzung
iOS bietet eine Reihe moderner, ausgereifter und einfach zu bedienender Netzwerktechnologien. BSD
Sockets ist die grundlegende iOS Netzwerkprogrammierschnittstelle; alle hochwertigen Frameworks
basieren darauf. Es ist die richtige Wahl für maximale Leistung und Flexibilität. Da BSD de facto den
Standard in der UNIX-Netzwerkprogrammierung darstellt, ist es in der Regel einfach, Netzwerkcode aus
anderen Plattformen zu portieren.
Bonjour ist das leistungsstarke Protokoll von Apple, mit dem man auf einfache Weise Systeme und
Dienste in einem lokalen Netzwerk automatisch finden kann – ohne umständliche Konfiguration. Ihre App
hat Zugriff auf diese Features über hochwertige Frameworks, mit denen es ganz einfach ist, Informationen,
die irgendwo in der Welt vorliegen, anzusteuern, zu rendern oder mit diesen in Interaktion zu treten.
Planung • Design • Entwicklung • Implementierung
21
Lokale Speicherung
iOS stellt Core Data und SQLite bereit, damit Ihre App die auf dem Gerät selbst gespeicherten Daten
verwalten und mit diesen in Interaktion treten kann.
• Core Data. Das Core Data Framework umfasst generalisierte und automatisierte Lösungen für gängige
Aufgaben im Zusammenhang mit der Verwaltung der Lebensdauer und der grafischen Darstellung von
Objekten, einschließlich der Objektpersistenz. Core Data bietet eine allgemeine Datenverwaltungslösung
für die datenmodellspezifischen Erfordernisse von Programmen jeder Art und Größe. Sie können das
Datenmodell Ihrer Apps rasch grafisch definieren und über Ihren Code auf einfache Weise darauf
zugreifen. Es stellt eine Infrastruktur zur Verarbeitung gängiger Funktionalität bereit, z. B. Sichern,
Wiederherstellen, Widerrufen und Wiederholen. So kommen Sie besser mit der Aufgabe voran,
Innovationen in Ihre App zu integrieren. Da Core Data die integrierte SQLite Datenbibliothek verwendet,
brauchen Sie gar kein separates Datenbanksystem zu installieren.
• SQLite. iOS enthält die beliebte SQLite Bibliothek, eine ebenso kompakte wie leistungsstarke relationale
Datenbank-Engine, die sich einfach in eine App einbetten lässt. SQLite wird in zahllosen Apps auf den
verschiedensten Plattformen genutzt und gilt de facto als Industriestandard für kompakte eingebettete
SQL-Datenbankprogrammierung. Anders als objektorientierte Core Data Frameworks verwendet SQLite
eine prozedurale, SQL-fokussierte API zum direkten Bearbeiten der Datentabellen. Sie können SQLite
sogar in einer Webapp nutzen, die JavaScript verwendet.
Beispiel: Zentrale Webdienste
Eine hervorragende Möglichkeit, die Back-End-Entwicklung zu vereinfachen,
besteht in zentral verwalteten Web diensten, besonders wenn Ihre App mit
mehreren unterschiedlichen Backoffice-Systemen kommunizieren soll. So
nutzte Sunbelt Rentals beispielsweise .Net-Anwendungsserver zum Schreiben
von Scripts, die gespeicherte Prozeduren sowohl aus alten AS/400 Systemen
als auch aus Microsoft CRM Datenbanken aufrufen konnten. Anschließend
konnten sie die von .Net via XML abgerufenen Daten präsentieren, die von
der mobilen App problemlos verarbeitet werden konnten.
AS/400
MS SQL Servers
MS CRM
Schützen Ihrer App
Es ist gut möglich, dass Ihre hausinterne App vertrauliche Unternehmensdaten nutzt, die entsprechend
geschützt und gesichert werden müssen. Viele der grundlegenden Sicherheitsvorkehrungen auf Geräteebene, z. B. Zugangscode und Fernlöschen, können durch Ihre zuständigen IT-Manager verwaltet
werden. Ungeachtet dieser Sicherheitsvorkehrungen empfiehlt es sich aber immer, eine Strategie
zum Schutz der innerhalb Ihrer hauseigenen Apps gespeicherten Daten zur Hand zu haben.
Zur Unterstützung des Datensicherungsprozesses in Ihrer App bietet iOS den „Sandbox“-Ansatz. Dieser
verlangt die Signierung von Apps und stellt damit sicher, dass die Programme nicht verändert werden
können. iOS verfügt außerdem über ein Framework, das die sichere Speicherung der Identifikationsdaten von Apps in einem verschlüsselten Schlüsselbund ermöglicht. Außerdem bietet es hochwertige
Frameworks, die zum Verschlüsseln der App-Daten und zur Bereitstellung sicheren Netzwerkbetriebs
genutzt werden können. Sie können alle diese Möglichkeiten innerhalb Ihres eigenen Entwicklungsprozesses dazu nutzen, eine sichere Basis bereitzustellen, ohne die vom Benutzer wahrgenommene
Umgebung zu beeinträchtigen. „Sicherheit war ein wesentlicher Aspekt
bei unserer Entscheidung, Anwendungsentwicklung für das iPhone zu betreiben. Das
iPhone bot uns HTTPS Sicherheit,
den Schlüsselbund für die vertrauliche
Behandlung bestimmter Informationen,
und wir konnten Daten auch verschlüsseln.“
– Keith DeBickes, JM Family
Planung • Design • Entwicklung • Implementierung
22
Apps
Tipp: Freigegebener Schlüsselbund
Core Services
CF Network
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Security Services
Keychain
Services
Certificate,
Key, and Trust
Services
Randomization
Services
Core OS
LibSystem
CommonCyrpto
Sie können Schlüsselbundobjekte über mehrere Apps freigeben.
Durch das Freigeben von Objekten können Apps, die zur gleichen
Programmgruppe gehören, einfacher und nahtloser zusammenarbeiten.
Sie können dieses Feature z. B. dazu nutzen,
Benutzerkennwörter oder andere Elemente
freizugeben, die ansonsten für jedes Programm
eine separate Eingabeaufforderung an den
Benutzer erforderlich machen würden. Für
den Zugriff auf freigegebene Objekte in der
Laufzeit muss die Programmieroberfläche des
Schlüsselbunddienstes für die Zugriffsgruppen
verwendet werden, die Sie bei der Entwicklung
eingerichtet haben. Informationen zum Zugriff auf den Schlüsselbund finden
Sie im Keychain Services Programming Guide im iOS Entwickler-Portal.
Architektur
Die iOS Sicherheits-APIs befinden sich in der Ebene der Core Services des Betriebssystems und basieren
auf Diensten in der zugrunde liegenden Core OS Ebene (also auf Kernel-Ebene) des Betriebssystems.
Apps rufen die Sicherheitsdienst-APIs direkt ab, anstatt zuerst die Cocoa Touch- oder Media-Ebenen
zu durchlaufen. Netzwerk-Apps können auch über die CFNetwork API auf sichere Netzwerkfunktionen
zugreifen. Auch diese befindet sich in der Betriebssystemebene der Core Services. CFNetwork ist eine
hochwertige C API, die auf einfache Weise das Erstellen, Senden und Empfangen serialisierter HTTPNachrichten ermöglicht. Da CFNetwork aufbauend auf Secure Transport installiert ist, können Sie den
Datenstrom mit eine Vielzahl unterschiedlicher Protokollversionen von SSL oder TLS verwenden. Netzwerksicherheit
iOS unterstützt VPN-Dienste, ohne dass dafür zusätzlicher Codierungsaufwand anfällt. So können Ihre
hauseigenen Apps sicher mit Unternehmensnetzwerken kommunizieren. Die IT-Abteilungen von
Unternehmen können die integrierten VPN-Einstellungen für IPSec, L2TP oder PPTP konfigurieren.
Sie können aber auch die Benutzer anweisen, die VPN-Client-Apps Juniper, Cisco oder F5 SSL aus
dem App Store zu laden.
Für Konfigurationen mit zertifikatbasierter Authentifizierung stellt das iOS Betriebssystem VPN On Demand
bereit. VPN On Demand stellt automatisch eine Verbindung her, wenn eine App auf vordefinierte Domains
zugreift. Dies ermöglicht den hausinternen Apps eine nahtlose Konnektivität. Bei Apps, die WLAN-Zugriff
erfordern, unterstützt iOS WPA2 Enterprise WLAN mit 802.1X Authentifizierung. iOS unterstützt auch
Standardauthentifizierungsmethoden wie digitale Zertifikate, Sicherheits-Tokens wie etwa eine Secure ID
oder CRYPTOCard sowie die Authentifizierung über ein Kennwort.
Planung • Design • Entwicklung • Implementierung
23
Datensicherheit
Interne Apps können vertrauliche Daten schützen, indem sie die eingebauten Verschlüsselungsfunktionen nutzen, die in den neuesten Generationen der Apple Geräte vorhanden sind. Für
den Datenschutz auf dem Gerät wird der für jedes Gerät eindeutige Code mit der Hardwareverschlüsselung kombiniert, um einen zuverlässigen Schlüssel zu erstellen.
Wenn Ihre interne App eine bestimmte Datei als geschützt ausweist, speichert das System diese Datei
auf dem Gerät in einem verschlüsselten Format. Solange das Gerät gesperrt ist, ist der Inhalt der Datei
für die App und für mögliche Eindringlinge nicht zugänglich. Sobald der Benutzer jedoch das Gerät
entsperrt, erstellt iOS einen Schlüssel, der die Datei entschlüsselt und damit für die App zugänglich
macht. Sie müssen Ihre App so konstruieren, dass die Daten bei ihrer Erstellung sicher sind und für
Änderungen beim Datenzugriff vorbereitet sind, sobald der Benutzer das Gerät sperrt bzw. entsperrt.
Sichere Authentifizierung
iOS bietet einen sicheren verschlüsselten Schlüsselbund für die Speicherung digitaler Identitäten,
Benutzernamen und Kennwörter. Das Betriebssystem partitioniert Schlüsselbunddaten, damit Apps
einer anderen Identität nicht auf Zugangsdaten zugreifen können, die durch eine App eines anderen
Anbieters gespeichert wurden. Dies ermöglicht iOS die sichere Verarbeitung von Identifizierungsdaten
auf der gesamten Bandbreite von Apps und Diensten innerhalb eines Unternehmens. In iOS überprüfen
die Schlüsselbunddienste die Signatur einer App, bevor sie ihr den Zugriff auf einen Schlüsselbund
gewähren. Der Schlüsselbundzugriff wird vollständig ohne Interaktion mit dem Benutzer abgewickelt.
Ihre internen Apps können über die Keychain Services API mit dem Schlüsselbund interagieren. Test und Leistungsbewertung
Die Tests auf Leistung, UI-Optimierung, Netzwerkfunktion und tatsächlichen praktischen Nutzen sollten
integraler Bestandteil des laufenden Entwicklungsprozesses sein. Das Motto „Teste so früh und so viel wie
möglich“ kann sogar entscheidend für den Erfolg eines iOS App-Entwicklungsprojekts sein. Sie können
durch frühzeitiges Testen und Auswerten mit einer Reihe von Methoden sicherstellen, dass Ihr AppDesign und der Code auf dem richtigen Weg sind. Im Folgenden finden Sie eine Zusammenfassung der
iOS Testwerkzeuge, die Sie für Analyse und Fehlersuche verwenden können.
Tipp: Authentifizierungsbibliothek
Eine elegante Art der Implementierung von Sicherheitsvorkehrungen in
iOS Apps ist das Erstellen einer freigegebenen Authentifizierungsbibliothek,
die für alle firmeninternen Apps genutzt werden kann. Sie können diese
Authentifizierungsbibliothek in ihre vorhandenen Verzeichnisdienste (LDAP
oder Active Directory) integrieren. Dann müssen Sie nicht bei jedem Erstellen
einer neuen App neuen Authentifizierungscode schreiben. Das Speichern
entsprechender Anmeldedaten im freigegebenen Schlüsselbund macht die
Nutzung noch komfortabler, da sich die Benutzer dann nicht bei jeder App
anmelden müssen, die sie verwenden möchten. Diese Bibliothek könnte
auch Zeitlimits entsprechend Ihrer internen IT-Anforderungen definieren. Die
Freigabe von derartigem Code für alle internen Apps sorgt für Einheitlichkeit
sowohl in Ihren Nutzungsrichtlinien als auch in der Benutzerumgebung – ein
Vorteil für Benutzer und IT-Abteilung gleichermaßen.
„Wir arbeiten mit Single Sign-on für
alle Apps und verwenden Zugriffssteuerungslisten für die geschützten
Apps. Selbst wenn Sie also eine App
laden, übermittelt Single Sign-On
einen Perimeter an unser Programm,
und wir können dann prüfen, ob Sie
zugriffsberechtigt sind. Wenn ja, alles
bestens, wenn nicht, kommen Sie
nicht in die App.“
– James Blomberg, General Electric
Statikanalyse. Finden Sie Fehler in Ihrem Code, bevor das Programm überhaupt ausgeführt wird. Dazu
lassen Sie die integrierte Xcode Statikanalyse tausende verschiedener Codepfade in wenigen Sekunden
durchlaufen. Dabei werden potenzielle Programmfehler gemeldet, die sonst verborgen geblieben oder
praktisch unmöglich zu rekonstruieren gewesen wären.
Echtzeit-Debugging am Gerät. Schließen Sie Ihr Gerät an, um den grafischen Debugger von Xcode zu
verwenden, oder sammeln Sie Echtzeit-Leistungsdaten in der Timeline-Ansicht von Instruments. Diese
leistungsstarken Optimierungswerkzeuge ermöglichen das schnelle Erkennen und Beheben eventueller
Leistungsprobleme. Durch Bewegen der Maus über die Anzeige können Sie variable Werte einblenden.
Planung • Design • Entwicklung • Implementierung
24
Instrumente. Das Programm „Instruments“ ist ein leistungsstarkes Werkzeug zur Leistungsmessung,
mit dem Sie während der Codeausführung einen prüfenden Blick in Ihren Code werfen und wichtige
Messdaten über dessen Aktivitäten erfassen können. Sie können die von „Instruments“ in Echtzeit
erfassten Daten anzeigen und analysieren, Sie können sie aber auch speichern und zu einem späteren
Zeitpunkt analysieren.
Datenaufzeichnung. Weisen Sie „Instruments“ an, welche App analysiert und welche Instrumente dabei
verwendet werden sollen. Klicken Sie auf die große rote Taste, um die Aufnahme zu starten. Die Daten
werden erfasst und für die weitere Analyse gespeichert.
Visueller Vergleich. Während die Daten erfasst und angezeigt werden, lassen sich auf einfache Weise
Bezüge zwischen unterschiedlichen Datentypen erkennen, aber auch zwischen Daten des gleichen Typs,
die in mehreren Durchläufen nacheinander erfasst werden.
Drilldown. Untersuchen Sie Datenspitzen im Diagramm, um festzustellen, welcher Code in dem Moment
ausgeführt wird, in dem die Spitze auftritt. Anschließend können Sie einfach in Xcode wechseln und das
Problem beheben.
Wiedergabe. Erstellen Sie ad hoc einen Testfall durch Aufzeichnen der Interaktion eines Benutzers
mit Ihrer App. Spielen Sie anschließend die Aufzeichnung ab um festzustellen, inwiefern sich
Codeänderungen auf die Leistung auswirken.
Automatisiertes Testen der Benutzeroberfläche. Die integrierte Instrument-Automation funktioniert von
Scripts aus (geschrieben in JavaScript), die Sie bereitstellen, um die Simulation von Ereignissen in der
App durchzuführen. Diese synthetischen Ereignisse werden mithilfe der in iOS integrierten Oberflächen
für Bedienungshilfen generiert. Mit diesem Instrument können Sie Ihre Testabläufe optimieren und
die Arbeit mit den Elementen der Benutzeroberfläche Ihrer App üben, während diese auf einem
angeschlossenen Gerät ausgeführt wird.
Ausblick
Wie bereits im gesamten Kapitel besprochen, ermöglichen Ihnen die Werkzeuge und Ressourcen im
iOS SDK die zügige Entwicklung innovativer Apps, die die von iOS und vom Gerät selbst gebotenen
Möglichkeiten optimal nutzen. Darüber hinaus stehen Ihre Apps mit dem iOS SDK unverzüglich
zur Implementierung bereit. Viele firmeninterne Entwicklungsteams nehmen den gesamten
Entwicklungsprozess immer wieder neu in Angriff, d. h. sie erstellen und implementieren Apps häufig
während des Projektzyklus neu. Dank der integrierten Bewertungs- und Testverfahren und eines
Sicherheitsmodells, das die Daten Ihres Unternehmens zuverlässig schützt, können Sie Ihre Apps
für Einzelbenutzer und Gruppen beliebiger Größe implementieren. Im nächsten Kapitel besprechen
wir den Prozess der App-Verteilung Schritt für Schritt und helfen Ihnen, dafür eine Ihrer jeweiligen
Unternehmensumgebung optimal angepasste Strategie zu entwickeln.
Planung • Design • Entwicklung • Implementierung
Instruments sammelt und zeigt Daten in Echtzeit, z. B. Festplatten-, Speicher- oder
CPU-Auslastung. So lassen sich Problembereiche ganz einfach finden.
„Ein für uns besonders wichtiges Tool
war der Static Analyzer. Damit konnten
wir nach Problemen suchen, ohne die
App als solche starten zu müssen. Was
uns sonst wochen- oder monatelange
Fehleranalysen hätte kosten können,
oder auch Dinge, die wir vielleicht
niemals gefunden hätten, fand die
Static Analysis sofort.“
– Mark McWilliams, Razorfish
25
Implementierung
Nach Abschluss von Entwicklung und Tests Ihres App-Codes sind noch einige wichtige Aufgaben zu
erledigen, bevor die App endgültig für die Benutzer bereitgestellt werden kann. Zur Vorbereitung Ihrer
App für die Verteilung benötigen Sie ein Zertifikat von Apple für die Verteilung im Unternehmen, und Ihr
Code muss in Xcode signiert werden. Nachdem Ihr Xcode Projekt für die Implementierung vorbereitet
wurde, können Sie Ihre hausinterne App sicher auf Ihrem eigenen Webserver bereitstellen und sie direkt
via WLAN und 3G an die vorgesehenen Benutzer verteilen. Dieses Kapitel beschreibt die Prozesse der
Implementierung und des Lebenszyklus-Management Ihrer App.
Vorbereiten der App-Freigabe
Checkliste zur Implementierung
Am Ende der Implementierungsphase müssen die folgenden Schritte
abgeschlossen sein:
Erstellen von Unternehmenszertifikat und Bereitstellungsprofil
Einrichten eines Verteilungs-Webservers oder einer Lösung für die
drahtlose App-Verteilung
Bekanntmachen Ihrer Lösung für die Endbenutzer
Zum Beginnen des Implementierungsprozesses müssen Sie Ihre App innerhalb des iOS Entwicklerprogramms für Unternehmen zertifizieren und verfügbar machen sowie das Projekt in Xcode signieren
und aufbauen. Ein einfacher, aus drei Schritten bestehender Prozess sorgt dafür, dass Sie Ihre App direkt
von Xcode aus verteilen können.
1. Erstellen und laden Sie ein Distributionszertifikat. Zum Verteilen Ihrer iOS App muss der designierte
Agent in Ihrem Entwicklerprogramm ein Distributionszertifikat erstellen. Nur der Agent für Ihr Team kann
dieses Zertifikat erstellen, und nur dieses Zertifikat ermöglicht die Verteilung der App im Unternehmen.
Informationen und schrittweise aufgebaute Anweisungen zum Laden und Erstellen eines Distributionszertifikats für Unternehmen finden Sie im iOS Bereitstellungsportal unter der Adresse
http://developer.apple.com/ios/manage/overview/.
2. Erstellen und laden Sie eine Bereitstellungsdatei. Wenn alles bereit ist, um die App in den
Produktionsprozess zu implementieren, müssen Sie ein Bereitstellungsprofil für Ihr Unternehmen
erstellen. Diese Profile können auf jedem beliebigen Gerät installiert werden. Deshalb eignet sich diese
Methode ausgezeichnet für die umfassende Verteilung der App innerhalb Ihres Unternehmens.
Überblick: Bereitstellungsportal für Entwickler
Das iOS Bereitstellungsportal führt Sie durch die einzelnen Schritte, die
zum Testen Ihrer Apps auf iOS Geräten und zur Vorbereitung der Apps für
die Verteilung erforderlich sind. Sie nutzen das iOS Bereitstellungsportal
für viele der in diesem Kapitel behandelten Schritte, wie etwa das Erstellen
von Zertifikaten und das Bereitstellen von Profilen. Im Mitgliederbereich
im iOS Dev Center gelangen Sie zum Portal, wo Sie auch weitere hilfreiche
Dokumentation finden werden.
Die Bereitstellungsprofile zur Distribution werden Ihrem Distributionszertifikat angeglichen. Damit
können Sie Apps erstellen, die die Benutzer auf Ihren iOS Geräten ausführen können. Sie können ein
Bereitstellungsprofil für eine bestimmte App oder für mehrere Apps erstellen. Dazu geben Sie die
AppID(s) an, die durch das betreffende Profil autorisiert wird bzw. werden. Wenn ein Benutzer zwar die
App hat, aber kein Profil, das deren Nutzung erlaubt, kann er die betreffende App nicht verwenden. Da
diese Profile an Ihr Zertifikat gebunden sind, kann die betreffende App nach Widerruf oder Ablauf des
Zertifikats nicht mehr verwendet werden.
Es gibt zwei Arten von Bereitstellungsprofilen: „Ad Hoc“ und „Unternehmen“. Ad Hoc Bereitstellungsprofile sind auf bestimmte Geräte-IDs beschränkt, d. h. sie können nur auf einem bestimmten Mobiltelefon ausgeführt werden, das (via Geräte-ID) identifiziert ist und in das Entwicklerprogramm-Portal
geladen wurde. Ad Hoc Profile eignen sich am besten für interne Tests oder eingeschränkte BetaProgramme, da sie nur bis maximal 100 Geräte skalierbar sind und einen erheblichen Verwaltungsaufwand erfordern (d. h. das Hinzufügen von Geräte-IDs zum Programmportal).
Planung • Design • Entwicklung • Implementierung
26
E s ist wichtig festzuhalten, dass es sich bei einem Bereitstellungsprofil nicht um einen Sicherheitsmechanismus handelt. Es stellt zwar eine grundsätzliche Autorisierung als Voraussetzung für das
Ausführen einer App bereit, bietet aber keine Benutzerauthentifizierung oder Schutz für die Daten, die
innerhalb der App genutzt werden bzw. auf die zugegriffen wird. Es hat sich deshalb bewährt,
in diesem Fall die App selbst durch interne Maßnahmen zu sichern. Wie bereits im Kapitel „Entwicklung“
erläutert, können Sie auf eine Fülle von iOS Sicherheitsfeatures und -frameworks für Ihre firmeninterne
App zurückgreifen. Eine der besten Möglichkeiten zum Schutz Ihrer firmeninternen App besteht
beispielsweise im Erstellen einer Standardbibliothek für die Benutzerauthentifizierung.
3. Signieren und Erstellen in Xcode. Sobald Ihr Distributionszertifikat und das Bereitstellungsprofil
installiert sind, müssen Sie Ihren Code in Xcode signieren. Weitere Einzelheiten zum Prozess der Codesignierung finden Sie in den Schritt-für-Schritt-Anleitungen im Bereitstellungsportal für Entwickler.
Sobald Ihre App signiert ist, stellt Xcode mit einem einfachen Exportprozess ein App-Paket zur Verteilung
im Unternehmen zusammen. Verwenden Sie den Xcode Organizer zum Bereitstellen eines Projekts, das
zu Ihrem Archiv hinzugefügt wurde, und wählen Sie die Optionen für die Verteilung im Unternehmen
aus. Bei diesem Prozess werden die App, das Bereitstellungsprofil und andere für die drahtlose Verteilung
notwendigen Elemente automatisch gepackt.
Bereitstellung
Sobald der Aufbau Ihrer App abgeschlossen ist, kann die Verteilung der firmeninternen Apps erfolgen
– entweder durch Bereitstellen der App auf einem einfachen Webserver, den Sie intern erstellen, durch
Einrichten eines eigenen Katalogs für interne Apps oder über eine externe MDM-Lösung (Mobile Device
Management).
Welche Lösung die beste ist, hängt von Ihren spezifischen Erfordernissen, Ihrer Infrastruktur und dem
benötigten Umfang an App-Verwaltung ab.
Planung • Design • Entwicklung • Implementierung
Überblick: Xcode Organizer
Der Organizer ist ein einzelnes Fenster zum Verwalten von Xcode-Projekten,
SCM-Datenspeichern, App-Archiven und Geräten – einschließlich des 1-KlickSetup neuer iOS Geräte für die Entwicklung. Im Kontext der Verteilung
von Apps stellt der Organizer die zentrale Bibliothek dar, aus der Apps für
die unternehmensweite Distribution geteilt (exportiert) werden können.
Der Organizer kann auch zum Installieren firmeninterner Apps und zur
Bereitstellung von Profilen auf verbundenen Geräten genutzt werden.
27
Prozess der drahtlosen App-Verteilung
Die einfachste Art der Verteilung besteht darin, Ihre App(s) auf einem Webserver bereitzustellen. Gehen
Sie bitte wie folgt vor:
1. Stellen Sie Ihre App auf einen Webserver, auf den Ihre Mitarbeiter zugreifen können.
2. Benachrichtigen Sie Ihre Benutzer per E-Mail, SMS, Push-Benachrichtigung oder auf andere für
Benutzer auf einem iOS Gerät empfangbare Weise darüber, dass die App verfügbar ist. Denken Sie daran,
die URL-Adresse der App anzugeben.
3. Tippen Sie auf die URL-Adresse, um die App zu installieren. Die Benutzer werden in einem Dialogfenster gefragt, ob sie die Installation fortsetzen möchten.
Weitere Einzelheiten zum Einrichten Ihres eigenen Dienstes für die drahtlose App-Verteilung finden Sie
unter http://developer.apple.com/library/ios/navigation/.
Firmeninterner App-Katalog
Ihr Team kann auch einen internen App-Katalog erstellen, der ein Portal für die drahtlose Verteilung Ihrer
iOS Apps anbietet. Dieses Self-Service-Modell erfordert hinsichtlich Ladevorgang und Installation nur
minimalen Aufwand seitens der Benutzer. Der Katalog kann URL-Adressen zum Laden der Apps direkt
zur Verfügung stellen. So können mehrere Apps gleichzeitig installiert und aktualisiert werden, und
die schnelle Implementierung und Einsatzbereitschaft ist gewährleistet. Eine Website oder eine native
App – optimiert für iPhone oder iPad – stellt sogar eine noch einfachere Methode dar, URL-Adressen auf
organisiertem und den Benutzern vertrautem Wege verfügbar zu machen. Ein informatives Beispiel eines
internen App-Katalogs finden Sie unter „Fallstudie: Der GE Internal App Store“ auf der rechten Seite.
Verwalten von Updates
Firmeninterne Apps, die intern verteilt werden, werden nicht automatisch aktualisiert. Sie müssen die
Mitarbeiter über das Vorliegen eines Updates informieren und sie anweisen, die neue App entsprechend
zu installieren. Wenn die der App in Xcode zugewiesene Programm-ID unverändert bleibt, wird die App
als bereits vorhandene App erkannt, und das Update wird installiert, wobei lokal gespeicherte AppDaten oder -Einstellungen erhalten bleiben. Erwägen Sie zur Steigerung des Benutzerkomforts, eine
Funktion innerhalb der App zu erstellen, die in der Laufzeit den Server kontaktiert, um diesen auf das
Vorliegen von Updates zu überprüfen.
Bei der drahtlosen App-Verteilung können Sie direkt in der App einen Link zur aktualisierten App
anbieten. Wenn Sie ein Programm für einen nativen App-Katalog erstellen, erwägen Sie die Nutzung
von Push-Benachrichtigungsdiensten mit einer Warnmitteilung oder einer Symbolmarkierung, die die
Benutzer über die Verfügbarkeit von Updates in Kenntnis setzt.
Mobile Device Management
Viele MDM-Lösungen anderer Hersteller (Mobile Device Management) bieten von vornherein
Funktionalität für die drahtlose App-Verteilung an. Zu den Vorteilen der Verwaltung interner Apps
innerhalb einer verwalteten Umgebung gehört die Möglichkeit, eine Versionskontrolle durchzuführen
Planung • Design • Entwicklung • Implementierung
Fallstudie: Der GE Internal App Store
Die interne mobile Taskforce von GE, das Mobile
Center for Excellence, entwickelt nicht einfach nur
hochmoderne Apps. Man hat dort auch ein internes
Web-Portal aufgebaut, den GE Internal App Store, der
das Laden unternehmensspezifischer Apps für die
über 300.000 Mitarbeiter von GE vereinfacht.
„Wir brauchten einen überzeugenden Weg der
internen Verteilung mobiler Programme“, sagt
James Blomberg, GE-Vorstand für neue Medien und
aufkommende Technologie. „Wir haben auch Apps
auf dem Apple App Store, benötigten aber auch
etwas Eigenes für GE Programme, die nicht für die weltweite Verteilung gedacht sind.“
Seit seiner Einführung im Jahr 2009 verzeichnet der GE App Store Zehntausende interner
Besucher und über 100.000 App-Downloads. Wenn neue Apps verfügbar werden,
bewirbt sie die Gruppe über ein unternehmensweites Intranet-Portal sowie mithilfe
von Postings und Mundpropaganda bei den 200 Mitgliedern des GE Mobile Center of
Excellence. Diese umfassen auch Teilnehmer aller wichtigen Geschäftsfelder von GE.
Der Erfolg des Stores beruht zum Teil auf seinem ebenso einfachen wie effektiven
Design. „Die Oberfläche bietet sehr viel und ist dennoch ganz einfach zu benutzen“,
sagt Dayan Anandapa, Vorstand für Digitale Technologien und Zusammenarbeit bei
GE. „Nach erfolgter Registrierung klickt man auf eine URL-Adresse, die den Benutzer
durch den Download-Prozess führt. Da die Geräte selbst nahtlos zusammenarbeiten,
wollten wir das auch für den Installationsvorgang so haben.“
Bei einem so großen und vielschichtigen Unternehmen wie GE eignen sich nicht alle
internen Apps für alle Benutzer. Um den Zugriff steuern und Apps nur den jeweils
dafür berechtigten Benutzern verfügbar machen zu können, hat das Unternehmen
ein zweischichtiges Zugriffssystem eingerichtet. „Wir arbeiten mit Single Sign-on für
alle Apps und zusätzlichen Zugriffssteuerungslisten für die geschützten Apps“, sagt
Blomberg.
Der GE Internal App Store fördert die generelle Wahrnehmung der mobilen
Ressourcen von GE und vereinfacht zugleich den App-Download. Aber er bietet
noch weitere Vorteile.
„Er dient als Datenarchiv, als zentraler Knoten für die Weitergabe von Wissen über
unsere verschiedenen Geschäftsfelder“, sagt Blomberg. „Und er hat auch ganz neue
Beziehungen und Kontakte ermöglicht. Menschen, die sich zuvor gar nicht kannten,
arbeiten heute zusammen. Im ganzen Unternehmen GE läuft eine Unmenge von
Kooperation und Kommunikation über Mobiltechnologie.“
28
und zu überwachen, welche Benutzer welche App-Version ausführen. Viele MDM-Lösungen bieten auch
Push-Benachrichtigungsdienste, die die Benutzer darüber informieren, wenn neue und aktualisierte Apps
verfügbar sind. Da MDM-Lösungen auch Netzwerkkonfigurationen und Sicherheitsrichtlinien einrichten
können, eignen sie sich hervorragend, um zum Zeitpunkt der Installation einer App Einstellungen (z. B.
VPN- oder WLAN-Zertifikate) direkt auf dem Gerät bereitzustellen. Weitere Informationen zu Lösungen
des Mobile Device Management finden Sie unter www.apple.com/de/iphone/business/integration/mdm.
Bekanntmachen Ihrer Lösung
Herzlichen Glückwunsch! Sie haben nun eine iOS App für Ihre Mitarbeiter designt, entwickelt, und
implementiert. Nun müssen Sie das Ganze nur noch laut und deutlich in Ihrem Unternehmen verkünden.
Selbst die besten und innovativsten hauseigenen Apps verfehlen ihr Ziel der möglichst flächendeckenden
geschäftlichen Anwendung oder der Amortisation, wenn die Benutzer nicht wissen, dass es sie gibt. Sie
können Ihre Lösungen den Benutzern auf vielfältige Weise kommunizieren. Hier sind einige Ideen, die Sie
beim Zusammenstellen Ihrer App-Ankündigung bzw. Ihres Info-Pakets berücksichtigen sollten:
• Werben Sie für Ihre neuesten und besten hauseigenen Apps im Intranet Ihres Unternehmens.
• Erstellen Sie eine dedizierte Website in Ihrem Intranet speziell für iOS Apps und ermöglichen Sie den
Benutzern, Kommentare zu hinterlassen, an Forumsdiskussionen teilzunehmen usw.
• Stellen Sie eine Video-Demo über Ihre App in Aktion bereit, die die Benutzer von der Leistungsfähigkeit
der Lösung überzeugt.
• Senden Sie E-Mails und Newsletter, um die Wahrnehmung zu erhöhen.
• Bringen Sie Poster und andere grafische Hinweise an geeigneten Stellen an, damit die Mitarbeiter auf die
App aufmerksam werden, wenn sie im Bürogebäude oder auf dem Firmengelände unterwegs sind.
• Senden Sie Ihren Benutzern nach Möglichkeit Push-Benachrichtigungen über neue Apps bzw.
signifikante funktionale Verbesserungen vorhandener Apps, sobald diese verfügbar werden.
• Ergänzen Sie Ihren internen App-Katalog mit Bildschirmfotos und Video-Demos Ihrer App, damit die
Mitarbeiter mehr über Sinn und Zweck der App erfahren können.
Beispiel: Interne Kommunikation
Mit der Ankündigung neuer interner Apps für seine Benutzer erhob
Genentech die Kommunikation der Features und Vorteile jeder einzelnen
Lösung zur höchsten Priorität. Genau wie ein kommerzieller Entwickler
eine Kampagne zur Produkteinführung produziert, erstellte Genentech
spezifisches Marketing-Material für jede neue interne App. Diese
Bemühungen erzielten eine unmittelbare Wirkung und steigerten die
allgemeine Wahrnehmung und Übernahme neuer Apps.
Ausblick
Mit dem Implementieren und Ankündigen Ihrer App ist der Prozess keineswegs erledigt – eigentlich
fängt es hier erst richtig an. Mit jeder erfolgreichen mobilen App werden die Ansprüche Ihrer Benutzer
weiter wachsen. Dieser Leitfaden sollte daher lediglich als Einstiegshilfe für Ihr Entwicklungsteam
gesehen werden. Über diesen Leitfaden hinaus ist im Rahmen des iOS Entwicklerprogramms eine Fülle
von Lernressourcen, bewährten Verfahren, Tipps und Techniken verfügbar. Nehmen Sie Kontakt mit
Kollegen über Entwicklerforen auf, oder laden Sie Entwickler-Videos aus dem Internet, um mehr über die
erweiterten Möglichkeiten zu erfahren, die diese Plattform bietet. Die Möglichkeiten sind grenzenlos.
Planung • Design • Entwicklung • Implementierung
29
Weitere Trainingsressourcen
Sie möchten Ihre hausinterne Entwicklung weiter verbessern? Die unten aufgelisteten erweiterten
Lernressourcen steigen tiefer in die Materie ein und liefern detaillierte technische Informationen zu den
wichtigsten Themen im Zusammenhang mit der internen App-Entwicklung. WWDC Videos
Wenn Sie sehen möchten, wie Apple Techniker und Experten über das Innovationspotenzial
neuester Apple Technologien diskutieren, besuchen Sie die folgende Website:
http://developer.apple.com/videos/wwdc/2010/ Stanford University Podcast
Lernen Sie den Umgang mit den Tools und APIs, die Sie für die Entwicklung von Apps
für iPad, iPhone und iPod touch brauchen. „Developing Apps for iOS“ von der Stanford
University behandelt das Design von Benutzeroberflächen für Mobilgeräte, eindeutige
Benutzerinteraktionen auf der Basis von Multi-Touch Technologien, Core Animation und mehr.
Diese Reihe finden Sie auf iTunes oder unter folgender Adresse:
https://itunes.apple.com/de/itunes-u/developing-apps-for-ios-hd/id395605774
Big Nerd Ranch
Verschaffen Sie sich einen umfassenden Schnelleinstieg in die iOS Entwicklung bei diesem
7-tägigen Training. Hier erlernen Sie das wichtigsten Basiswissen über Objective-C sowie die
Grundlagen des iOS SDK. Weitere Informationen zu den Angeboten der Big Nerd Ranch in
Europa finden Sie unter folgender Adresse: http://www.bignerdranch.com/locations/
netherlands
Pragmatic Studio
Auf iTunes gibt es Podcasts, die beschreiben, wie man iOS Apps mit vollem Funktionsspektrum
gestaltet. Sie richten sich an Einsteiger und an Entwickler, die schon ein wenig Erfahrung
haben. Weitere Informationen finden Sie unter folgender Adresse:
https://itunes.apple.com/de/podcast/pragmatic-studio-bonus-tracks/id312552710?mt=2
© 2013 Apple Inc. Alle Rechte vorbehalten. Apple, das Apple Logo, Bonjour, Cocoa Touch, Dashcode, iMac, Instruments, iPad, iPhone, iPod, iPod touch, iTunes,
das iTunes Logo, Keychain, Mac, MacBook, MacBook Air, Safari und Xcode sind Marken der Apple Inc., die in den USA und in weiteren Ländern eingetragen
sind. Multi-Touch ist eine Marke der Apple Inc. AppleCare ist eine Dienstleistungsmarke der Apple Inc., die in den USA und weiteren Ländern eingetragen
ist. App Store ist eine Dienstleitungsmarke der Apple Inc. Der Bluetooth® Schriftzug und das Logo sind eingetragene Marken der Bluetooth SIG, Inc., die von
Apple in Lizenz verwendet werden. Intel und Intel Core sind Marken der Intel Corp., die in den USA und weiteren Ländern eingetragen sind. UNIX ist eine
eingetragene Marke von The Open Group. Andere hier genannte Produkt- und Firmennamen sind möglicherweise Marken ihrer jeweiligen Rechteinhaber.
Dieses Material dient ausschließlich zu Informationszwecken. Apple übernimmt keine Haftung hinsichtlich der Verwendung.
30