Beitragsbild iOS-EntwicklungDie Einführung des iPhone im Jahr 2007 hat den Smartphone-Markt grundlegend verändert. Mobiltelefone mit Touch-Bedienung und Gestensteuerung sind heute Standard, Betriebssysteme wie Android und Windows Phone sind an diese neuen Bedienkonzepte angepasst und haben sich erfolgreich im Markt etabliert.

Doch natürlich ist auch die Hardware des iPhones nichts ohne die zugrundeliegende Software. Mit iOS (das bis zum Erscheinen des iPads noch unter dem Namen iPhone OS firmierte) hat Apple ein Betriebssystem geschaffen, das voll und ganz für die Nutzung auf mobilen Geräten mit Touch-Displays ausgerichtet ist. Bereits das Ur-iPhone begeisterte mit einem cleveren Bedienkonzept und den neu eingeführten Touch-Gesten eine Vielzahl an Nutzern, und bis heute ist der Erfolg des iPhones ungebrochen. Nicht zuletzt ist dieser Erfolg mit Sicherheit zu einem großen Teil iOS zu verdanken, das aus der reinen Hardware- und Feature-Spezifikation erst ein funktionierendes System macht.

Bis zur Version 2.0 von iOS (beziehungsweise dem damaligen iPhone OS) war das iPhone eine gänzlich geschlossene Plattform; einen App Store gab es zu diesem Zeitpunkt noch nicht. Neue Anwendungen konnten ausschließlich in Form von Web Apps installiert werden, die über den nativen Browser Safari ausgeführt wurden (und wie es auch heute noch als Alternative zu nativen App Store-Apps möglich ist).

Mit der Veröffentlichung des iPhone OS 2.0 im Jahr 2008 öffnete auch der App Store seine Pforten, und mit ihm hatten erstmals Dritt-Entwickler die Möglichkeit, eigene native Apps zu entwickeln und zu vertreiben. Der App Store hat sich dabei als lukrative Einnahmequelle etabliert, auch heute noch wird iOS von vielen Entwicklern als primäre Plattform genutzt (sofern es um die Monetarisierung eigener Anwendungen geht).

Selbstredend hat sich seit dem Jahr 2008 und Version 2.0 von Apples Mobile-Betriebssystem eine Menge getan. Sowohl die Hardware als auch die Software hat sich in den letzten Jahren signifikant weiterentwickelt, neue Services und iOS-Geräte fanden ihren Weg in Apples Produktportfolio. Und auch Entwickler erhielten durch den steten Ausbau der SDKs immer neue Möglichkeiten, ihre eigenen Apps zu verbessern und zu erweitern.

Mit In-App-Käufen, Game Center, iCloud, HealthKit oder Apple Pay erweitert sich nicht nur die bestehende Infrastruktur der iOS-Plattform, nein, auch wir Dritt-Entwickler profitieren von der steten Weiterentwicklung und haben die Möglichkeit, bestehende App-Projekte zu erweitern und um sinnvolle neue Funktionen zu ergänzen beziehungsweise komplett neue und spannende App-Projekte zu kreieren und ins Leben zu rufen. Und mit unserer Blogserie zum Thema „iOS-Entwicklung – Theorie, Techniken und Trends“ auf Hanser Update wollen wir Ihnen eben einen Einblick in all die aktuellen Möglichkeiten und Besonderheiten in der iOS-Entwicklung geben. Zu diesem Zweck haben wir uns einige der spannendsten Themen aus dem Bereich der App-Entwicklung für iOS herausgesucht und präsentieren diese nun in nacheinander erscheinenden Blog-Artikeln, die wir darüber hinaus am Ende allesamt gesammelt als kostenloses E-Book für jedermann als Nachschlagewerk bereitstellen möchten.

Frameworks über Frameworks

Die essentiellen Grundlagen in der iOS-Entwicklung haben sich mit der Zeit kaum verändert. Mit dem Foundation Framework und dem UIKit Framework – eben den Frameworks, die Grundlage einer jeden iOS-App sind – werden nach wie vor seit Version 2.0 von iOS alle Apps entwickelt. Essentielle Klassen wie UIViewController sind auch heute noch Teil eines jeden iOS-Projekts, auch wenn die bestehenden Klassen und Frameworks natürlich mit der Zeit ihrerseits gewachsen sind und erweitert wurden. Am spannendsten sind tatsächlich all die neuen Frameworks, die Apple in regelmäßigen Abständen – meist auf seiner alljährlichen Entwicklerkonferenz WWDC – vorstellt und veröffentlicht und damit neue Pforten im Bereich der iOS-Entwicklung aufstößt. Alleine im letzten Jahr – auf der WWDC 2014 – kamen eine Fülle an neuen Frameworks hinzu. Sei es nun das LocalAuthentication Framework zum Zugriff auf den Touch ID-Sensor von iPhone und iPad oder das Gaming-Framework Metal, das grafisch aufwendige und zugleich performante 3D-Spiele hervorbringen soll; die Tools und Bibliotheken werden ständig aktualisiert und der gegebenen Hard- und Software der verschiedenen iOS-Geräte angeglichen. Daher werden ich Ihnen auch in unsrem ersten Beitrag der Blogserie einen Überblick über die aktuell bestehenden und spannendsten Apple-Frameworks in der iOS-Entwicklung geben und deren jeweilige Funktionsweise vorstellen.

Neben den bekannten iOS-Geräten iPhone, iPad und iPod touch führte Apple nach über vier Jahren Entwicklungsarbeit nun ein weiteres Produkt ins Rennen, das für iOS-Entwickler mehr als spannend ist: die Apple Watch. Bereits zum jetzigen Zeitpunkt sind über 1.000 Apps für die Computeruhr aus Cupertino erhältlich und es vergeht kaum ein Tag, an dem nicht weitere Hersteller Updates mit Apple Watch-Unterstützung ihrer bestehenden Apps veröffentlichen. Da (zumindest zum jetzigen Zeitpunkt) alle Apps für die Apple Watch eine bestehende iPhone-App voraussetzen, stellt diese Plattform eine interessante Ergänzung für die eigenen verfügbaren iPhone-Apps dar. Auch dürfen wir gespannt sein, wie sich die Apple Watch als Plattform in den nächsten Jahren noch weiterentwickeln wird; eine mögliche langfristige Entkopplung vom iPhone hat Apple ja bereits angedeutet. Eine Einführung in die Entwicklung eigener Apps für die Apple Watch wird ebenfalls Teil dieser Blogserie sein.

Modernes UI- und UX-Design

Möchte man sich heute von anderen Apps unterscheiden und seine Einzigartigkeit unter Beweis stellen, so führt kein Weg an einem modernen User Interface und einer innovativen wie nutzerfreundlichen User Experience vorbei. Und diese beiden Dinge sind bereits bei der Planung einer App essentiell und ausschlaggebend für den Erfolg (oder den Misserfolg). UI und UX brauchen Zeit und sollten nicht als unnötige Spielerei abgetan werden. Karolina Schilling, die im kommenden Halbjahr ihr Buch Apps machen bei Hanser veröffentlichen wird, steuert einen eigenen Beitrag zu diesem Thema bei und gibt einen Einblick in die moderne Welt des UI- und UX-Designs für mobile Apps.

Sicherheit in der iOS-Entwicklung

Ein Thema, welches heutzutage immer wichtiger wird und immer mehr Diskussionen beherrscht, ist Sicherheit. Apple hat dabei mit der doch sehr abgeschotteten iOS-Plattform generell bereits gute Vorarbeit geleistet. So lebt jede App in einer eigenen Sandbox und kann nur auf die eigenen Dateien und Ordner zugreifen. Zugriff auf andere Applikationen oder andere Dateien wie Fotos, Adressen oder Dokumente anderer Apps können bestenfalls nur über Schnittstellen abgefragt werden, die jede App spezifisch implementieren muss und die alle über die dokumentierten Frameworks von Apple laufen. Diese greifen auch, um den Nutzer auf mögliche Zugriffe auf Dateien außerhalb der gerade aktiven App aufmerksam zu machen, beispielsweise wenn eine App auf die in der nativen Fotos-Anwendung gespeicherten Bilder und Videos zugreifen möchte. Nur wenn der Nutzer das in diesem Moment explizit erlaubt, hat eine App überhaupt erst die technische Möglichkeit, derartige Informationen auszulesen.

Doch auch wenn die bereits grundlegend für alle Apps zur Verfügung stehenden Sicherheitsmechanismen eine wirklich tolle Sache sind, so gibt es doch gewisse Fallstricke und Besonderheiten, wo auch wir als App-Entwickler besondere Sorgfalt walten lassen und sicherstellen müssen, das mit den Daten der eigenen App kein Schindluder getrieben werden kann. Gerade bei Apps, die mit sensiblen Daten hantieren, wie Banking-Apps oder Apps zum Sichern von Passwörtern, gilt es, entsprechende Sicherheitstechniken zu implementieren um einen ausreichenden Schutz dieser Informationen zu gewährleisten. Aus diesem Grund werden unsere Autoren Manuel Ziegler und Raphael Arias das Thema Sicherheit in einem eigenen Beitrag ausführlich und detailliert beleuchten und aufzeigen, wie sich heute sichere Apps für iOS entwickeln lassen.

Ein Blick über den Tellerrand

Oftmals wird vergessen, dass es aus dem Hause Apple eine weitere erfolgreiche Plattform gibt, die der von iOS gar nicht unähnlich ist: Der Mac mit seinem Betriebssystem OS X. Auch wenn beide Plattformen per se extrem unterschiedlich sind, so haben sie unter der Haube doch einiges gemeinsam. Selbst die grundlegenden Frameworks für die iOS-Entwicklung wie das Foundation Framework oder das CoreData Framework sind sowohl unter iOS als auch OS X identisch, mit ihnen geschriebener Code kann also auf beiden Plattformen gleichermaßen ausgeführt und verwendet werden. Und mit der Einführung des Mac App Store hat Apple auch einen weiteren Vertriebskanal geschaffen, um auch Apps für OS X ohne Probleme einem großen und internationalen Publikum zur Verfügung zu stellen. Unser Autor Christian Kienle führt darum in einem eigenen Beitrag in die Entwicklung von Apps für OS X ein und zeigt die Besonderheiten im Vergleich zu iOS auf.

Einer unter vielen

Abseits der eigentlichen Entwicklung wird ein Punkt immer wichtiger, und zwar das Marketing. Ohne vernünftiges Marketing gibt es heutzutage kaum noch eine Chance, eine erfolgreiche App im App Store zu platzieren, ganz gleich ob es sich nun um den Apple App Store, Google Play oder Microsofts Windows Store handelt. Wenn man nicht gerade zufällig von den App Store-Betreibern an prominenter Stelle vorgestellt und hervorgehoben wird, muss man selbst dafür Sorge tragen, die eigene App bekannt und im jeweiligen App Store auffindbar zu machen. Die Best Practices in Sachen App-Marketing stellt Autor Robert Weller in einem eigenen Beitrag ausführlich vor.

Apple Pay, Xcode Server, Einführung in Git und mehr

Mit all diesen Themen ist unsere Blogserie zur iOS-Entwicklung aber noch nicht am Ende. Zusammen mit den Autoren Marcus Ross und Robert Weller beleuchten wir Apples neuen Bezahldienst Apple Pay, geben einen Einblick in die Funktionsweise von Xcode Server, behandeln das Thema Multitasking unter iOS, stellen die Entwicklung für die iCloud sowie hilfreiche Tools und Apps für App-Entwickler vor und geben eine Einführung in die Versionsverwaltung mit Git.

Ich persönlich freue mich immens über die Themenvielfalt und das Themenspektrum, das dieses einzigartige E-Book-Projekt abdeckt und bin sehr auf das fertige Ergebnis gespannt. Ihnen – liebe Leserin, lieber Leser – wünsche ich viel Vergnügen mit der Blogserie, den einzelnen Beiträgen und dem finalen E-Book.