Ar trebui să folosesc Swift sau Objective-C pentru a învăța Dezvoltarea aplicațiilor iOS?

Publicat: 2017-02-04

Nu este întotdeauna ușor să decideți dacă să utilizați Objective-C sau Swift pentru un proiect, deoarece există factori enormi care trebuie luați în considerare de fiecare dată când începeți un nou proiect. Discutarea acestui subiect, deoarece este cea mai frecventă întrebare pe care o pun majoritatea cursanților de dezvoltare a aplicațiilor iOS.

Alegerea unui limbaj potrivit și a celui mai potrivit depinde de contextul proiectului și al echipei și de preferințele, loialitatea față de un limbaj de programare. În loc să balansăm obiectivul-C sau steagul Swift, luăm în considerare toate aspectele unui proiect care indică o limbă peste cealaltă, cum ar fi domeniul de aplicare al proiectului, scara, componența echipei și considerațiile tehnice.

În anul 2014, Apple a lansat un nou limbaj de programare Swift, care a luat prin surprindere întreaga comunitate. În ultimii 2 ani, echipa de bază Swift a repetat rapid, lansând numeroase versiuni ale limbii, spre bucuria și șocul comunității.

Pentru dezvoltatorii existenți, Swift are implicații interesante și, de asemenea, a introdus un pic de complexitate pentru noii veniți care doresc să învețe dezvoltarea iOS. Este o opțiune bună pentru toți dezvoltatorii, care cunosc deja dezvoltarea Mac sau iOS și doresc să învețe – și să ajute să modeleze – un nou limbaj.

Cu toate acestea, există numeroși dezvoltatori care au vrut doar să experimenteze, nu doresc să obțină un loc de muncă de dezvoltator iOS și nu se deranjează să se ocupe de erori suplimentare în timp ce învață, deoarece poate că sunt interesați să o învețe.

De ce ar trebui să înveți Swift?

Pentru a clarifica elementele de bază ale programării, Swift este un limbaj mult mai ușor de lucrat, în timp ce Objective-C are peste 30 de ani și este scris într-un moment în care trebuiau luate diferite considerații cu privire la modul în care interacționam cu computerele.

Toți acești factori sunt foarte importanți de cunoaștere și de înțeles astăzi, deoarece aceștia pot face ca învățarea elementelor de bază ale programării să fie descurajantă. În plus, elementele de bază ale programării sunt mult mai ușor de înțeles cu Swift decât cu Objective-C. Să aruncăm o privire la diferitele motive pentru care ar trebui să înveți Swift?

Sigur

La momentul lansării Swift, Apple a susținut că este sigur, modern și puternic, în timp ce modernismul și puterea unui limbaj de programare înseamnă puțin pentru un începător absolut și siguranța este în principal importantă.

Cel mai dificil lucru este să nu știi ce a mers prost atunci când înveți cum să programezi. Ei bine, există numeroase beneficii de a descoperi asta de la tine și de a învăța din el; cu toate acestea, lipsa feedback-urilor adecvate poate amâna ceva.

Folosind Swift, puteți preveni apariția unei întregi categorii de greșeli sau erori și ne puteți informa în mod iterativ despre ceea ce facem greșit. În plus, Swift este mult mai sigur și vă va avantaja făcând experiența de scriere a codului mai puțin frustrantă.

Mediu foarte interactiv

În afară de Swift, Apple lansează și două medii de codare cele mai interactive, ajutând începătorii să învețe cum să codeze. Există Xcode Playgrounds, care este un mediu care îi ajută pe toți începătorii să învețe cum să codeze.

Există Xcode Playgrounds care este un mediu și face parte dintr-o aplicație Mac numită Xcode și vă permite să învățați și să explorați Swift, să prototipați părți ale aplicației dvs. și să dezvoltați medii de învățare pentru alții.

De asemenea, puteți găsi o aplicație pentru iPad numită Swift Playgrounds, care oferă același mediu interactiv ca și Xcode Playgrounds, dar într-un mod mult mai investigativ, care vă permite să utilizați hardware-ul iPad-ului.

Cel mai bun lucru despre Swift este că este mult mai captivant decât oricare altul și oferă feedback instantaneu, făcând întregul concept ușor de învățat. Acest tip de mediu nu este grozav pentru Swift, dar Apple face niște lucruri minunate cu aplicația iPad, făcând învățarea ușoară pentru toți începătorii.

Modern

Swift este limbajul extrem de modern, care vine cu aspecte bogate, permițând începătorilor să citească și să scrie cu ușurință decât Objective-C. Pe web, îl puteți vedea scris și nu contează, deoarece totul este mult mai simplu de înțeles odată ce ați avut suficientă experiență cu el.

Nu este ușor să descoperi conceptele fără să te împiedici să citești codul. Nu veți avea programele dvs. să se blocheze deoarece ați uitat un punct și virgulă la sfârșitul liniei.

Acestea sunt lucruri minore odată ce te obișnuiești cu ele; cu toate acestea, sunt cu siguranță benefice pe care Swift le aduce la masă pentru începători. Swift este extrem de modern și va coborî gardul la intrare pentru mulți oameni, făcând foarte simplu să se concentreze asupra conceptelor.

Pe scurt, învățarea și înțelegerea elementelor de bază ale programării, care este primul pas în călătoria dvs. de a învăța dezvoltarea iPhone. Modernismul și siguranța oferite de limbi toate contribuie la scăderea barierei de intrare.

De ce să înveți Objective-C?

Treptat, răspunsul se va schimba odată cu trecerea anilor și Swift face mai multe incursiuni în comunitate; cu toate acestea, există un singur lucru de știut despre Objective-C, deoarece este limbajul de facto pentru dezvoltarea iOS de aproximativ 10 ani. Mai mult, dacă vrei să devii dezvoltator MacOS, Objective-C a fost prima alegere încă din anii 80.

Pe scurt, totul din SDK-ul iOS a fost dezvoltat în Objective-C și funcționează excelent cu modelul de programare Objective-C. Deși scrieți cod în Swift, veți interacționa cu componentele scrise în Objective-C. Bibliotecile și cadrele de la terți sunt în principal în Objective-C, deoarece Objective-C există mult mai mult timp.

În plus, majoritatea devastatoare a resurselor de învățare, cum ar fi postările de pe blog, cărțile, videoclipurile de conferințe și multe altele, sunt toate în Objective-C; prin urmare, dacă apelați la Internet pentru ajutor pentru o problemă misterioasă, există șanse mari să citiți codul Objective-C. Comunitatea Swift este una pasionată și există numeroase resurse în Swift, așa că nu simțiți că veți avea dificultăți pentru ajutor.

Dacă ați decis să fiți un dezvoltator iOS serios, este important să citiți și să scrieți și codul Objective-C. Motivul principal din spatele acestui lucru este că dacă obțineți un loc de muncă ca dezvoltator iOS sau primiți un proiect mai vechi, tot codul va fi scris în Objective-C.

Cu toate acestea, instrumentele pe care le folosim pentru dezvoltarea iOS nu sunt optimizate pentru Swift și ajunge acolo, dar aceste instrumente sunt mult mai bune cu Objective-C. Pentru majoritatea companiilor, Objective-C rămâne limbajul de dezvoltare preferat.

Este necesar să înveți ambele limbi?

Apple, o companie lider, nu a lansat un limbaj nou-nouț doar pentru distracție. Compania a lansat acest nou limbaj de către echipa de bază și efortul de a stimula adoptarea în comunitate și de a oferi o indicație clară.

Compania vede acest limbaj high-end drept viitorul platformelor sale. Scopul principal al limbajului Swift este să se extindă dincolo de dezvoltarea iOS și să funcționeze bine cu Swift în curs de dezvoltare.

Dacă te-ai decis să faci parte din această comunitate pe termen lung, Swift devine limbajul tău principal de dezvoltare. Indiferent de adoptarea Swift, Objective-C încă nu merge nicăieri. Compania încă încearcă să facă multe îmbunătățiri în limbaj.

Este posibil să scrieți aplicații complet în Swift; totuși, există o șansă mare să fii nevoit să mergi ocazional în Objective-C. Asigurați-vă că știți că ajungeți la asta ca începător, care este partea destul de dificilă a dezvoltării iOS. Odată ce vă familiarizați cu un limbaj de programare, nu vă va fi dificil să învățați altul.

Atunci când alegeți între Objective-C și Swift, căutați considerații tehnice

Ambele limbi Objective-C și Swift au obținut beneficii tehnice variate. Mai jos, puteți găsi factorii de care ar trebui să țineți cont.

Timp de rulare a limbii

Știți că runtime-ul Objective-C este mai robust decât runtime-ul Swift? Timpul de rulare al lui Swift este chiar aproape de timpul de rulare al lui Objective-C și nu va fi posibil nici măcar ani de zile. Dacă v-ați hotărât să scrieți cod care va beneficia de reflecția și introspecția profundă a obiectelor și a tipurilor, Objective-C este o idee simplă.

Continuitatea codului

Swift este un limbaj de programare mai sigur decât Objective-C datorită sistemului său puternic de tastare și gestionării erorilor. Dacă urmați Swift idiomatic, aveți garanția că codul dvs. ține cont de toate cazurile de eroare potențiale.

Nu înseamnă că prinde totul. O evadare a memoriei dintr-un ciclu de reținere este un exemplu de eroare, care este la fel de răspândită în codul Swift ca și Objective-C. Acest lucru se datorează faptului că sistemul involuntar de numărare a referințelor lui Swift este nemișcat.

Suport pentru scule

Întreaga echipă a Xcode a efectuat o lucrare incredibilă, modernizand procesul de construire pentru a sprijini Swift. Echipa a trebuit să se ocupe de aplicarea unui limbaj complex și de sprijinirea acestuia lucrând cu un limbaj foarte diferit. Vine cu mica surpriză că IDE-ul în sine este în întârziere și suportul pentru instrumente pentru Swift este cel mai puțin.

Uneori, puteți fi norocos să obțineți evidențierea Sintaxelor. De multe ori, veți trece fără completare automată. Dacă sunteți unul dintre cei cărora le place suportul robust oferit de IDE-urile moderne, asigurați-vă că vă gândiți să rămâneți cu Objective-C sau să evaluați IDE-uri alternative. Cea mai comună alternativă este AppCode; totuși, există cineva care are o configurație potrivită pentru emacs.

Lucrul cu API-urile Foundation

Aplicația pe care ați plănuit să o faceți va folosi API-urile de bază principale, ar trebui să mergeți cu Objective-C. Este adevărat că Swift oferă niște wrapper-uri minunate și face gestionarea memoriei puțin mai fluidă; cu toate acestea, acestea sunt încă API-uri C și apeluri de funcții bazate pe C care se vor potrivi mai natural în baza de cod Objective-C.

Utilizați codul C++

La fel ca API-urile de bază, puteți utiliza biblioteci C++ sau puteți dezvolta pe deasupra unui SDK C++ multiplatform, deoarece se va preta unui proiect Objective-C. Nu veți putea importa C++ în fișierele Swift.

Pentru a folosi Swift, trebuie să treceți prin sarcina plictisitoare și plină de erori de a crea clase de wrapper Objective C și C++. De fiecare dată, veți avea nevoie de conexiune și de cost suplimentar și doriți să utilizați o altă parte a unei biblioteci C++. Objective-C este o opțiune corectă dacă veți folosi C++.

Pregătire pentru viitor

Știți că cele mai bune proiecte de viitor sunt cele scrise în Swift? Utilizarea Swift a fost extinsă pentru a fi utilizată pentru al treilea proiect open source Cocoa. În următorii patru ani, acesta va fi egal cu Obiectivul-C. Mai mult, majoritatea tutorialelor și blogurilor noi sunt deja scrise în Swift.

Credem cu strictețe că în decurs de 5 până la 10 ani, ar trebui să existe suficiente informații despre Swift pentru a respinge cerința de a înțelege Obiectivul-C. Veți avea suficient timp pentru a vă converti codul înainte ca Objective-C să dispară; prin urmare, puteți păstra asta pentru gândire.

Încheierea

Deci, aceștia sunt cei mai comuni factori pe care dezvoltatorii trebuie să ia în considerare atunci când decid între Objective-C și Swift pentru dezvoltarea aplicației iOS. Există șanse ca proiectul dvs. să includă considerații suplimentare, care nu sunt în mod normal cu care se confruntă majoritatea aplicațiilor. Cu toate acestea, dacă sunteți în căutarea unui dezvoltator iOS cu experiență, care are competențe atât în ​​Objective-C, cât și în Swift, puteți lua legătura cu compania de dezvoltare a aplicațiilor pentru iPhone.