În 2014, Apple a luat comunitatea de dezvoltatori prin surprindere cu introducerea Swift, un limbaj de programare nou. Swift a parcurs un drum lung și este greu de crezut că acest limbaj sărbătorește cea de-a treia aniversare a acestui an. Cu câteva luni în urmă, Apple a lansat Swift 3, o piatră de hotar majoră pentru limbă. În această serie, vă voi învăța fundamentele lui Swift 3.
Swift se simte familiar dacă ați folosit Obiectiv-C pentru a dezvolta aplicații iOS sau macOS, dar există o serie de diferențe importante. Voi lansa această serie, arătându-vă în ce mod Swift diferă de obiectivul C și de ce aceste diferențe sunt un lucru bun. Să începem.
De-a lungul acestei serii, fac referințe la Obiectiv-C și compară limba de programare Swift cu Obiectiv-C. Cu toate acestea, pentru a urmări de-a lungul, există nu este nevoie să fii familiarizat cu Obiectivul-C.
Acestea fiind spuse, este important să aveți experiență A limbaj de programare. În timp ce această serie se concentrează pe Swift, nu acoperă elementele de bază ale programării. Mă aștept să cunoașteți variabilele, constantele, funcțiile, fluxul de control și programarea orientată pe obiecte.
Dacă sunteți familiarizat cu obiectivele C, Java, Ruby, PHP sau JavaScript, atunci nu veți avea probleme la înțelegerea conceptelor explicate în această serie. De fapt, veți observa că Swift împarte asemănări cu o serie de limbi de programare populare, inclusiv Obiectiv-C.
Swift 3 este acceptat numai de Xcode 8 și trebuie să instalați ultima versiune a IDE (Integrated Development Environment) de la Apple. Puteți descărca Xcode fie din App Store, fie din Centrul de dezvoltatori al Apple.
În comparație cu Obiectiv-C sau Java, Swift este un limbaj expresiv, succint, care îmi amintesc adesea despre Ruby și JavaScript. Chiar dacă creatorul Swift, Chris Lattner, sa inspirat din alte limbi, Swift este foarte mult o limbă care stă pe propriile sale picioare.
După cum probabil știți, obiectivul C este un superset strict al lui C. Swift, totuși nu este. În timp ce Swift folosește bretele curry și împărtășește câteva cuvinte cheie cu limbajul de programare C, acesta nu este compatibil cu C.
Swift este un limbaj de programare modern care se simte intuitiv, mai ales dacă sunteți obișnuit cu limbi de programare bazate pe Java sau C, cum ar fi Obiectiv-C. În timpul dezvoltării și designului lui Swift, Chris Lattner sa concentrat pe o serie de caracteristici-cheie care au ajuns să definească limba.
Siguranța este una dintre fundațiile Swift. În această serie, veți afla rapid că Swift este foarte diferit de obiectivul C în ceea ce privește siguranța, iar acest lucru afectează în mod direct codul pe care îl scrieți. Dacă ați lucrat cu Obiectiv-C, acest lucru ia unii obișnuiți.
Chris Lattner a proiectat, de asemenea, compilatorul LLVM (Machine Level Virtual Machine), și nu ar trebui să fie o surpriză faptul că Swift este construit cu ajutorul compilatorului LLVM. Rezultatul este viteza, puterea și fiabilitatea. Swift este semnificativ mai rapid decât obiectivul C în majoritatea scenariilor. Citiți acest articol de către Jesse Squires dacă sunteți interesat de detaliile ciudate.
Siguranța tipului este una dintre caracteristicile cheie ale lui Swift. Swift vă inspectează codul la timpul de compilare și vă avertizează despre neconcordanțele de tip. Acest lucru înseamnă că puteți prinde greșeli devreme, evitând o serie de erori comune.
Din fericire, Swift te ajută cu asta. Swift este adesea suficient de inteligent pentru a deduce tipul de variabile și constante, ceea ce înseamnă că nu trebuie să declarați în mod explicit tipul fiecărei variabile sau constante. În următorul fragment de cod, declarăm o variabilă A
și atribuie-i valoarea "acesta este un șir"
. Swift este suficient de inteligent pentru a deduce acest lucru A
este de tip Şir
.
var a = "acesta este un șir"
Acesta este un exemplu trivial, dar veți afla că Swift se poate ocupa, de asemenea, de scenarii mai complexe.
Constantele sunt utile în C și Obiectiv-C, dar majoritatea dezvoltatorilor le folosesc cu ușurință. În Swift, constantele sunt la fel de importante și comune ca variabilele. Dacă valoarea unei variabile nu se modifică, atunci acea variabilă ar trebui să fie constantă. Variabilele sunt declarate utilizând var
cuvinte cheie. Constantele sunt declarate folosind lăsa
cuvinte cheie.
var a = 1 // variabila let b = 1 // constanta
Aceasta nu numai că îmbunătățește intenția, ci și îmbunătățește siguranța asigurând că valoarea variabilei nu este schimbată accidental. Vom examina mai îndeaproape variabilele și constantele din acest tutorial.
În Swift, nu sunt necesare punct și virgulă. Puteți utiliza, de exemplu, punct și virgulă, pentru a scrie mai multe instrucțiuni pe aceeași linie, dar acestea sunt opționale. Consultați exemplul următor pentru a înțelege mai bine utilizarea punctului de virgulă în Swift.
var a = 1 var b = 2 var c = 1; var d = 2;
Pur și simplu zgâriem suprafața. Veți învăța despre multe alte caracteristici și concepte în întreaga serie. În loc să vă supraîncărcați cu mai multă teorie, vă sugerez să vă umeziți picioarele prin scrierea unui cod. Acest lucru ne aduce la una dintre cele mai bune caracteristici ale Swift și Xcode: locuri de joacă.
Apple a introdus locurile de joacă în Xcode 6. Locurile de joacă sunt instrumentul perfect pentru învățarea Swift. Un loc de joacă este un mediu interactiv în care puteți scrie Swift și puteți vedea imediat rezultatul. Nu numai că face învățarea Swift mai distractivă, este mult mai rapidă și mai intuitivă decât crearea unui proiect în Xcode.
De fapt, este atât de ușor încât s-ar putea să intri și să creați primul loc de joacă. Deschideți Xcode 8 și selectați Nou> Loc de joaca ... de la Fişier meniul. Denumiți locul de joacă și setați Platformă la iOS.
Spuneți Xcode în cazul în care doriți să salvați loc de joacă și faceți clic pe Crea. În loc să creați un proiect cu o grămadă de fișiere și foldere, un loc de joacă nu este altceva decât un fișier cu a .loc de joaca extensie. Un loc de joacă este mai mult decât un dosar sub capota, dar nu este ceva de care trebuie să ne îngrijim deocamdată.
Interfața cu care vă prezentați nu poate fi mai simplă. În partea stângă, vedeți un editor de cod cu un comentariu în partea de sus, o instrucțiune de import pentru importarea cadrului UIKit și o linie de cod care nu ar trebui să fie prea greu de înțeles. În partea dreaptă, vedeți rezultatul sau rezultatele generate de codul din stânga.
Să facem un moment pentru a înțelege codul pe noul dvs. loc de joacă. Prima linie ar trebui să pară familiar dacă ați lucrat cu obiectivele C, PHP sau JavaScript. Comentariile din Swift pornesc cu două tăișuri înainte sau, în cazul comentariilor multiline, începeți cu / *
și se termină cu * /
.
Pentru că am selectat-o iOS ca platformă când am creat terenul de joacă, Xcode a adăugat o declarație de import pentru cadrul UIKit. Acest lucru ne oferă acces la fiecare simbol definit în cadrul UIKit.
A treia linie pare familiarizată, dar există câteva detalii care trebuie clarificate. Vom declara o variabilă str
și atribuiți-i un șir. Această linie de cod este ușor de înțeles, dar rețineți că numele variabilei este precedat de var
cuvânt cheie în loc de tipul variabilei așa cum v-ați aștepta în Obiectiv-C. Aceeași afirmație în Obiectiv-C ar arăta așa.
NSString * str = @ "Bună ziua, loc de joacă";
În Obiectiv-C, vom înlocui var
cuvânt cheie cu tipul variabilei, prefixați șirul cu un @
simbol și încheiați declarația cu punct și virgulă. Este important să înțelegeți că var
cuvântul cheie nu a inlocui specificatorul de tip în Obiectiv-C. Nu este nimic mai mult decât un cuvânt cheie care să indice acest lucru str
este o variabilă, nu o constantă.
Permiteți-mi să explic acest lucru în detaliu. Adăugați următoarea linie de cod la locul de joacă.
să salutăm "Bună ziua, loc de joacă"
lăsa
cuvântul cheie spune compilatorului că Salut
este o constantă, nu o variabilă. Ambii str
și Salut
sunt de tip Şir
, dar str
este o variabilă și Salut
este o constantă. Diferența este ușor de înțeles dacă adăugăm încă două linii de cod.
str = "Aceasta este o variabilă". salut = "Aceasta este o constantă."
Alocarea unei noi valori pentru str
nu reprezintă o problemă. Alocarea unei noi valori pentru Salut
, totuși, duce la o eroare. Xcode ne spune că nu poate atribui a nou valoare pentru Salut
, deoarece Salut
este o constantă, nu o variabilă. Aceasta este o altă caracteristică cheie a lui Swift, care va lua ceva obișnuit.
Ideea este simplă. Dacă valoarea unei variabile nu se va schimba, atunci ar trebui să fie o constantă în loc de o variabilă. Deși acest lucru poate părea un detaliu semantic, vă garantez faptul că vă face codul mai sigur și mai puțin predispus la erori. Fii pregătit, pentru că vei vedea lăsa
cuvinte cheie foarte mult în această serie.
Folosim în totalitate locurile de joacă în această serie deoarece este o modalitate excelentă de a învăța limba. Există câteva alte caracteristici de teren de joacă puternice pe care nu le-am acoperit încă, dar mai întâi trebuie să înțelegem elementele de bază ale limbajului Swift înainte de a putea beneficia de acele.
Trebuie să întâlnesc un dezvoltator care nu-i place Swift și asta spune ceva. Swift are o serie de concepte care necesită un obișnuit, dar sunt convins că și dumneavoastră veți ajunge să vă bucurați de Swift și să vă apreciați puterea, eleganța și concisul. În următoarea tranșă a acestei serii, vom începe să explorăm elementele de bază ale lui Swift.
Am construit un ghid complet pentru a vă ajuta să învățați Swift, indiferent dacă începeți doar cu elementele de bază sau doriți să explorați subiecte mai avansate.
Dacă doriți să vă grăbiți rapid cu limbajul Swift, verificați cursul de creare a aplicațiilor iOS cu Swift.
Sau verificați câteva dintre celelalte tutoriale și cursuri de curs despre dezvoltarea Swift și iOS!