ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 148
Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 26
Abonament PDF

Să vorbim despre Swift

Valentin Filip
Cluster Manager & Team Lead on Innovation
@Yonder



PROGRAMARE

Compania Apple este recunoscută prin interesul manifestat în ceea ce privește standardele de înaltă calitate a produselor și serviciilor pe care le oferă. Iată că au reușit din nou acest lucru, odată cu lansarea noului limbaj de programare Swift. Acesta a fost un proiect în lucru pe parcursul ultimilor 4 ani, care chiar dacă a pornit ca un proiect personal al lui Chris Lattner, angajat Apple, a câștigat cu ușurintă încrederea managementului executiv al companiei, fiindu-i oferită o echipă în scopul finalizării lui.

Pe data de 2 Iunie, Swift a fost făcut cunoscut developerilor, cu promisiunea unei performanțe și eficiențe sporite. Ținând cont de ultimele îmbunătățiri făcute limbajului de programare Objective-C, majoritatea publicului a fost surprins de mișcarea indrăzneață făcută de Apple, cu toate că se pot observa cu ușurință unele similarități dintre sintaxa modernă a Objective-C și elementele prin care Swift dorește să impresioneze.

Ceea ce face ca Swift să fie un limbaj mai puternic este faptul că a adoptat toate părțile pozitive ale altor limbaje populare precum managementul automatizat al memoriei, sintaxă de tip script și type inference pentru a crea un mod mai ușor și mai direct de a lucra. Dar cel mai important este că a fost creat pentru programatorul obișnuit, suportând dezvoltarea până și a celor mai simple aplicații.

De ce Swift și nu vechiul Objective-C?

După cum am menționat mai sus, Swift oferă un mare avantaj, acela de a putea fi mult mai ușor de înțeles de către orice programator obișnuit. Deși simplul fapt de a putea fi un programator pentru dispozitivele mobile ale companiei Apple poate reprezenta un motiv suficient, eliminarea barierelor limbajului de programare face ca adoptarea noii platforme să fie sporită. Swift oferă posibilitatea de a scrie cod pentru dispozitive Apple mult mai rapid. De asemenea, folosind “Playgrounds”, orice programator are oportunitatea de a învăța singur să codeze.

Pentru programatorul obișnuit cu Objective-C, este necesar un motiv foarte bine întemeiat pentru a adopta schimbarea. Au existat și alte limbaje dezvoltate până acum, dar fără a avea impactul dorit, deși au fost susținute de companii importante precum Google, cu Go. Dar în timp ce până și Paul Jensen, analist independent, afirma că Go nu a creat necesitatea folosirii lui, Swift își face intrarea în scenă cu adevărate îmbunătățiri asupra modului curent de a lucra, acest lucru făcându-l dorit de toți programatorii ce momentan folosesc Objective-C.

Swift este totuși destul de similar cu alte limbaje de programare disponibile în acest moment, dar având în vedere că singura alternativă ar fi Obecjtive-C, nenumărați programatori vor alege Swift datorită modului ușor de lucru pe care îl oferă. El vine împreună cu diverse caracteristici precum “inferred typing” prin care nu mai este necesară specificarea tipurilor pentru variabilele folosite, mai ales că în același timp codul este mai sigur, variabila preluând tipul primei valori atribuite.

Probabil că una dintre cele mai de efect schimbări adoptate de mediul folosit pentru a scrie applicații iOS, Xcode, este integrarea așa numitului “Playgrounds”. Prin acest mod se poate vedea în timp real produsul rezultat scrierii codului, facând mult mai rapidă testarea ideilor și în același timp învățarea de unul singur în mod empiric. “Playgrounds” reprezintă mai mult decât abilitatea de a testa câteva linii de cod. Demonstrează faptul că Swift este uimitor de rapid, având în vedere că face atât compilarea codului, rularea executabilului și afișarea rezultatului, toate acestea întâmplându-se într-un interval de sub 2 secunde, în funcție de mărimea și complexitatea codului, arătând rapiditatea cu care Swift va rula pe dispozitivele folosite.

Și totuși oferă mai mult decât atât. Un program funcțional poate fi modificat fără a fi necesară executarea întregului cod. Cu ajutorul Playgrounds se poate integra cod într-o aplicație deja funcțională, având astfel siguranța că este la zi cu implementarea facută.

Va dispărea oare Objective-C?

Partea bună este că Apple nu va elimina suportul pentru vechiul limbaj, iar aplicațiile vor putea avea baza de cod ce conține atât Swift cât și Objective-C.

Cu toate că Swift pare mai ușor de folosit și adoptat, modul de scriere al Objective-C oferă totuși mai mult context unui începător în programare. Acest lucru poate fi destul de important în cazul transferului unui proiect. Prin încercarea de a diminua cât de mult cantitatea de cod scrisă, codul rezultat în Swift este unul din ce în ce mai criptat și greu de citit la prima vedere. Astfel că folosirea de comentarii poate deveni în timp o necesitate.

Apple a luat în considerare toate situațiile în care mai poate apărea nevoia folosirii de Objective-C, astfel că permite folosirea ambelor limbaje în cadrul aceluiași proiect. Prin acest lucru se oferă oportunitatea programatorului de a folosi o librărie scrisă în Objective-C sau reutilizarea unei bucăți de cod pentru care rescrierea nu este încă o opțiune viabilă.

Nu se rezumă totul doar la performanță și eficiență

După cum a mai fost deja menționat, Swift oferă un avantaj mare asupra altor noi limbaje de programare atunci când se pune în discuție folosirea lui de către programatorii iOS existenți. Oferă perfomanță sporită și ușurință în utilizare.

Dar este oare acesta singurul scop al lui Apple? Doar de a îmbunătăți performanța platformei? Din punctul meu de vedere, ar putea fi și o mișcarea îndrăzneață de marketing cu efect pe viitor. Objective-C a fost dintotdeauna considerat a fi greu de învățat și adoptat, mai ales de către programatori cu experiență pe alte tehnologii. Așa au apărut Appcelerator Titanium, Xamarin și altele. Swift ar părea că seamănă cu multe dintre limbajele folosite des în industrie, dar spre deosebire de acestea, oferă migrare rapidă și rezultate cele mai bune în cazul mutării către platforma Apple.

Luând ca exemplu programatorii Web, alternativele sunt aplicații web optimizate pentru mobile sau Appcelerator Titanium. La momentul scrierii acestui articol, conform site-ului Appcelerator, există nu mai puțin de 618.722 de programatori ce folosesc platforma. Aș spune că aceștia formează o mulțime impresionantă. Oare Apple nu și-ar dori să utilizeze aceste resurse pentru dezvoltarea propriei lor platforme? Acest lucru ar asigura ca viitoarele aplicații să fie mai stabilie și mai rapide, mai multe componente ar fi create pentru Swift, iar șansele sunt ca venitul rezultat să se afle în cadrul ecosistemului, prin achiziționarea și plata cu ajutorul AppStore, înlocuind Web-ul.

Comparând Swift cu JavaScript, asemănarea modului de scriere a codului este vizibil similară:

JavaScript:

var country = 'Argentina';
var countries = ['Argentina', 'Brasil', 'Mexic'];

Swift:

var country = 'Argentina'
var countries = ['Argentina', 'Brasil', 'Mexic']

După cum este ușor de observat, sintaxa este similară în aceste exemple, deși, ținând cont de caracteristica inferred type, comportamentul variabilelor este puțin diferit.

Swift a împrumutat multe trăsături de la alte limbaje de programare, făcându-l să fie un amestec de idei bune. Se pot observa similaritățile cu JavaScript, Python, Java, C#, C, Lisp, Cold Fusion, JSP și altele.

Ghid/Mod de folosire

Pentru a exemplifica utilizarea de Swift, în continuare este un exemplu de aplicație pentru calcularea bacșișului.

class Calculator { 
  let total: Double
  let taxPct: Double
  let subtotal: Double
  init(total:Double, taxPct:Double) {
    self.total = total
    self.taxPct = taxPct
    subtotal = total / (taxPct + 1)
  }
  func calculate() {
    println("10% tip = : (subtotal * 0.10), for total = (total)")
  }
}
let tipCalc = TipCalculator(total: 10, taxPct: 0.24)
tipCalc.calculate()

Concluzii

Ținând cont de ce anume înlocuiește, Swift oferă o îmbunătățire în a permite scrierea rapidă de cod cu o performanță ridicată. Prin toate avantajele oferite, își va face cu siguranță loc spre inima chiar și a celor mai fideli programatori de Objective-C iar acest lucru se va întămpla cu un ritm mai alert comparativ cu situația altor limbaje.

Mai contează oare că este totuși un limbaj specific ecosistemului Apple? Acest lucru depinde doar de scopul fiecăruia. Apple a încetat să mai susțină Java de o vreme, astfel că o uniune cu limbajul de programare ce stă la baza Android-ului nu pare realizabilă în viitorul apropiat. Drept urmare, orice revoluționare a platformei este mai mult decât binevenită și cu siguranță va produce inovații în viitorul apropiat. Există chiar și posibilitatea de a fi open-sourced, așa cum Apple a făcut în cazul Clang și LLVM, oferind tuturor șansa de a contribui la îmbunătățirea lui.

Conferință TSM

NUMĂRUL 147 - Automotive

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects