iOS Entwicklung in a Nutshell

By appsoluts 2 Jahren agoNo Comments

Hast du dich schon immer mal gefragt, wie die ganzen Apps, welche du auf deinem iPhone oder iPad nutzt, entstehen? Welche Frameworks, Tools und anderweitige Technologien die Entwickler nutzen, um die Apps zum Leben zu erwecken? Dann bist du hier genau richtig. In diesem spannenden Blogartikel erfährst du endlich alles Notwendige, um zu sehen wie eine iOS App entwickelt und veröffentlicht wird. Danach kannst du mit Sicherheit bei dem nächsten Event mit wahrem Insider-Wissen glänzen. 😉

Jeder kennt den Namen, aber wer kennt auch die Bedeutung? iOS ist das von Apple eigens entwickelte Betriebssystem für iPhones und iPads. Seit 2019 wird für iPads ein erweitertes Betriebssystem namens iPad OS verwendet. Beide basieren aber auf dem gleichen Standard und werden deswegen in der App-Entwicklung nicht separat betrachtet. iOS unterscheidet sich von den meisten anderen mobilen Betriebssystemen, da sowohl die Software als auch die Hardware von Apple entwickelt werden. Das bringt den großen Vorteil mit sich, dass Hardware & Software sehr gut aufeinander abgestimmt und somit ein klasse Team sind.

Die IDE: Xcode

Wie auch in anderen Programmiersprachen üblich, gibt es ebenfalls für iOS eine sogenannte IDE (Integrierte Entwicklungsumgebung) welche der Entwickler nutzt, um die App zu entwickeln. Diese wurde ebenfalls von Apple selbst entwickelt und steht ausschließlich für Mac OS zur Verfügung – also ganz exclusive stuff! Zu Beginn eines jeden Projekts legt der Entwickler hierzu in Xcode ein neues Projekt an. Zum Start eines neuen Projekts in Xcode sieht deine App noch sehr einfach aus und zeigt nur den (wir behaupten mal weltbekannten) Text “Hello, world!” an.

 

Die Umsetzung

Bevor der Entwickler mit der Umsetzung der App loslegt, entwickelt er mit allen Beteiligten ein technisches Konzept auf Grundlage von kreativen Designs & allen weiteren zur Verfügung stehenden Informationen.

Die Programmiersprache – Objective C oder Swift

Es gibt primär zwei Möglichkeiten, um eine native App für iOS zu entwickeln. Objective-C und Swift. Heutzutage wird nahezu jede neue App mit Swift entwickelt, da diese mit deutlich moderneren Ansätzen agiert. Objective-C hat viele Jahre die Entwicklung von iOS Apps geprägt und wird überwiegend in bestehenden Apps weiterverwendet, geht allerdings nach und nach langsam in den Ruhestand – verdientermaßen.

Das Design – UIKit oder SwiftUI

Alles was du in deinen Apps siehst, muss der Entwickler nativ umsetzen. Das bedeutet, er kann nicht einfach 1:1 das Design für die App des Designers kopieren. Entwickler sind zugleich auch fleißige Übersetzer. Das weiß nur kaum jemand. Alles, was der Designer zuvor mit einem Design-Tool wie Figma oder Zeplin ausgearbeitet hat, muss der Entwickler in iOS übersetzen und sich hierbei auch an Apples Design Richtlinien halten.

Hierfür greift der Entwickler auf sogenannte UI Frameworks zurück, welche bereits einen Rahmen vorgeben. In iOS kann er zwischen UIKit und SwiftUI wählen. UIKit existiert quasi seit der ersten Version von iOS und nahezu jede native App, welche aktuell im AppStore zur Verfügung steht, ist mit UIKit entwickelt. Eine wahre Legende also. SwiftUI hingegen ist ein sehr neues UI Framework von Apple, welches im Jahr 2019 veröffentlicht wurde. Viele sehen SwiftUI als UI Framework der Zukunft für iOS. Zum jetzigen Zeitpunkt eignet sich das Framework vor allem für kleinere und weniger umfangreiche Apps.

Paketmanager – Carthage, CocoaPods oder Swift Package Manager

Der Programmierer entwickelt natürlich nicht immer alles von neu auf. Häufig kann auf sogenannte Bibliotheken zurückgegriffen werden. Diese bringen bestimmte Funktionen, welche der Entwickler benötigt, schon mit und können bequem übernommen sowie durch einfache Anpassungen an die eigenen Bedürfnisse modifiziert werden. Eingebunden werden diese Bibliotheken über Paketmanager, welche dem Entwickler auch eine Hilfe bieten und die Verwaltung verschiedener Bibliotheken erleichtern. Die bekanntesten Beispiele sind hier Carthage, CocoaPods & Swift Package Manager – wahre Prominente unter den Managern

Veröffentlichung der App

Nachdem die App oder eine neue Version der App fertiggestellt wurde, muss diese veröffentlicht werden: Dazu machen wir das ja schließlich alles! Hierzu muss der Entwickler die App bei AppStore Connect hochladen. Dies ist die Verwaltungsplattform von Apple, wo der Entwickler seine Apps für die Nutzer bereitstellen kann. Heutzutage ist es üblich und ein Standard, automatisierte Prozesse zu verwenden, um die neue Version einer Software zu veröffentlichen. Diese Methodik, bekannt unter dem Kürzel CI/CD, macht es dem Entwickler möglich, bei erfolgreichem Durchlauf der Tests, die neue App Version durch einfache Aktionen automatisch, hochzuladen. Danach wird die App noch von Mitarbeitern bei Apple geprüft. Geben diese ihr finales Go, ist sie dann endlich für die Nutzer im AppStore verfügbar. Yey!

Zusammenfassung

Zusammenfassend betrachtet bietet iOS eine vollumfängliche Lösung, um einfache sowie komplexe Apps zu entwickeln. Durch die verschiedenen Programmiersprachen sowie UI Frameworks hat der Entwickler die ideale Möglichkeit, die für sich optimale Entwicklungsumgebung zu schaffen. Der größte Vorteil in iOS besteht darin, dass alles von Apple selbst entwickelt wird und somit eine möglichst hohe Kompatibilität gewährleistet werden kann. Die Software und Hardware sind sehr gut aufeinander abgestimmt und bieten somit  eine ausgesprochen stabile Grundlage. Allerdings ist es für neu einsteigende Entwickler häufig eine kleine oder große Hürde für iOS zu entwickeln, da der Besitz eines Macs vorausgesetzt wird. Diese sind jedoch in der Anschaffung zumeist recht teuer. Hier empfehlen wir, gerade für Beginner, auf gebrauchte Hardware zu setzen – dann steht dem Happy Coding nichts mehr im Wege.

 

Categories:
  Allgemein, App, App Entwicklung, Digitalisierung, Entwicklung, ios
this post was shared 0 times
 600

Leave a Reply

Your email address will not be published.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.