AiOS Apps entwickeln

iOS Apps entwickeln

Seit es das iPhone gibt, ist es zum ständigen Begleiter und Alleskönner mutiert. iPhone- und iPad – Apps sind beliebter denn je. Wieso also nicht eigene Apps für sein Apple Gerät programmieren? Doch bevor man startet, gibt es einiges zu bedenken. In diesem Text erfahren Sie, was Sie beachten müssen, wenn Sie iOS Apps entwickeln möchten.

Voraussetzungen zum Entwickeln von iOS Apps

Wer iOS Apps entwickeln möchte, braucht als wichtigste Voraussetzung erst einmal einen Apple Rechner, denn nur auf diesem läuft das benötigte Programm xCode. Dann muss man sich bei Apple als Entwickler eintragen lassen, um die Programmierumgebung xCode zu erhalten. Durch Zahlung einer jährlichen Gebühr, erhält man die Befugnis, seine  IPhone- oder iPad Apps in den App – Store  zu stellen.

Um Apps zu programmieren braucht man also einen Apple Computer oder ein Macbook auf dem Mac OSX läuft. Programmieren kann man dann entweder mit Objective-C oder der Apple eigenen Programmiersprache Swift. An der Verwendung von „Objective-C“ oder Swift  führt jetzt kein Weg mehr vorbei, denn auf Apple Geräten ist es nicht mehr möglich, seinen Code in einer anderen Programmiersprache zu schreiben.

Mit Swift ist eine Multiparadigmen-Sprache entwickelt worden. Multiparadigmen-Sprachen bieten beim Software-Entwurf die Möglichkeit, Probleme durch vollkommen unterschiedliche Ansätze zu lösen, indem Ideen von anderen Programmiersprachen aufgegriffen werden. So ist mit Swift eine weitere gute Möglichkeit zum Programmieren für die Plattformen iOS und macOS entstanden.

Zur Registrierung  als Apple Entwickler  geht man zuerst auf die Apple Developer Site. Auf dieser erscheint dann der Button „Enroll“, auf den man klicken muss um sich anzumelden. Hat man das erledigt, kann man seinen Code, den man mit dem Programm xCode und zum Beispiel der Sprache Swift erstellt hat, auf dem iPhone oder iPad anzeigen lassen und testen.

Dabei ist es völlig normal, dass mitunter ein paar Monate vergehen können, bis man seine erste App auf dem Macbook oder Apple Computer (Mac) erstellt hat. Da heißt es nicht aufgeben und so lange dran bleiben, bis man seinen ersten Artikel für den App store fertiggestellt hat.

iOS Apps entwickeln mit Swift

Swift soll es den Entwicklern einfacher machen für iOS und MacOS zu programmieren. Zurzeit ist Swift eher noch als eine Erweiterung der Programmiersprache Objective-C zu sehen. Es ist allerdings nicht abwegig zu glauben, das Swift diese Sprache aus den 80ern über kurz oder lang komplett ersetzen wird. bei Swift handelt es sich um eine neue Programmiersprache für Cocoa und Cocoa Touch, die beiden Frameworks für OS X. Die Apps werden mit Apples IDE xCode 6 erstellt. Da sich die Sprache mit Objective-C versteht, können die Entwickler ihre Objective-C Anwedungen schon jetzt um den Swift-code ergänzen.

Die Anwendung von Swift weist eine ganze Reihe von Vorteilen auf. Zum Beispiel müssen sich Entwickler nicht mehr um die Arbeitsspeicher Zuweisung kümmern – das macht Swift ganz automatisch. Vorgenommene Änderungen am Code können Dank der Live Preview von Swift sofort gesehen werden. Des Weiteren lässt sich die Sprache nicht nur leichter programmieren, sondern die Codes lassen sich auch leichter lesen. Besonders ist auch, das Swift Type-Inference anbietet. Das bedeutet, dass Deklarationen keinem Typ mehr zugeordnen werden müssen. Durch den übergebenen Wert, werden Rückschlüsse darauf gezogen, zu welchem Typ die Variable gehört. Ansonsten ähnelt Swift der  Programmiersprache Python in vielen Gesichtspunkten und ist somit auch für Anfänger leicht zu erlernen.

Will man Apples neue Programmiersprache lernen, findet man dazu im Internet eine ganze Reihe nützlicher Informationen. Apple selbst hat dazu ein eigenes Buch herausgebracht, welches im iBooks – Store kostenlos heruntergeladen werden kann. Das Buch dient zur Einführung in die Entwicklung mit OS X.

Neben den offiziellen Quellen von Apple, finden sich online noch viele weitere Informationsquellen. Bei LearnSwiftOnline findet man zum Beispiel viele nützliche Kurzanleitungen. Und auf YouTube  viele Tutorials, die sich explizit an Anfänger richten. Wer aufeinander aufbauende Tutorials sucht, wird dazu ebenfalls im Internet fündig.

iOS Apps Entwickeln mit Objective-C

Bei Objective-C handelt es sich um eine Erweiterung der Programmiersprache C. Sie erweitert C um Sprachmittel zur objektorientierten Programmierung. Objective-C ist eine Obermenge von C. Das heißt, dass jedes C – Programm mit einem Objective-C-compiler kombiniert werden kann. Objective-C ist die Primäre Sprache von Cocoa und GNUstep.

Unter den im TIOBE Index erfassten Sprachen konnte sie 2011 und 2012 den größten Zuwachs gengerieren und erhielt deswegen zweimal den Titel „Sprache des Jahres“. Sie wurde 1980 von Brad Cox und Tom Love entwickelt. NeXT hat die Programmiersprache dann später in die GNU Compiler Collection integriert. Sie sollte als Basis für NeXTSTEP dienen.

Die Syntax und Konzeption der Erweiterung sind an Smalltalk angelehnt und sind strickt von der prozeduralen C-Syntax getrennt. Die Trennung erlaubt es,  das Erweiterungskonzept auf andere imperative Sprachen anzuwenden. Der Hauptgedanke bei Objektive-C war es, sich dem Smalltalk anzunähern. Jedoch wollte man auf alles verzichten, was das Laufzeitverhältnis verschlechtern könnte. Viele Konzepte von Objektive-C werden durch die Frameworks Cocoa und GNUStep ermöglicht. Das Gesamte Laufzeitsystem besteht aus C-Funktionen. Daher ist eine Darstellung ohne das entsprechende Lauftzeitsystem kaum denkbar.

Eine besondere Eigenschaft von Objective-C ist das Binden von Methoden. Polymorphie ist im Gegensatz zu anderen Sprachen nicht nur innerhalb einer Klassenhierarchie möglich, sondern auch darüber hinaus. Daher ist es für den Absender nicht nötig, die Klasse des Empfängers zu kennen. Vielmehr gibt es einen Typen, der für jedes Objekt jeder Klasse stehen kann.

Objective-C arbeitet mit einem Nachrichtensender (Sender) und einem Nachrichtenempfänger (Receiver). Der Receiver entscheidet dann anhand der Nachricht, welche Methode ausgeführt wird. Dabei wird versucht eine gleichnamige Methode zu finden. Außerdem ist es möglich, Nachrichtennamen erst während der Laufzeit zu erstellen.

Kategorien sind Erweiterungen bereits bestehender Klassen. Die in den Kategorien erweiterten Methoden erweitern auch Instanzen, die von einem fremden Code erzeugt werden. Die neue Kategorie wird auch Instanzen hinzugefügt, die aus einem bereits bestehenden Code stammen.

Apps in den App Store stellen

Ob eine App es in den AppleStore schafft und der Welt präsentiert werden kann, zeigt sich dann innerhalb von ein paar Wochen. Denn zunächst  muss jede erstellte iPhone- oder iPad App von Apple geprüft werden.

Über das Portal iTunes connect können Sie selbst erstellte Apps an Apple senden. Dort wird überprüft, ob die iPhone- und iPad Appentwicklungen alle Lizenzbedingungen einhalten. Die meisten Apps werden innerhalb einer Woche geprüft. Nur in Einzelfällen verlängert sich dieser Zeitraum und kann ein paar Wochen dauern. Apps, die gegen die Lizenzbestimmungen verstoßen, werden von Apple abgelehnt.