grundlagen der app-entwicklung für apple ios und google ......app-entwicklung: entwicklung eigener...

25
PLATTFORMEN FÜR DIE APP- ENTWICKLUNG ENTWICKLUNGS- FRAMEWORKS APP-ENTWICKLUNG: AWS VS. GOOGLE ANDROID-APPS ENTWICKELN IOS-APPS ENTWICKELN APP-ENTWICKLUNG: IOS VS. ANDROID Grundlagen der App-Entwicklung für Apple iOS und Google Android Kein anderer Trend hat die IT- und Enterprise-Welt in den vergangenen Jahren so geprägt wie das Thema Mobility und Mobile Apps. Unternehmen können sich nicht mehr verstecken, wenn es um die Bereitstellung von Apps geht. Dieses E-Handbook bietet die Grundlagen, die erforderlich sind, um sich in das Thema Mobile Apps einzuarbeiten. COPYRIGHT: SCANRAIL - FOTOLIA

Upload: others

Post on 09-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

PLATTFORMEN FÜR DIE APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG: AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG: IOS VS. ANDROID

Grundlagen der App-Entwicklung für Apple iOS und Google AndroidKein anderer Trend hat die IT- und Enterprise-Welt in den vergangenen Jahren so geprägt wie das Thema Mobility und Mobile Apps. Unternehmen können sich nicht mehr verstecken, wenn es um die Bereitstellung von Apps geht. Dieses E-Handbook bietet die Grundlagen, die erforderlich sind, um sich in das Thema Mobile Apps einzuarbeiten.

COP

YRIG

HT: S

CANR

AIL -

FOT

OLIA

Page 2: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID2

EDITORIAL

Die Entwicklung von Mobile Apps ist kein Hexenwerk – aber auch nicht trivial

In vielen Unternehmen ist mittlerweile die Erkenntnis gereift, dass die Bereitstellung und der Einsatz von Software auf Desktop-PCs und Laptops nicht mehr ausreicht. Mitarbeiter wollen wie im Privatleben ihre Mobilgeräte einsetzen. Und wie im Privatleben wollen sie Mobile Apps verwenden, die ihnen die Kommunikation mit anderen erlauben oder spezifische Aufgaben erfüllen.

Doch allein der Kauf einer App löst nicht jedes Problem. Zahlreiche Anwendungsfälle setzen die Entwicklung eigener Apps voraus, die die Anforderungen eines Unternehmens abdecken sowie interne Inhalte und Daten zur Verfügung stellen. Diesem Thema widmet sich das vorliegende E-Handbook.

Einleitend beschäftigt es sich mit der Frage: Worauf muss bei der Auswahl einer Plattform zur Entwicklung von Mobile Apps geachtet werden? Einige Plattformen bieten vorgefertigte

Templates und Code Snippets, die auch Nutzern ohne ausgereiftes Vorwissen den Einstieg erlauben. Andere Anwendungen setzen dagegen Programmierkenntnisse voraus. Zudem muss man evaluieren, ob eine native App für ein bestimmtes

Betriebssystem oder zur Bereitstellung über einen Webbrowser entwickelt werden soll. Mit diesen Themen befassen sich unsere Autoren in den ersten beiden Artikeln.

Im dritten Artikel wird der Einsatz von Cloud-Plattformen für die Entwicklung von Mobile Apps thematisiert. Verglichen werden die verfügbaren

Allein der Kauf einer App löst nicht jedes Problem. Zahlreiche Anwendungsfälle setzen die Entwicklung eigener Apps voraus.

Page 3: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID3

EDITORIAL

Werkzeuge von AWS und Google und es wird erläutert, wo Anwender die jeweiligen Vor- und Nachteile finden.

Im vierten und fünften Beitrag geht es um die Grundlagen der App-Entwicklung für Android und Apple iOS, die am weitesten verbreiteten Betriebssysteme. Unsere Autoren weisen dabei darauf hin, dass Android und iOS unterschiedliche Entwicklungs- und organisatorische Bedingungen voraussetzen, aber auch verschiedene Benutzererfahrungen bieten, die berücksichtigt werden müssen.

Schließlich diskutiert der Verfasser des letzten Artikels die erwähnten Unterschiede und weist darauf hin, dass Unternehmen und Entwickler auch den entsprechenden Markt in ihre Überlegungen einfließen lassen müssen, da Android und iOS in verschiedenen Ländern unterschiedlich weit verbreitet sind. n

Tobias wendehostOnline EditorTechTarget Deutschland

Page 4: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID4

PLATTFORMEN

Worauf man bei Plattformen für die Mobile-Anwendungsentwicklung achten sollte

An mobilen Apps führt heute kein Weg mehr vorbei. Sie übernehmen vielfältige Aufgaben, die unverzichtbar geworden sind: von der Versorgung der Kunden mit nützlichen Unternehmens-informationen bis hin zur Bereitstellung von Services für die Mitarbeiter. Doch die Entwicklung solcher Apps ist aus verschiedenen Gründen nicht ganz einfach. Für die Umsetzung mobiler Anwendungen haben sich deshalb mittlerweile Mobile-App-Entwicklungsplattformen (Mobile Application Development Platforms, kurz MADPs) etabliert, die dabei helfen, Unternehmens-Apps zu generieren und bereitzustellen, und zweifellos viele Vorteile bieten.

Beispielsweise haben solche Mobile-App-Development-Plattformen Vorlagen und Low-Code-Werkzeuge integriert und vereinfachen dadurch die Generierung und Bereitstellung von mobilen Anwendungen deutlich. Davon profitieren insbesondere solche Organisationen,

die kein eigenes Entwicklungs-Know-how haben. Allerdings sind die Tools begrenzt auf die Fähigkeiten, die ihnen der MADP-Provider mitgibt. Dies kann für manche Unternehmen den Nutzen dieser Werkzeuge beschränken – und für manche sogar ein Grund sein, solche Tools nicht zu nutzen.

So gibt es im Vergleich zu Apps, die von Grund auf neu gebaut werden, Grenzen bei der Einbindung von Funktionalitäten – das gilt auch dann, wenn der MADP-Service individuell angepasst werden kann. Baut ein Unternehmen hingegen seine eigene App vollumfänglich selbst oder lagert die Entwicklung aus, kann es das Produkt genau an seine geschäftlichen Anforderungen anpassen. Mit Mobile-App-Entwicklungs-Plattformen kann das Unternehmen hingegen nur so weit gehen, wie die Plattform dies erlaubt. Das kann möglicherweise die User Experience und die Business-Anforderungen beeinträchtigen.

Page 5: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID5

PLATTFORMEN

Durch die Einschränkungen der MADP-Technologien können Organisationen auch Probleme im Backend-Bereich bekommen. Diese Einschränkungen sind beispielsweise die begrenzten Datenquellen, Diskrepanzen in der API-Granularität, mangelnde Cloud-Integration, Limitierungen der Lifecycle-Management-Fähigkeiten oder fehlende Integration mit dem Mobile Device Management (MDM).

Ein weiteres Problem ist, dass eine Organisation mit der Nutzung einer bestimmten MADP leicht von dieser Plattform abhängig wird – und auf Gedeih und Verderb der Leistung, den Support-Funktionen und der Systemzuverlässigkeit des MADP-Providers ausgeliefert ist. Ein weiterer Nachteil ist, dass der Anbieter der Plattform den kompletten Anwendungs-Quellcode besitzt. Will man diesen aus der Plattform ziehen, ist das teuer. Zwar müssen MADP-Anbieter zweifellos auch auf ihren Ruf achten und möchten den bestmöglichen Service liefern. Dennoch können Probleme auftreten, und der Abonnent hat kaum eine andere Wahl. Und geht der Anbieter pleite, ist das für den Abonnenten ohnehin der Worst Case.

Ein weiterer wichtiger Aspekt sind die langfristigen Kosten. Plakativ ausgedrückt: Abonnementgebühren addieren sich auf. Selbst wenn ein MADP-Anbieter die anfänglichen Anlaufkosten deutlich reduziert, wiegt das die Einsparungen bei der mobilen App-Entwicklung langfristig nicht auf.

DARAUF SOLLTEN SIE

BEI EINEM MADP-ANBIETER ACHTEN

Trotz all dieser Herausforderungen bei den Mobile-App-Entwicklungsplattformen sind viele Organisationen der Meinung, dass die Vorteile der schnellen und kostengünstigen Anwendungsentwicklung die Risiken wert sind. Wenn Sie einen MADP-Anbieter suchen, sollten Sie aber eine Reihe von Faktoren im Auge behalten.

Grundsätzlich sollten Unternehmen laut Gartner nicht nur die MADP-Technologie eines Anbieters berücksichtigen, sondern auch darauf achten, inwieweit er die geschäftlichen Anforderungen an mobile Unternehmens-lösungen insgesamt erfüllt. Dabei sollten in

Page 6: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID6

PLATTFORMEN

jedem Fall auch Aspekte wie Unterstützung mehrerer Plattformen, Cloud-basierte Services, ein großes Partnernetz und Erfolgsnachweise in verschiedenen Branchen und Geschäftsbereichen berücksichtigt werden. Im Folgenden werden die wichtigsten Kriterien vorgestellt.

Einer der ausschlaggebenden Punkte ist zunächst die Entwicklungsplattform selbst. Der MADP-Service sollte all die Tools und Kompo-nenten enthalten, die Sie benötigen, um die Arten von Anwendungen zu bauen, die Ihre Benutzer wollen – jetzt und in absehbarer Zukunft.

So sollte die Plattform zum Beispiel übliche Entwicklungsstandards verwenden, die not-wendigen Backend-Dienste bereitstellen und Zugriff auf App-Script-Bibliotheken von

Drittanbietern haben. Diese Bibliotheken ermöglichen eine konsistente Benutzererfahrung, unabhängig von der Art der Anwendung oder dem verwendeten Betriebssystem. Die IT sollte auch in der Lage sein, die Anwendungen über den gesamten Lebenszyklus zu verwalten, so dass sie den Nutzern in verschiedenen Stadien zugänglich ist.

Die mobilen Betriebssysteme, auf denen die Anwendungen laufen, sind ebenfalls wichtig. Wenn Ihr Unternehmen Anwendungen braucht, die auf Apple iOS, Google Android und Windows laufen müssen, dann ist es wenig sinnvoll, einen MADP-Anbieter zu wählen, der nur Android unterstützt. Bevor Sie sich für einen MADP-Anbieter entscheiden, sollten Sie sich auch im Klaren sein, ob Sie native, Web- oder Hybrid-Anwendungen bauen möchten.

Sicherheit ist ein weiteres Top-Kriterium, das bei der Auswahl eines Anbieters berücksichtigt werden sollte. Finden Sie im Vorfeld heraus, welche Arten von Identity-Management- und Policy-Services der Anbieter unterstützt, welche Art von Verschlüsselung er verwendet, wo die Verschlüsselungsschlüssel gespeichert werden

Bevor Sie sich für einen MADP-Anbieter entscheiden, sollten Sie sich auch im Klaren sein, ob Sie native, Web- oder Hybrid-Anwendungen bauen möchten.

Page 7: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID7

PLATTFORMEN

und wie die App-Sicherheit in Ihre bestehenden Systeme integriert ist.

MADP-Apps sollte gegebenenfalls auch in die Datenzugriffspunkte Ihres Unternehmens eingebunden werden. Der Anbieter sollte API-Unterstützung für bestehende Enterprise-Anwendungen auf Basis von Industriestandards bieten. Falls nötig, sollte die IT in der Lage sein, die Plattform in Backend-Systeme einschließlich Datenspeicherung, Cloud-Services und Tools von Drittanbietern wie MDM und Mobile-Application-Management-Produkte zu integrieren.

Am besten suchen Sie nach einem MADP-Service, der Management-Funktionen für den gesamten Lebenszyklus der Anwendung zur Verfügung stellt. Dazu gehören Werkzeuge, die die Build-Prozesse der Anwendung verwalten, eine App-Versionierung ermöglichen, die Anwendungen bereitstellen und ihr Verhalten

auf allen Plattformen und Geräten überwachen. Stellen Sie auch sicher, dass der Service Echtzeit-Überwachung bietet, um die Leistung

zu kontrollieren, Probleme zu lösen und die Anwendungsnutzung zu analysieren.

Eine Mobile-App-Entwicklungsplattform kann für Ihren Bedarf an mobilen Apps der richtige Weg sein. Aber den richtigen Anbieter zu finden ist ein Prozess, den die IT nicht auf die leichte Schulter nehmen sollte. –Robert Sheldon

Am besten suchen Sie nach einem MADP-Service, der Management-Funktionen für den gesamten Lebenszyklus der Anwendung zur Verfügung stellt.

Page 8: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID8

FRAMEWORKS

App-Entwicklungs-Frameworks: Native versus Web versus hybride Apps

Da immer mehr Unternehmen sich entscheiden, eigene Mobile-Apps zu entwickeln, stehen sie vor der Wahl, welches Entwicklungs-Framework am besten für sie passt. Der erste wichtige Schritt ist, Mobilgeräten einen Zugang zu bestehenden Prozessen zu geben.

Apps müssen angepasst werden, wenn sie alle Vorteile der Funktionen verwenden wollen, die Mobilgeräte und ihr Betriebssystem zur Verfügung stellen, zum Beispiel ortsbezogene Services, Push-Benachrichtigungen und nahtlosen Datenaustausch.

Wenn man ein Framework auswählen muss, mit dem Apps entwickelt werden sollen, muss eine Organisation in erster Linie berücksichtigen, welche Art von Apps es planen und anbieten möchte: eine native, Web- oder Hybrid-App.

EINE NATIVE APP ENTWICKELN

Die Entwicklung einer nativen App führt immer zur besten Nutzererfahrung. Die Anbieter von Mobile-Betriebssystemen investieren viel Geld und Arbeit in ihre eigenen Entwicklungs-Tools. Sie wollen sicherstellen, dass App-Entwickler, die in der nativen Programmiersprache schreiben, alle Vorteile der neuesten Betriebssystemfeatures auskosten können.

Unternehmen, die keine Erfahrung mit Mobile-Entwicklung haben, zögern häufig bei dem Gedanken, dass ihre Entwickler verschiedene Sprachen lernen müssen, um Apps sowohl für

Eine Organisation muss berück-sichtigen, welche Art von Apps es planen und anbieten möchte: eine native, Web- oder Hybrid-App.

Page 9: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID9

FRAMEWORKS

Apple iOS als auch für Google Android zu entwickeln. Dadurch entstehen zusätzliche Anstrengungen und Kosten. Verwendet ein Unternehmen ein standardisiertes Betriebs-system oder erfordert es eine enge Hardware-

integration – zum Beispiel in Form eingebetteter Systeme, eigener Kioske, Verkaufsstellen und anderer speziell für ein Unternehmen entwickelte Systeme –, ist es in der Regel wichtig, native Apps zu entwickeln.

BROWSER-BASIERTE WEBANWENDUNGEN

Am anderen Ende des Spektrums befinden sich Webanwendungen, auf die Anwender mit einem Browser zugreifen können. Entwickler können diese mit vertrauten Webtechnologien schreiben,

zum Beispiel HTML5, CSS und JavaScript. Eine Version einer Web-App funktioniert auf verschiedenen Mobile-Betriebssystemen. Die Fortschritte in HTML5 bedeuten zudem, dass Webanwendungen viele Funktionen bieten, die sonst native Apps zur Verfügung stellen. Hierzu zählen zum Beispiel der Zugriff auf die Kamera, Ortungsfunktionen oder das Starten anderer Apps auf dem Gerät aus der Web-App heraus.

Webanwendungen sind attraktiv, haben aber auch einige Nachteile. Es ist zum Beispiel nur möglich, Push-Benachrichtigungen mit einigen bestimmten Browsern zu senden. Die App-Anmeldung und Sessions können zudem schnell ablaufen. Darüber hinaus können Web-Apps nicht die neuesten Betriebssystemfunktionen ausnutzen – einige der wichtigsten Eigenschaften, die mobile Anwendungen so wertvoll machen.

Ein weiteres Problem: Webanwendungen sind weniger praktisch als native Apps. Nutzer müssen sich daran erinnern, wie sie sich durch die App navigieren und das Lesezeichenmenü nutzen beziehungsweise wissen, wie sie Lese-zeichen auf dem Home-Bildschirm ablegen. IT-Administratoren können die Lesezeichen

Die Fortschritte in HTML5 bedeuten, dass Webanwendungen viele Funktionen bieten, die sonst native Apps zur Verfügung stellen.

Page 10: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID10

GENERATION-2-VMS

auf das Gerät mit MDM-Tools (Mobile Device Management) übertragen, dennoch erfordern Webanwendungen unterschiedliche Management-Prozesse als andere Apps.

Aus all diesen Gründen finden sich für mobile Webanwendungen nur wenige Anwendungsfälle in Unternehmen.

HYBRIDE APPS

Hybride Apps sind Web-Apps, die innerhalb einer Shell laufen. Konzeptionell bringt dieser Ansatz die besten Eigenschaften beider Welten zusammen: Entwickler können die Kernlogik der App in einer webbasierten Sprache schreiben, die sich auf verschiedene Plattformen übertragen lässt. Die Shell wiederum ist in der Lage, nativen Code zu verwenden, um mit den einzigartigen Funktionen des Geräts zu interagieren. Die IT eines Unternehmens kann daher eine hybride App praktisch wie eine native App managen und bereitstellen.

Hybride Anwendungen können so einfach wie eine eingebettete Website in eine native App oder sehr viel komplexer sein. Viele

App-Entwicklungs-Frameworks bieten die Möglichkeit, dass Entwickler eine App in einer webbasierten oder ähnlichen Sprache schreiben. Diese kann anschließend in eine native App für unterschiedliche Betriebssysteme kompiliert werden. Einige Entwicklungs-Frameworks bieten lediglich die Benutzeroberfläche für hybride Apps, wofür sie nativen Code und alle OS-geeigneten Design-Elemente bieten.

Das Konzept hybrider Apps ist beliebt, hat aber auch Nachteile. Die Verwendung einer Code-Basis für mehrere Betriebssysteme bedeutet, dass Entwickler einige Kompromisse eingehen müssen. Zum Beispiel unterstützt iOS nicht vollständig NFC, viele Android-Geräte aber schon.

FRAMEWORKS

Viele App-Entwicklungs-Frameworks bieten die Möglichkeit, dass Entwickler eine App in einer webbasierten oder ähnlichen Sprache schreiben.

Page 11: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID11

FRAMEWORKS

Zudem haben Android- und iOS-Anwendungen unterschiedliche Navigationskonventionen. In einigen Fällen kann der zusätzliche Aufwand, der erforderlich ist, damit das hybride Konzept auf mehreren Plattformen funktioniert, dazu führen, dass es einfacher und günstiger ist, in die native App-Entwicklung zu investieren.

WAS ZUSÄTZLICH BEACHTET WERDEN MUSS

Enterprise Apps müssen schließlich mit Infrastrukturkomponenten gekoppelt werden, damit Push-Benachrichtigungen, Management

und Security, Analytics, Datensynchronisation sowie die Verbindung zu Enterprise-Datenbanken und Feeds funktionieren.

Einige Entwickler sind der Meinung, dass hybrider und Webansatz gut genug für Enterprise Apps sind. Andere sind überzeugt, dass die Nutzererfahrung wichtiger ist und Apps alle Vorteile der nativen Features eines Mobile-Betriebssystems auskosten müssen. Doch verschiedene Apps und Situationen erfordern letztlich auch unterschiedliche Entwicklungsansätze und Überlegungen. –Jack Madden

Page 12: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID12

AWS VS. GOOGLE

App-Entwicklung für Mobilgeräte: Amazon Web Services (AWS) versus Google

Die IT-Welt hat ihren Wendepunkt erreicht: Stationäre Geräte sind out, aktuell gibt es mehr Mobile Devices als Desktop-PCs und Laptops. Kein Wunder, dass sich immer mehr Entwickler auf die mobile Welt konzentrieren. Eine wachsende Zahl von Entwicklern erstellt Anwendungen, die den Komfort von Smartphones und Tablets erweitern.

Die Herausforderungen in diesem Segment sind allerdings erheblich. Wenn innovative Organisationen wollen, dass ihre Anwendungen erfolgreich sind, dann müssen sie strategisch einen Weg finden, Entwicklung, Tests und Markteinführungszeit zu beschleunigen – und das alles bei hoher Qualität und Leistung.

Die Anforderungen an die Entwickler sind ebenfalls eine Herausforderung, weil immer mehr Tools auf den Markt kommen, die die schnelle Entwicklung unterstützen. Dies hat zu einem raschen Wachstum bei MBaaS-Lösungen (Mobile

Backend as a Service) geführt. MBaaS hilft Web- und Mobile-App-Entwicklern, Anwendungen mit Backend-Cloud-Servern und Storage-APIs zu verbinden. Beliebte MBaaS-Anbieter sind beispielsweise Feedhenry, Kinvey und Appery.io. Auch die drei großen Public-Cloud-Anbieter – AWS, Google Cloud Platform und Microsoft Azure – haben ihre eigenen MBaaS-Plattformen, die den Markt aufmischen.

AWS bietet die Gelegenheit, den Markt für die Mobile-Entwicklung anzuführen – wie es das bereits im Bereich Infrastructure as a Service macht. Es stellt verschiedene Dienstleistungen für mobile Anwendungen bereit und bündelt diese Services, um es Entwicklern einfach zu machen, Funktionen für Apps zu designen, hinzuzufügen, zu verwalten und zu konfigurieren.

AWS Mobil Hub ist eine integrierte Konsole, die Entwicklern hilft, Mobile Apps zu bauen, zu testen und im praktischen Einsatz zu

Page 13: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID13

AWS VS. GOOGLE

überwachen. Entwickler erstellen ein Projekt und wählen und konfigurieren Features für die App-Entwicklung. AWS Mobile Hub stellt automatisch die Ressourcen für die gewünschten Konfigurationen bereit und erzeugt eine funktionsfähige Quick-Start-App.

Die Mobile-Welt verfügt über drei Säulen, die sie zum Leben erwecken: App-Entwicklung, App-Distribution und App-Engagement. AWS Mobil Hub deckt alle drei Aspekte ab.

Die folgenden AWS-Mobile-App-Entwicklungs-Tools stehen zur Verfügung:

• Die meisten Mobile Apps brauchen eine Backend-Logik, um Code auszuführen. AWS Lambda ermöglicht es Entwicklern, ein mobiles Backend ohne eine Extra-Bereitstellung oder -Verwaltung von Servern zu erstellen. Der Benutzer kann seinen Code direkt auf Lambda hochladen und ihn in eine App implementieren.

• AWS Device Farm ermöglicht auf einer großen Anzahl physischer Geräte automatisierte Tests sowie den Fernzugriff auf Mobile Devices in Echtzeit.

• Die skalierbare und hochperformante

Amazon-DynamoDB-Datenbank ist eine vollständig gemanagte NoSQL-Datenbank. Sie unterstützt Dokumente und Key-Value-Konzepte und bietet zuverlässige Leistung bei hoher Skalierbarkeit.

• Amazon API Gateway hilft, Apps zu erstellen, zu veröffentlichen, zu warten, zu überwachen und zu sichern. Die mobile App ruft das

Amazon API Gateway auf, das den Aufruf an die Datenbank, Lambda-Funktionen oder einen anderen Dienst umleitet. Mit AWS Lambda im Backend und dem API-Gateway im Frontend unterstützt AWS dabei eine skalierbare, serverlose Cloud für MBaaS.

• Jeder AWS-Benutzer kann Elastic Compute Cloud (EC2), Relational Database Service,

AWS Lambda ermöglicht es Entwicklern, ein mobiles Backend ohne eine Extra-Bereitstellung oder -Verwaltung von Servern zu erstellen.

Page 14: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID14

AWS VS. GOOGLE

Elastic Load Balancing und Auto Scaling für Backend-Hosting und Scale-Management verwenden.

Wenn die App fertig ist, können Entwickler diese auf App-Plattformen verteilen, um mehr Nutzer zu gewinnen. Allerdings benötigen sie für die Benutzeranmeldung, Daten-speicherung und Verteilung von Inhalten ein Authentifizierungssystem. Amazon Cognito ermöglicht es dem Anwender, sich mit öffentlich zugänglichen Identity-Providern wie Facebook und Google+ anzumelden. Der Zugang wird ihnen auch über ein benutzerdefiniertes Identitäts-Management-System gewährt. Dies bedeutet, dass der Entwickler kein Identitätssystem von Grund auf neu erstellen muss.

Wenn ein Endbenutzer Daten wie Bilder, Spiel-ergebnisse und Videos speichern muss, stellt Amazon Simple Storage Service (S3) statischen Content-Speicher für das Internet bereit. Die App kann Amazon Cognito verwenden, um Daten direkt auf S3 hochzuladen. Auch mit Cognito kann die App DynamoDB aufrufen, um Daten wie zum Beispiel Spielergebnisse, Login-Daten und Freunde dauerhaft zu speichern.

Wenn eine App statische Inhalte verwendet, kann Amazon Cloudfront die Inhalte global über alle AWS-Regionen verteilen. Dies hilft, die Latenz zu reduzieren, da lokal vorgehaltene Caches genutzt werden.

Nachdem eine App verteilt wurde, sollte diese auch vermarktet werden. AWS bietet hierfür eine Vielzahl von Dienstleistungen und hilft dabei, mehr Endanwender zu binden.

Amazon Simple Notification Service (SNS) ermöglicht es einer App, Push-Benach-richtigungen an Apple-, Google, Fire-OS- und Windows-Geräte zu senden sowie in China auf Android-Geräte mit Baidu Cloud Push. Entwickler können dann Updates und Benachrichtigungen für die Endbenutzer erstellen, um sie zum Beispiel

Nachdem eine App verteilt wurde, sollte diese auch vermarktet werden. AWS bietet hierfür eine Vielzahl von Dienstleistungen.

Page 15: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID15

AWS VS. GOOGLE

über ein neues Feature zu informieren. SNS benachrichtigt den Benutzer sofort von einer installierten mobilen Anwendung.

Erfolgreiches App-Marketing basiert heute auf Analytics. Nutzungsmuster und Nutzerverhalten sind zum Beispiel wichtige Kennzahlen. Mit Amazon Mobile Analytics können diese verfolgt und die Nutzerinteraktion optimiert werden. Der Entwickler kann auch Amazon Redshift für die Kundenanalyse einsetzen.

GOOGLE KONTERT AWS

Jeder Nutzer eines Android-Smartphones weiß, dass Google die Welt der Mobile-Betriebssysteme regiert. Google bietet viele SaaS-Angebote

(Software as a Service) wie Google Docs, Gmail und Google Talk. In der mobilen Welt heißt das MBaaS-Angebot von Google Firebase. Die End-to-End Mobile App Development Suite von Google ist eine starke Konkurrenz für AWS.

Firebase ist eine vollständig gemanagte Platt-form zum Bau von iOS-, Android- und Web-anwendungen. Es sorgt für die automatische Datensynchronisation und beinhaltet Authentifizierungsdienste.

Wenn es darum geht, Mobile-Backend-Dienste zu bauen oder Prototypen zu entwerfen, ist Firebase ein effizienter Weg. Die echtzeitfähige, in der Cloud gehostete NoSQL-Datenbank hat eine REST API integriert, die für niedrige Latenz optimiert ist, und verfügt über einen Login-Dienst mit mehreren Arten von Built-in-Authentifizierung. Allerdings ist Firebase in manchen Punkten eingeschränkt, insbesondere in Bezug auf Management und Skalierbarkeit.

Kombiniert man Firebase mit der Google App Engine oder mit gemanagten virtuellen Maschinen (VM), erhält man viele Möglichkeiten für die Entwicklung, Verwaltung und Skalierung mobiler Anwendungen. Firebase kann mit Ruby,

Wenn es darum geht, Mobile-Backend-Dienste zu bauen oder Prototypen zu entwerfen, ist Firebase ein effizienter Weg.

Page 16: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID16

AWS VS.GOOGLE

Node.js, Python, Java, Clojure, PHP und Perl-Servern über Bibliotheken von Drittanbietern oder seiner REST API zusammenarbeiten.

Google bietet auch Cloud-Messaging, das Benachrichtigungen einschließlich Push-Nachrichten sendet. Das Firebase Cloud Test

Lab stellt Interessenten eine Cloud-basierte Infrastruktur zum Testen von Android-Anwendungen zur Verfügung. Der Google Cloud Security Scanner identifiziert Sicherheitslücken in App-Engine-Webanwendungen. Stackdriver Trace überwacht die Performance mit auto-matisierter Zustandsüberwachung für App Engine und gemanagte VMs.

Firebase läuft derzeit nur in seiner eigenen Public Cloud und bietet keine Optionen für einen anderen Speicherort. Firebase funktioniert derzeit auch nicht mit HIPAA, PCI DSS oder FIPS-Standards, und es erlaubt keine Datenspeicherung in der EU. –Ofir Nachmani

Firebase läuft derzeit nur in seiner eigenen Public Cloud und bietet keine Optionen für einen anderen Speicherort.

Page 17: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID17

ANDROID- APPS

ENTWICKELN

Grundlagen der App-Entwicklung für Android

Wenn man mit der Entwicklung für Android beginnen möchte, ist es ein guter Einstieg, ein Google-Entwicklerkonto über die Google Play Developer Console zu eröffnen. Für die Registrierung verlangt Google eine Gebühr in Höhe von 25 Dollar. Im Gegensatz zu Apple, das pro Jahr eine Gebühr von 99 Dollar in Rechnung stellt, fallen allerdings keine weiteren jährlichen Kosten an.

Im nächsten Schritt sollte man sich das Android-Entwicklungs-Tool von Google, Android Studio, herunterladen. Android Studio bietet die Werkzeuge, die erforderlich sind, um Anwendungen für Android-Smartphones und -Tablets, Android Wear, Android TV und Android Auto zu entwickeln.

Eine wichtige Voraussetzung für die Ent-wicklung von Android-Apps ist das Erlernen von Java. Zwar lassen sich Android-Apps sowohl in C++ als auch in Java entwickeln, doch viele Entwickler beginnen mit Java und wechseln

anschließend nicht mehr zu einer anderen Programmiersprache.

Die größte Herausforderung bei Android ist, dass es ein freies Betriebssystem ist, so dass Hersteller von Mobilgeräten das Betriebssystem modifizieren können. Nehmen wir als Beispiel

ein Samsung-Smartphone. Die Android-Version auf einem Samsung Smartphone wird mit verschiedenen proprietären Tools und Services ausgeliefert. Einen Schritt weiter geht Amazon mit Fire OS, einer stark modifizierten Version

Es ist gut, eine Wahl zu haben. Jedoch sollte man sich informieren, wie lange es dauert, Apps über viele verschiedene App Stores zu verwalten.

Page 18: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID18

ANDROID- APPS

ENTWICKELN

von Android (Amazon nennt sein Betriebssystem nicht einmal Android).

Der Schlüssel zum Erfolg bei der Entwicklung für Android ist es, eine Anwendung zu entwickeln, die sich an die jeweilige Bildschirm-auflösung anpasst (responsives Design) und Kernfunktionen für Android bietet. Man sollte es außerdem vermeiden, sich zu stark von kunden-spezifischen APIs der Mobilgerätehersteller abhängig zu machen, da die Anwendung damit lediglich einem kleinen Nischenmarkt zur Verfügung gestellt wird.

Die letzte Stufe in der Android-Entwicklung ist der Verkauf der App. Der Standard App Store ist Google Play. Die Google-Play-Publish-Website bietet Tools, die dazu dienen, Apps zu verkaufen, zu verwalten, zu analysieren und sie zu aktualisieren. Allerdings ist Google Play nicht der

einzige Android App Store. Dies liegt daran, dass Google Play nicht in China verfügbar ist. Zu den weiteren Android App Stores zählen:

• Amazon App Store• GetJar• Slide Me• Samsung Galaxy Apps• Mobogenie Market

Es ist gut, eine Wahl zwischen mehreren Alternativen zu haben. Jedoch sollte man sich informieren, wie lange es dauert, Apps über viele verschiedene App Stores zu verwalten.

Letztlich gilt aber, dass die Entwicklung für Android preiswert ist und Spaß macht. Man kann eine App relativ einfach entwickeln und schnell in Betrieb nehmen. Außerdem gibt es eine große Community, die einem bei der Entwicklung der ersten App helfen kann. –Matthew David

Page 19: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID19

XXX

Grundlagen der App-Entwicklung für Apple iOS

Die Entwicklung nativer Apple-iOS-Apps ist eher ein Hindernis-Parcours als ein Spaziergang im Park. Mehrere Voraussetzungen sind notwendig, um erfolgreich iOS-Apps zu bauen: Entwickler müssen die integrierte

Entwicklungsumgebung (IDE) von Apple beherrschen und ihren Programmcode entweder mit der Programmiersprache Swift oder mit Objective-C schreiben. Sie müssen die grundlegenden Abstraktionsschichten verstehen, die iOS definieren, und sie müssen wissen, wie die App-Dateien gebündelt sind.

Um eine App erfolgreich zu starten, ist zudem eine effektive Benutzeroberfläche (UI) zu bauen, die die User Experience (UX) auf allen Ebenen verbessert.

XCODE IDE

Theoretisch können Entwickler iOS-Anwendungen unter Verwendung von Cross-Plattform-Frameworks bauen. Allerdings ist die Xcode IDE von Apple (aktuell Version 8) das effizienteste und umfassendste iOS-Application-Development-Tool, das zur Verfügung steht. Xcode kann gratis heruntergeladen werden, funktioniert aber nur auf einem Mac mit OS X Yosemite oder höher.

Das Apple-Werkzeug enthält alle Funktionen, die Entwickler brauchen, um eine iOS-App zu entwerfen, zu bauen und zu debuggen. Sie können damit auch Anwendungen für Mac OS X beziehungsweise macOS, die Apple Watch

IOS-APPS ENTWICKELN

Um eine App erfolgreich zu starten, ist eine effektive Benutzeroberfläche zu bauen, die die User Experience auf allen Ebenen verbessert.

Page 20: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID20

XXX

(watchOS) und Apple TV (tvOS) bauen. Xcode stellt die Editoren und Funktionen bereit, die notwendig sind, um mit dem Code und den Interface-Elementen zu arbeiten sowie die Dateien zu organisieren, die die App bilden, und es enthält Vorlagen für die Entwicklung der üblichen App-Typen.

Xcode umfasst auch Tools wie den iOS-Simulator, der bestimmt, wie eine App auf den verschiedenen Geräten aussehen und sich verhalten wird. Die Auto-Layout-Funktion entwirft Apps, die sich automatisch an ver-schiedene Gerätegrößen anpassen. Entwickler können Storyboards verwenden, um visuelle Dar-stellungen einer App-Schnittstelle zu erzeugen, und dann die Gliederungsansicht für eine hierarchische Darstellung der Objekte verwenden.

OBJECTIVE-C VERSUS SWIFT

Vor 2014 verwendeten Entwickler, die eine iOS-App in Xcode bauten, Objective-C. 2014 stellte Apple dann auf Swift um. Die Sprache wird damit beworben, dass sie leichter zu erlernen und besser zu handhaben ist, wenn es darum geht, mit den

Feinheiten der iOS-Anwendungsentwicklung umgehen zu können.

Entwickler, die eine bestimmte Sprache auswählen müssen, nehmen in der Regel diejenige, die sie bereits kennen. Allerdings gibt es weitere Faktoren, die bei der Wahl einer Sprache berücksichtigt werden sollten. Wenn sie zum Beispiel Apps für eine ältere Version von iOS entwickeln oder mit C#-Bibliotheken arbeiten, dann sollten sie besser Objective-C nehmen.

Swift gewinnt allerdings derzeit immens an Popularität; deshalb sollten Entwickler auch diesen Faktor berücksichtigen.

DIE IOS-ARCHITEKTUR

Entwickler können sich iOS als ein Betriebssystem in vier Abstraktionsschichten vorstellen, die seine Architektur definieren:

• CocoaTouch:Unterstützt die grundlegende App-Infrastruktur und liefert wichtige Anwendungs-Frameworks wie Push-Benachrichtigungen, Multitasking und Touch-basierte Eingabe.

• Medien: Ermöglicht der App die Nutzung

IOS-APPS ENTWICKELN

Page 21: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID21

XXX

von Audio-, Video- und Grafikfunktionen.• CoreServices:Hier finden Entwickler

grundlegende Systemdienste wie die Core Foundation und das Foundation Framework. Diese Schicht unterstützt auch Funktionen wie Standort- und Netzwerkdienste.

• CoreOS: Bietet Dienstleistungen wie Sicherheit, lokale Authentifizierung und Core-Bluetooth-Frameworks.

Apple empfiehlt Entwicklern, Code – wann immer möglich – für die höchste betreffende Schicht zu schreiben und die untergeordneten Frameworks nur für die Eigenschaften zu nutzen, die auf den höheren Ebenen nicht verfügbar sind.

MEHR ALS NUR CODIERUNG

Obwohl das Schreiben von Code grundsätzlich das Herz der iOS-App-Entwicklung bildet, dürfte dies am Ende der leichteste Teil des gesamten Application Lifecycles sein.

Um Probleme zu identifizieren und zu beheben, müssen Entwickler ihren Code testen und überprüfen. Xcode enthält einen Debugger, der Entwickler dabei unterstützt, Probleme zu

lokalisieren und den Kontrollfluss sowie die Datenstruktur zu untersuchen, um dann ihren Code entsprechend zu revidieren.

DAS ANWENDUNGSPAKET

Jede iOS-App wird in ein Bundle verpackt, ein Dateisystemverzeichnis, das eine Reihe von miteinander verknüpften Ressourcen enthält.

Im Herzen des Pakets befindet sich die App als ausführbare Datei, die den kompilierten Code enthält – der Dateiname für die ausführbare Datei ist der gleiche wie der Name für die App, ohne die Erweiterung .app.

Das Paket enthält auch eine Datei mit Infor-mationen zu den Property-Listen. Diese

Obwohl das Schreiben von Code das Herz der iOS-App-Entwicklung bildet, dürfte dies der leichteste Teil des gesamten Application Lifecycles sein.

IOS-APPS ENTWICKELN

Page 22: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID22

XXX

beinhalten Metadaten, die das Betriebssystem verwendet, um mit der App sowie mit den Storyboard-Dateien, die die Schnittstelle auf den Bildschirm bringen, zu interagieren. Das Bundle enthält auch Bild-, Ton- und Videodateien,

einschließlich der Home-Screen-Icons und der temporären Bilder, die verwendet werden, wenn die Anwendung geladen wird.

Zu den anderen Dateitypen, die ebenfalls noch in dem Paket enthalten sind, gehören benutzerspezifische Datendateien und lokalisierte Ressourcendateien, die in eigenen,

sprach-spezifischen Sub-Directories abgelegt werden. Entwickler können auch eine optionale Bundle-Datei einbinden, die App-Einstellungen definiert. Die Einstellungen-App verwendet diese Datei, um die Elemente der App-UI zusammenzubauen.

NUTZEROBERFLÄCHE UND USER EXPERIENCE

Eine iOS-App ist viel mehr als ein Paket einzelner Dateien. Um eine App erfolgreich zu starten, müssen die Entwickler das Design der Nutzeroberfläche (UI) und die User Experience (UX) bei jedem Schritt auf dem Weg zum Endprodukt im Auge behalten. Die Benutzer der App sollten den Content sehen, ihn verstehen und mit ihm interagieren können, ohne ständig scrollen oder zoomen zu müssen – der Text muss deshalb immer lesbar sein. User sollten auch Touch-Funktionen jederzeit nutzen und Aufgaben mit möglichst wenigen Schritten ausführen können. –Robert Sheldon

Die Benutzer der App sollten den Content sehen, ihn verstehen und mit ihm interagieren können, ohne ständig scrollen oder zoomen zu müssen.

IOS-APPS ENTWICKELN

Page 23: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID23

XXX

Android versus iOS: Welche ist die beste Mobile-Plattform für die erste App?

Die Welt der Mobile-Anwendungen ändert sich ständig – zwar nicht so schnell, wie die Presse einen glauben machen will, dennoch bewegt sie sich in kurzen Zyklen. Muss man sich für die beste Mobile-Plattform entscheiden, für die man eine App entwickeln möchte, ist es am besten, auf bereits bekannten Informationen aufzubauen.

Im globalen Maßstab dominiert Android die Mobile-Welt. Nach Angaben von Google gibt es 1,4 Milliarden aktive Android-Konten, die Apps herunterladen. Glaubt man dieser Angabe, ist die Antwort auf die Frage, welche Plattform sich am besten für die erste App-Entwicklung eignet, einfach: Android.

Doch die Antwort ist leider nicht so simpel. Auch wenn Apple nicht die gleiche Anzahl aktiver Geräte und Nutzerkonten wie Google vorzuweisen hat, geben die Nutzer von iOS-Geräten im Durchschnitt mehr Geld pro Gerät aus. Apple dominiert mit einem Anteil von 70

Prozent am Gesamtumsatz den App-Markt. In diesem Fall wäre die Antwort ebenfalls einfach: Man sollte für iOS entwickeln.

Doch auch das ist nicht die richtige Antwort. Die Menschen in Schwellenländer wie China und Indien neigen stark dazu, Android-Geräte zu

kaufen. Insbesondere in Indien hat Android einen Marktanteil von 90 Prozent an allen Geräten.

Das Ergebnis ist, dass Mobile-Apps sowohl iOS als auch Android unterstützen müssen. Die zentrale Frage ist daher: Auf welcher Plattform

IOS VS. ANDROID

Mobile-Apps müssen sowohl iOS als auch Android unterstützen. Die Frage ist, auf welcher Plattform man eine App als Erstes veröffentlicht.

Page 24: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID24

XXX

veröffentlicht man eine App als Erstes? Um diese Frage zu beantworten, sollte man sich seinen Markt genau anschauen und bestimmen, welche die geeignete Plattform ist.

Entwickelt man zum Beispiel eine App für den US- oder UK-Markt, sollten die Entwicklungs-bemühungen zuerst auf iOS konzentriert werden, da iOS hier einen relativ hohen Marktanteil

bei den Mobilgeräten hat. Anschließend sollte man die Erfahrungen daraus analysieren und auf Android übertragen. Möchte man eine App dagegen zuerst in Südafrika oder Deutschland veröffentlichen, sollte Android als erste Plattform in Betracht gezogen werden.

Schließlich sollte man auch die unterschied-lichen Nutzererfahrungen mit Android und Apple iOS berücksichtigen, da beide ein unterschiedliches Erlebnis bieten. Eine iOS-App sollte nicht eins zu eins auf Android übertragen werden. Wenn Android-Nutzer das Gefühl haben, dass eine App zu stark nach einer iPhone-App aussieht, könnten sie eventuell den Einsatz der App stoppen. Man sollte die App-Erfahrung daher jeweils für beide Plattformen anpassen. Das Ziel ist schließlich, den Erfolg der App auf beiden Betriebssystemen zu messen. –Matthew David

IOS VS. ANDROID

Wenn Android-Nutzer das Gefühl haben, dass eine App zu stark nach einer iPhone-App aussieht, könnten sie eventuell den Einsatz der App stoppen.

Page 25: Grundlagen der App-Entwicklung für Apple iOS und Google ......APP-ENTWICKLUNG: Entwicklung eigener Apps voraus. IOS VS. ANDROID ÜBER DIE AUTOREN 2 GRUNDLAGEN DER APP-ENTWICKLUNG

EDITORIAL

PLATTFORMEN FÜR DIE

APP-ENTWICKLUNG

ENTWICKLUNGS-FRAMEWORKS

APP-ENTWICKLUNG:

AWS VS. GOOGLE

ANDROID-APPS ENTWICKELN

IOS-APPS ENTWICKELN

APP-ENTWICKLUNG:

IOS VS. ANDROID

ÜBER DIE AUTOREN

GRUNDLAGEN DER APP-ENTWICKLUNG FÜR APPLE IOS UND GOOGLE ANDROID25

ÜBER DIE AUTOREN

MATTHEW DAVID ist bei Kimberly-Clark für das Mobile Center of Excellence verantwortlich und kümmert sich um die Weiterentwicklung sowie Bereitstellung mobiler Anwendungen. David ist außerdem Autor mehrerer Bücher zu Mobility-Themen.

JACK MADDEN schreibt in seinem Blog BrianMadden.com über alles, was mit Enterprise Mobility Management zu tun hat. Zuvor arbeitete er als Redakteur bei ConsumerizeIT.com (inzwischen Teil von BrianMadden.com) und hat zudem für SearchVirtualDesktop.com geschrieben.

OFIR NACHMANI ist Berater für Business-Technologien, Blogger und Dozent. Auf seinem Blog IamOnDemand.com setzt sich Nachmani kritisch mit verschiedenen Technologien auseinander. Außerdem berät er Unternehmen beim Einstieg in neue IT-Märkte und entwickelt Marktstrategien.

ROBERT SHELDON ist technischer Berater und Autor mehrerer Bücher, Artikel und Schulungsmaterialien über Microsoft Windows, Mobile Apps, relationale Datenbank-Management-Systeme (DBMS) sowie Design und Implementierung von Business Intelligence.

Grundlagen der App-Entwicklung für Apple iOS und Google Android

ist eine Publikation von SearchEnterpriseSoftware.de

Michael Eckert | Editorial Director

Malte Jeschke | Senior Online Editor

Wolfgang Dietl | Online Editor

Tobias Wendehost | Online Editor

Jakob Jung | Online Editor

Becky Wrigley | Copy Editor/Layout

Bill Crowley | Herausgeber [email protected]

TechTarget 275 Grove Street, Newton, MA 02466

www.techtarget.com

© 2016 TechTarget Inc. Kein Teil dieser Veröffentlichung darf ohne vorherige schriftliche Genehmigung des Verlages in irgendeiner Form oder auf irgendeine Weise weitergegeben oder reproduziert werden. Nachdrucke von TechTarget-Pub-likationen sind verfügbar über The YGS Group.

ÜberTechTarget: TechTarget publiziert Informationen für Profis im Bereich In-formationstechnologie. Mehr als 100 Themen-Websites ermöglichen schnellen Zugriff auf ein reichhaltiges Angebot an Nachrichten, Ratgebern und Analysen über die Technologien, Produkte und Prozesse, die entscheidend sind für beruflichen Erfolg. Unsere Live- und virtuellen Veranstaltungen vermitteln direkten Zugang zu den Einschätzungen und Ratschlägen unabhängiger Experten. IT Knowledge Exchange, unsere soziale Community, bietet die Möglichkeit, um Rat zu fragen und sich mit Kollegen und Experten über Lösungen auszutauschen.