Avantajele utilizării Swift peste Objective-C

Publicat: 2021-10-05

Un articol care urmărește să evidențieze principalele frumuseți pe care le are limbajul de programare Swift .

Aici mi-ar plăcea să încep de la un test rapid.
Întrebare: Care este limbajul de programare pe care sunt scrise aplicațiile iOS?

a) C #

b) Obiectiv-C

c) Rapid

Se pare că dacă ați ales toate cele de mai sus - sunteți 100% corect, toate limbile menționate sunt utile atunci când vine vorba de dezvoltarea iOS. Cu toate acestea, nu ar fi ciudat să menționăm că toate acestea sunt diferite datorită unui imens „decalaj generațional” care le separă.

... Wikipedia afirmă că totul a început de la un Objective-C, când bunicul limbajelor de programare a fost lansat de Brad Cox și Tom Love la începutul anilor 1980. În primul rând achiziționat de NeXT și apoi, în cele din urmă de Apple, când în 1996 au folosit OpenStep în OS X. De atunci, o parte imensă a sistemului de operare Apple a fost dezvoltată pe Objective-C și aceasta a fost cea mai mare creștere.

Cu toate acestea, așa cum este bine cunoscut, tot ce este bun într-o zi face o amintire excelentă și exact asta se întâmplă cu Objective în aceste zile. Sunt 100% sigur că ați auzit de aplicații precum jocul 2048, Wordpress iOS sau browserul FireFox iOS. În mod surprinzător, limbajul de codare iOS pe care sunt scrise aceste aplicații nu este obiectiv - dar este Swift.

Rapid. Limbaj de programare pentru aplicația iOS.

(aceste informații erau scadente la momentul publicării articolului - februarie 2017; unele modificări se pot aplica ulterior)

Dorind să uimească clienții, Apple a reușit să depășească așteptările tuturor - în special dezvoltatorii au fost mai mult decât surprinși atunci când la începutul lunii iunie 2014 noul limbaj de programare a aplicației ios a fost adus în această lume. După 3 ani de dezvoltare Swift, programatorii încă nu au încetat să lucreze la el - au existat deja câteva actualizări, cu o versiune mai recentă a Swift 4.0 lansată în septembrie 2016. Codul scris pe acest limbaj open-source ar putea fi aplicat pentru macOS , iOS, watchOS, tvOS și (!) Linux.
2 ani mai târziu, acum, și Swift a luat o poziție solidă printre toate limbile de dezvoltare mobile existente. Rezultatele sondajului pentru dezvoltatorii Stack Overflow afirmă că Swift ocupă locurile de top în cele mai iubite și dorite limbi și se clasează ca obiectivul C ca cele mai temute limbi din acest an (2019).

Toate punctele luate în considerare, există avantaje care să facă Swift să iasă din mulțime? Există vreo șansă să participe la concursul Swift vs Objective ?

Citește și: 6 diferențe între dezvoltarea iOS și Android: mituri vs realitate

Rapid versus Obiectiv-C

Cai pentru cursuri așa cum se spune, dar există câteva frumuseți de netăgăduit pe care le are Swift-language-programming-language-from-Apple. Iată o grămadă de avantaje și dezavantaje introduse grafic de studiat.

Rapid versus Obiectiv-C

Chiar dacă procesul de codificare cu toate caracteristicile sale hi-tech pare a fi o știință rachetă pentru dvs., abordarea mai simplă și progresivă pe care Swift a adus-o nu poate trece neobservată. Pe de altă parte, există câteva lucruri despre Swift pe care unii le-ar putea numi dezavantaje, de exemplu, trebuie să utilizeze Xcode ca mediu principal de dezvoltare integrată; unii dezvoltatori se plâng că ar folosi mai bine IDE-uri terțe care au depășit Xcode în stabilitate și caracteristici.

Motive pentru utilizarea Swift

În ciuda tuturor celor enumerate anterior, multe companii de dezvoltare din întreaga lume aleg să respecte opțiunea de limbă Swift, iar Mind Studios nu fac excepție aici. De ce preferăm Swift în comparația Objective-C? Există câțiva factori ușor de luat în considerare.

Swift este ...

1) ... mai nou.

Objective-C are deja 33 de ani și a fost inițial o continuare a limbajului C. În contrast izbitor, Swift a venit ca un limbaj separat de Apple, deoarece a devenit greu pentru companie să sprijine și să dezvolte Objective. În cei 3 ani de existență, Swift a fost dezvoltat activ, iar noua versiune 4 va fi livrată în curând.

2) ... mai curat.

Cu o nouă sintaxă adăugată la Swift, pare mult mai ușor să citiți, să compilați și să inspectați codul decât era obișnuit pe Objective-C.

3) ... consumă mai puțin timp.

Deoarece Swift necesită mai puține linii de cod pentru a fi scrise, atunci, în mod adecvat, este nevoie de cel puțin timp pentru a finaliza domeniul de aplicare a crearii codului.

4) ... consumă mai puțin memorie.

Mai devreme în Objective-C, dacă ar exista o legătură obiect - ar fi nevoie de o parte din memoria cu acces aleatoriu; când Swift a fost implementat - Apple a lăsat singur programarea orientată pe obiecte și a trecut la structuri. În consecință, cantitatea de date de tip referință și clasele SDK s-a redus, modificându-se acum pentru tipul de valoare. Acest lucru a dus la o utilizare mai eficientă a memoriei în Swift.

5) ... mai repede.

Swift este mai rapid decât Obj-C

Swift reușește să respecte datele mai repede decât Obj-C; la fel ca Objective-C, folosește compilatorul LLVM pentru generarea de cod nativ optimizată pentru platforma pe care rulează. În Swift, o mulțime de tablouri sunt rescrise ca structuri; câteva clase erau obiecte mai devreme în Objective-C, ceea ce a dus la un proces mai lent de lucru al codului; deși este nevoie de mai mult timp pentru a compila codul în Xcode IDE, codul funcționează mai rapid pe Swift la urma urmei.

6) ... nu numai orientat spre iOS.

Așa cum am menționat anterior, Swift a fost deja adaptat pentru Linux și unii programatori i-au dat deja o lovitură și pe Android. Din experiența noastră, partea serverului poate fi scrisă și în format Swift.

7) ... un limbaj open-source.

Se pare că toată documentația tehnică ar putea fi citită - ceea ce înseamnă practic că ar putea fi folosită în beneficiul viitoarelor dvs. aplicații. Și chiar mai mult decât atât - toți dezvoltatorii dispuși își pot sugera rezoluțiile, deoarece Apple a creat Jira pentru urmărirea erorilor Swift.

8) ... un limbaj sigur pentru tip.

Spre deosebire de Objective-C, care nu a fost niciodată. În conformitate cu datele Stack Overflow, siguranța tipului este utilă nu numai în timpul rulării, ci și în timpul compilării. Swift încă nu verifică tipurile în timpul rulării, dar o face în timpul unei verificări în timpul compilării, ceea ce ajută deja la eliminarea multor erori.

9) ... o limbă cu enumerări, tipuri opționale și comutatoare la îndemână.

... ceea ce înseamnă practic că este un pic mai sigur de utilizat. Objective-C a fost întotdeauna un limbaj orientat obiect, dar cu unele structuri scrise pentru Swift a condus în cele din urmă la mai puține blocaje și la o siguranță sporită. Din nou, Apple a adăugat mai întâi tipuri opționale și apoi, în al doilea rând, enumerări în loc de valori întregi. Tipurile opționale ajută la verificarea existenței obiectului în cadrul codului, permițând evitarea blocărilor suplimentare. Cu ajutorul enumerărilor și comutatoarelor pentru obiecte, Apple speră să facă experiența de codare și mai fascinantă.
Un exemplu de enumerări Swift:

Un exemplu de enumerări:
Un exemplu de enumeri Swift Cu toate acestea, în Obj-C ar fi
 enum CompassPoint { case north case south case east case west }
 typedef NS_ENUM(NSInteger, CompassPoint) { north, south, east, west };

Comutatoare:
în codul Swift arată În schimb, aici sunt comutatoarele Obj-C
 switch character { case "a", "A": print("The letter A") case "b": print("The letter B”) default: print("Other letter") }
 switch (compassPoint) {
 case north: NSLog(@"North"); break; case south: NSLog(@"South"); break; case east: NSLog(@"East"); break; case west: NSLog(@"West"); break; default: break; }

Un exemplu de tip opțional, prezent doar în Swift
desfaceți opțional:
 var test: String? if let test = test { print(“\(test) is unwrapped now ??”) } guard let test = test else { print(“test is nil ??”) return } print(“\(test) is unwrapped!”)
#### 9) ... actualizarea de neoprit. După cum sa menționat deja, 4 versiuni de Swift proaspăt au văzut deja lumea, iar în aceste zile așteptăm ca Swift 3.1 să fie livrat cât mai curând posibil. În plus, zvonurile spun că viitorul [Swift 4.0] (https://themindstudios.com/blog/swift-4-vs-swift-3-differences/) va avea compatibilitate inversă - ceea ce înseamnă că integrarea din versiunile lingvistice mai vechi de 3.1, 3.0 etc. vor deveni mai ușoare în viitor.

Citiți și: Modele de arhitectură pentru dezvoltarea iOS

Este totul rapid.

Pro de a utiliza Swift peste Objective-C

Ar fi o afirmație neacceptată dacă s-ar încerca să vorbească despre tehnologie înainte de a-i da efectiv o lovitură. Deci, judecând din experiența pe care deja o avem în Mind Studios - Swift este destul de convenabil de lucrat.
Câteva dintre cele mai recente aplicații sunt scrise Swift, inclusiv:

  • Gadh iOS - o aplicație care dovedește consultări online prin telefon și video cu avocatul tău
  • Stern Fit - o rețea socială pentru sportivi pasionați
  • TapToTrip - un planificator de rute și călătorii la îndemână
  • LIT - EPUB eReader premium
  • Unagrande YogaClub - lecții video de yoga pentru indivizi pasionați
    Toate aplicațiile menționate anterior implică diverse tehnologii, care ar putea fi ușor implementate pe Swift.

Doriți să aflați mai multe despre trusa de dezvoltare a realității augmentate.

Rezumând - la ce limbă ar trebui să rămâi?

Această întrebare nu are un răspuns universal în sine. Pe de o parte, așa cum se întâmplă frecvent în IT - cea mai nouă tehnologie este adesea o soluție; pe de altă parte, schimbarea cailor în mijlocul curentului ar putea să nu fie cea mai bună politică de lucru, deoarece fiecare proiect este diferit. Deci, cu orice decideți să mergeți, asigurați-vă că este o potrivire bună pentru modelul de afaceri pentru această industrie de piață specifică și caracteristicile pe care le-ați ales pentru viitorul dvs. produs.

Scris de Max Mashkov, Yurii Smirnov și Elina Bessarabova.

Aveți nevoie de o consultație ce tehnologie să utilizați pentru proiectul dvs.? Trimite-ne o linie!