Fällt Dir die Wahl der ersten Programmiersprache schwer? Es ist sicher nicht leicht für Dich Wochen und Monate Deiner freien Zeit nur einem Thema zu widmen. Was wenn Du die falsche Sprache wählst? Oder in eine andere Richtung gehen willst? War die Zeit verschenkt? Häufig folgen auch Zweifel auf diesen inneren Dialog. Hab ich überhaupt das Zeug zum Entwickler? Komme ich vielleicht zu spät? Habe ich den Trend verpasst? Ich empfehle Dir: erst mal tief durchatmen. Du kommst genau richtig. Die Programmiersprache ist zwar wichtig, aber nur bedingt. Der einzige Fehler den Du nicht machen darfst: gar nicht anfangen! Eine perfekte Programmiersprache für Einsteiger ist z.B. die Sprache Swift.

Swift ist wie geschaffen für Einsteiger

Es macht einfach unheimlich Spaß mit Swift zu arbeiten. Punkt. Das würde ich fast so stehen lassen. Ok. Zugegeben: Es macht auch mit vielen anderen Sprachen unheimlich viel Spaß. Also gut: Mit Swift ist es wirklich fast wie beim ersten „Mal“ (programmieren). Ich hatte sofort wieder diesen Spaß, Spieltrieb und den Drang weitere Features zu probieren. Egal was für ein Programm am Ende steht. Hauptsache erst einmal ausprobieren.

Ab auf den Spielplatz: Playgrounds

Playgrounds sind ein super Feature. Dein Quellcode wird on-the-fly übersetzt und bspw. Werte in Variablen angezeigt. Auch die Ausgaben kannst Du Dir unmittelbar anschauen. Das verkürzt die Entwicklungszyklen, speziell beim Lernen! Einfach den Code verändern. Der Playground führt den veränderten Code für Dich automatisch aus. As easy as it gets. Apple hat das ganze Konzept auf der WWDC 2014 vorgestellt.


Ich veröffentliche aber nun nach nach immer mehr Informationen zu Swift. Playgrounds werden hier eine wichtige Rolle spielen. Also: stay tuned!

Schnell greifbare Ergebnisse

Abgesehen von ersten Schritten ist die Sprache perfekt um wirklich schnell zu Ergebnissen zu kommen. Zugegeben war iOS Entwicklung schon immer sehr zügig möglich, zumindest die ersten 20%. Das grobe Interface ist schnell entworfen – Storyboards sei dank. Mit Swift steht jedoch auch die Backend-Logik einfach noch schneller bereit.

Und genau das macht es für Anfänger unglaublich toll. Du wirst mit Sicherheit stolz sein, wenn Du Deinen Freunden und Verwandten erste Apps zeigen kannst. Das motiviert und macht unendlich viel Lust auf mehr.

Spiele entwickeln? Kein Problem mit SpriteKit

Wirklich genial ist auch das neue SpriteKit Framework. Das ist zwar nicht direkt ein Argument für Swift. Apple hat das bereits in iOS 7 eingeführt. Es war aber noch nie so einfach 2D Spiele zu entwickeln. Lösungen wie Cocoa2D gab es zwar. SpriteKit wird aber unmittelbar von Apple entwickelt und unterstützt. Dementsprechend stabil ist das Framework. Außerdem ist es super dokumentiert. Dazu gibt es bereits vielversprechende Literatur. Es gehört schon etwas Wissen dazu, aber der Weg zum eigenen Spiel war vermutlich noch nie so kurz wie jetzt.

Objective-C wird abgelöst

Insgesamt bietet die Sprache einige Verbesserungen gegenüber Objective-C. Die Notwendigkeit der getrennten Header und Implementierungen entfällt. Die Deklaration von Datentypen kann vielfach wegfallen. Trotzdem sind die Variablen typensicher. Ein Zeichenkette (String) kann nicht einfach ein Ganzzahlwert werden (Integer). Allein diese Features ersparen eine Menge Arbeit, auch im Vergleich zu Java.

Aber auch im Vergleich zu anderen Sprachen schneidet Swift mehr als gut ab. Es wird gezielt auf unnötige Syntax verzichtet. Klammern werden weniger, das obligatorische Semikolon am Zeilenende entfällt. Insgesamt ist der Parser/Compiler sehr clever. Swift erkennt den korrekten Datentypen an der Nutzung. Das gilt nicht nur für einfache Variablen. Das funktioniert auch bei Arrays oder Dictionaries (quasi assoziative Arrays, mit Key/Value Kombinationen). Für die wurde auch die Syntax vereinfacht. Insgesamt geht die Arbeit viel schneller als mit Objective-C.

Tolle neue Konzepte

Gleichzeitig ist das Konzepte für veränderbare Variablen (mutable) und Konstanten (immutable) genial. Das kennen manche Sprachen gar nicht. In Objective-C gab es bspw. bei Arrays dafür NSMutableArray und NSArray (immutable). In Swift gibt es dafür keinen gesonderten Datentyp. Jede Variable, also jeder Datentyp – ja, sogar eigene – können als Variable und Konstante genutzt werden. Die Keywords „var“ (erzeugt Variablen) und „let“ (generiert Konstanten) werden einfach verwendet. Super easy.

Auch die Erweiterung der Schleifen ist super. Die „for … in“ Konstrukte sind total mächtig. Sie können sehr einfach Arrays oder auch Dictionaries durchwandern. Alles wirklich sehr elegant gemacht. Noch einen „Wow“-Moment hatte ich beim switch()-Statement. In Verbindung bspw. mit Tuples und cases mit optionaler „where“-Bedingung (!) ergeben sich hier unglaubliche Möglichkeiten.

Brauchst Du diese Features unbedingt alle? Gerade als Anfänger? Vermutlich nicht. Aber wirklich Spaß macht es trotzdem damit zu arbeiten. Außerdem kann das ganze Wissen auch später auf C++, C# oder Java übertragen. Dort gibt es spezifische Lösungsansätze. Sehr vieles ähnelt sich jedoch.

Wenn nicht jetzt, wann dann?

Immer mal wieder ergibt sich durch technologischen Fortschritt neue Berufsfelder. Der Raum für neue Experten entsteht. Das war in der Vergangenheit auch so. Nur die Intervalle solcher Neuerungen waren deutlich länger. Überleg nur mal, wie viele neue Fachgebiete in letzter Zeit entstanden sind. Selbst unter den Online-Marketern sind die Social-Media Experten noch sehr neu.

Und genau so eine Chance bietet Dir Swift gerade. Es werden eher früher als später Entwickler benötigt. Je weniger verfügbar sind, desto besser Deine Chance einzusteigen. Und da Swift noch relativ jung ist, befindet sich die gesamte Infrastruktur, die Ressourcen und das Ökosystem rundherum im Aufbau. Eine bessere Chance auf einen Zug aufzuspringen gibt es quasi nicht.

Muss ich trotzdem Objective-C lernen?

Wenn Du jetzt einsteigst, musst Du Objective-C vielleicht gar nicht mehr lernen. Neue Projekte können mit Swift gestartet werden. Es wäre grob fahrlässig das nicht zu tun. Denn: Quasi die gesamte iOS Bibliothek steht auch für Swift bereit. Die Methodenaufrufe, Klassen und ähnliches sind gleich. Selbst viele Frameworks und Bibliotheken von Drittanbietern und OpenSource-Projekten wurden schon portiert. Bedenke – Swift wurde im Juni 2014 vorgestellt. Nach etwas mehr als einem halben Jahr ist der Siegeszug schon mehr als deutlich. Das unterstreicht wie sehr die Sprache angenommen wird.

Und keine Angst: Das Wissen rund um Swift kannst Du auf Objective-C anwenden. Die Frameworks sind grundsätzlich gleich. Im Ernstfall gewöhnst Du Dich schnell an die Syntax von Objective-C.

Unicode für Variablennamen

Nicht unbedingt für Einsteiger relevant. Trotzdem zeigt es wie sehr Apple hier mitgedacht und auch in die Zukunft geblickt hat: Witzig sind zum Beispiel Emojis (Smilies und Co), die als Variablen verwendet werden können. Was ist das für eine geniale Variable?

dogpoop

Das ist das Resultat der Unicode Unterstützung. Zugegeben, mehr lustig als praktisch. Aber in einem internationalen Team könnte das durchaus helfen. Den Hund kennt jeder, egal ob er ihn „Hund“ oder „dog“ nennt.

Nutzen für Dich: Du kannst auch jegliche Umlaute wie ä, ö und ü im Namen verwenden. Das geht bei anderen Programmiersprachen nicht. In unserem Sprachraum kannst Du zugegeben „ae“, „oe“ und „ue“ benutzen. Chinesische oder auch japanische Entwickler können das nicht. Jetzt sind Sie in der Lage Schriftzeichen zu nutzen. Wie genial ist das? Speziell für chinesische und japanische Entwickler versteht sich! 😉

Fazit

Es gibt viele Sprachen. Der schlimmste Fehler wäre keine auszuwählen. Wer in Zukunft als Entwickler arbeitet, wird auch an Apps nicht vorbeikommen. Ein spaßiger Einstieg mit viel Möglichkeiten in alle Richtungen gelingt mit Swift. Die Sprache wird mittelfristig Objective-C ablösen. Und selbst wenn Objective-C Code betreut werden muss: Das Wissen kann fast 1:1 übertragen werden, auch auf Java, C++ oder C#. Die Konzepte sind dort ähnlich. Und: mit keiner anderen Plattform kann ein Entwickler so schnell eigene Spiele entwickeln. SpriteKit sei dank.

Tags:

Kommentare (2)

Leave a Comment to Jan Brinkmann Cancel reply

Your email address will not be published.