2014 überraschte Apple die Entwicklergemeinde mit der Einführung von Swift, einer völlig neuen Programmiersprache. Swift hat einen langen Weg zurückgelegt und es ist kaum zu glauben, dass die Sprache in diesem Jahr ihr dreijähriges Bestehen feiert. Vor einigen Monaten veröffentlichte Apple Swift 3, einen wichtigen Meilenstein für die Sprache. In dieser Serie werde ich Ihnen die Grundlagen von Swift 3 vermitteln.
Swift ist vertraut, wenn Sie Objective-C zur Entwicklung von iOS- oder MacOS-Anwendungen verwendet haben. Es gibt jedoch einige wichtige Unterschiede. Ich werde diese Serie beginnen, indem ich Ihnen zeige, inwiefern sich Swift von Objective-C unterscheidet und warum diese Unterschiede eine gute Sache sind. Lass uns anfangen.
In dieser ganzen Serie verweise ich auf Objective-C und vergleiche die Programmiersprache Swift mit Objective-C. Um jedoch mitzumachen, gibt es Sie müssen sich nicht mit Objective-C auskennen.
Das heißt, es ist wichtig, dass Sie Erfahrung mit haben ein Programmiersprache. Während sich diese Serie auf Swift konzentriert, deckt sie nicht die Grundlagen der Programmierung ab. Ich gehe davon aus, dass Sie mit Variablen, Konstanten, Funktionen, Steuerungsfluss und objektorientierter Programmierung vertraut sind.
Wenn Sie mit Objective-C, Java, Ruby, PHP oder JavaScript vertraut sind, haben Sie keine Probleme mit den in dieser Serie erläuterten Konzepten. In der Tat werden Sie feststellen, dass Swift Ähnlichkeiten mit einer Reihe beliebter Programmiersprachen aufweist, einschließlich Objective-C.
Swift 3 wird nur von Xcode 8 unterstützt, und Sie müssen die neueste Version der IDE von IDE (Integrated Development Environment) installieren, um folgen zu können. Sie können Xcode entweder vom App Store oder vom Apple Developer Center herunterladen.
Im Vergleich zu Objective-C oder Java ist Swift eine ausdrucksstarke, prägnante Sprache, die mich oft an Ruby und JavaScript erinnert. Obwohl der Erfinder von Swift, Chris Lattner, sich von anderen Sprachen inspirieren ließ, ist Swift eine Sprache, die auf eigenen Füßen steht.
Wie Sie vielleicht wissen, ist Objective-C eine strikte Obermenge von C. Swift, jedoch nicht. Während Swift geschweifte Klammern verwendet und mehrere Schlüsselwörter mit der Programmiersprache C teilt, ist es nicht mit C kompatibel.
Swift ist eine moderne Programmiersprache, die sich intuitiv anfühlt, insbesondere wenn Sie mit Java oder C-basierten Programmiersprachen wie Objective-C vertraut sind. Während der Entwicklung und des Designs von Swift konzentrierte sich Chris Lattner auf eine Reihe von Schlüsselmerkmalen, mit denen die Sprache definiert wurde.
Sicherheit ist eine der Grundlagen von Swift. In dieser Serie erfahren Sie schnell, dass sich Swift in Bezug auf die Sicherheit sehr stark von Objective-C unterscheidet. Dies wirkt sich direkt auf den Code aus, den Sie schreiben. Wenn Sie mit Objective-C gearbeitet haben, ist dies gewöhnungsbedürftig.
Chris Lattner hat auch den LLVM-Compiler (Low Level Virtual Machine) entwickelt, und es sollte keine Überraschung sein, dass Swift mit dem LLVM-Compiler erstellt wird. Das Ergebnis ist Geschwindigkeit, Leistung und Zuverlässigkeit. In den meisten Szenarien ist Swift deutlich schneller als Objective-C. Lesen Sie diesen Artikel von Jesse Squires, wenn Sie an den Details interessiert sind.
Die Typsicherheit ist eines der wichtigsten Merkmale von Swift. Swift überprüft Ihren Code zur Kompilierzeit und warnt Sie vor Typenkonflikten. Dies bedeutet, dass Sie Fehler frühzeitig abfangen können, um eine Reihe von häufig auftretenden Fehlern zu vermeiden.
Glücklicherweise hilft Ihnen Swift dabei. Swift ist häufig intelligent genug, um auf den Typ der Variablen und Konstanten zu schließen. Das bedeutet, dass Sie den Typ jeder Variablen oder Konstante nicht explizit deklarieren müssen. Im folgenden Codeausschnitt deklarieren wir eine Variable ein
und weise den Wert zu "das ist eine Zeichenfolge"
. Swift ist klug genug, um das abzuleiten ein
ist vom Typ String
.
var a = "das ist eine Zeichenfolge"
Dies ist ein triviales Beispiel, aber Sie werden feststellen, dass Swift auch komplexere Szenarien verarbeiten kann.
Konstanten sind in C und Objective-C nützlich, aber die meisten Entwickler verwenden sie sparsam. In Swift sind Konstanten genauso wichtig und üblich wie Variablen. Wenn sich der Wert einer Variablen nicht ändert, sollte diese Variable eine Konstante sein. Variablen werden mit deklariert var
Stichwort. Konstanten werden mit der deklariert Lassen
Stichwort.
var a = 1 // Variable sei b = 1 // konstant
Dies verbessert nicht nur die Absicht, sondern verbessert auch die Sicherheit, indem sichergestellt wird, dass der Wert der Variablen nicht versehentlich geändert wird. In diesem Lernprogramm werden Variablen und Konstanten genauer betrachtet.
In Swift sind keine Semikolons erforderlich. Sie können beispielsweise Semikolons verwenden, um mehrere Anweisungen in dieselbe Zeile zu schreiben, diese sind jedoch optional. Sehen Sie sich das folgende Beispiel an, um die Verwendung von Semikolons in Swift besser zu verstehen.
var a = 1 var b = 2 var c = 1; var d = 2;
Wir kratzen nur die Oberfläche. In dieser Serie lernen Sie viele weitere Funktionen und Konzepte kennen. Anstatt dich mit mehr Theorie zu überladen, schlage ich vor, dass du deine Füße nass machst, indem du Code schreibst. Dies bringt uns zu einem der besten Features von Swift und Xcode: Spielplätzen.
Apple hat in Xcode 6 Spielplätze eingeführt. Spielplätze sind das perfekte Werkzeug, um Swift zu lernen. Ein Spielplatz ist eine interaktive Umgebung, in der Sie Swift schreiben und das Ergebnis sofort sehen können. Das Lernen von Swift macht nicht nur mehr Spaß, es ist auch viel schneller und intuitiver als das Einrichten eines Projekts in Xcode.
In der Tat ist es so einfach, dass Sie gleich hineinspringen und Ihren ersten Spielplatz gestalten können. Öffnen Sie Xcode 8 und wählen Sie Neu> Spielplatz… von dem Datei Speisekarte. Nenne den Spielplatz und setze Plattform zu iOS.
Teilen Sie Xcode mit, wo Sie den Spielplatz speichern möchten, und klicken Sie auf Erstellen. Anstatt ein Projekt mit einer Reihe von Dateien und Ordnern zu erstellen, ist ein Spielplatz nichts anderes als eine Datei mit einem .Spielplatz Erweiterung. Ein Spielplatz ist mehr als eine Akte unter der Haube, aber darüber müssen wir uns im Moment keine Sorgen machen.
Die Benutzeroberfläche, die Ihnen angezeigt wird, könnte nicht einfacher sein. Auf der linken Seite sehen Sie einen Code-Editor mit einem Kommentar oben, eine Importanweisung zum Importieren des UIKit-Frameworks und eine Codezeile, die nicht allzu schwer zu verstehen sein sollte. Auf der rechten Seite sehen Sie die Ausgabe oder die vom Code generierten Ergebnisse auf der linken Seite.
Nehmen wir uns einen Moment Zeit, um den Code in Ihrem neuen Spielplatz zu verstehen. Die erste Zeile sollte bekannt sein, wenn Sie mit Objective-C, PHP oder JavaScript gearbeitet haben. Kommentare in Swift beginnen mit zwei Schrägstrichen oder, bei mehrzeiligen Kommentaren, mit / *
und enden mit * /
.
Weil wir ausgewählt haben iOS Als Plattform beim Erstellen des Spielplatzes fügte Xcode eine Importanweisung für das UIKit-Framework hinzu. Dadurch haben wir Zugriff auf jedes im UIKit-Framework definierte Symbol.
Die dritte Zeile sieht vertraut aus, aber es gibt einige Details, die zu klären sind. Wir deklarieren eine Variable str
und weise einen String zu. Diese Codezeile ist leicht verständlich, beachten Sie jedoch, dass dem Namen der Variablen das vorangestellt ist var
Schlüsselwort anstelle des Typs der Variablen, wie Sie es von Objective-C erwarten würden. Die gleiche Aussage in Objective-C würde in etwa so aussehen.
NSString * str = @ "Hallo, Spielplatz";
In Objective-C würden wir das ersetzen var
Schlüsselwort mit dem Typ der Variablen, voranstellen Sie den String mit einem @
Symbol und beenden Sie die Anweisung mit einem Semikolon. Es ist wichtig zu verstehen, dass die var
Keyword nicht ersetzen der Typbezeichner in Objective-C. Es ist nichts weiter als ein Schlüsselwort, das darauf hinweist str
ist eine Variable, keine Konstante.
Lassen Sie mich das näher erläutern. Fügen Sie dem Spielplatz die folgende Codezeile hinzu.
lass hallo = "Hallo, Spielplatz"
Das Lassen
Schlüsselwort sagt dem Compiler das Hallo
ist eine Konstante, keine Variable. Beide str
und Hallo
sind vom Typ String
, aber str
ist eine Variable und Hallo
ist eine Konstante. Der Unterschied ist einfach zu verstehen, wenn wir zwei weitere Codezeilen hinzufügen.
str = "Dies ist eine Variable." hello = "Dies ist eine Konstante."
Neuen Wert zuweisen str
stellt kein Problem dar. Neuen Wert zuweisen Hallo
, führt jedoch zu einem Fehler. Xcode sagt uns, dass es keine zuweisen kann Neu Wert zu Hallo
, da Hallo
ist eine Konstante, keine Variable. Dies ist eine weitere wichtige Funktion von Swift, die gewöhnungsbedürftig ist.
Die Idee ist einfach. Wenn sich der Wert einer Variablen nicht ändert, sollte sie statt einer Variablen eine Konstante sein. Obwohl dies wie ein semantisches Detail erscheint, garantiere ich, dass Ihr Code sicherer und weniger fehleranfällig wird. Seien Sie vorbereitet, denn Sie werden das sehen Lassen
Stichwort viel in dieser Serie.
Wir verwenden Spielplätze in dieser Serie ausgiebig, da dies eine gute Möglichkeit ist, die Sprache zu lernen. Es gibt ein paar andere leistungsstarke Spielplatzfunktionen, die wir noch nicht behandelt haben, aber wir müssen zunächst die Grundlagen der Swift-Sprache verstehen, bevor wir davon profitieren können.
Ich muss noch einen Entwickler treffen, der Swift nicht mag und das sagt etwas. Swift hat einige Konzepte, die gewöhnungsbedürftig sind, aber ich bin zuversichtlich, dass auch Sie Swift am Ende genießen und seine Kraft, Eleganz und Prägnanz schätzen werden. In der nächsten Ausgabe dieser Serie werden wir die Grundlagen von Swift erkunden.
Wir haben ein umfassendes Handbuch zusammengestellt, um Sie beim Erlernen von Swift zu unterstützen, egal ob Sie gerade mit den Grundlagen anfangen oder fortgeschrittenere Themen erkunden möchten.
Wenn Sie sich schnell mit der Sprache Swift vertraut machen möchten, lesen Sie unseren Kurs zum Erstellen von iOS-Apps mit Swift.
Oder sehen Sie sich einige unserer anderen Tutorials und Kurse zu Swift und iOS-Entwicklung an!