Spoločnosť Apple vydala programovací jazyk Swift 6.3.

Spoločnosť Apple vydala Swift 6.3. Oficiálne zostavenia sú dostupné pre Linux, Windows a macOS. Zdrojový kód je licencovaný pod licenciou Apache 2.0.

Swift kombinuje najlepšie prvky C a Objective-C a poskytuje objektový model kompatibilný s Objective-C (kód Swift je možné zmiešať s kódom C a Objective-C), ale líši sa v použití automatického prideľovania pamäte, variabilného riadenia pretečenia , a polia, ochrana pred použitím neinicializovaných premenných a blokovanie prístupu do pamäte po jej uvoľnení, čo výrazne zvyšuje spoľahlivosť a bezpečnosť kódu. Swift tiež ponúka mnoho moderných programovacích techník, ako sú uzávery, generické programovanie, lambda výrazy, n-tice a typy slovníkov, operácie rýchleho zberu a prvky funkcionálneho programovania.

Implementácia Swift je postavená pomocou technológií z bezplatného projektu LLVM. Na zabezpečenie vysokého výkonu sú programy Swift kompilované do strojového kódu, ktorý v testoch preukazuje výkon o 30 % rýchlejší ako kód Objective-C. Namiesto zberača odpadu používa Swift počítanie referencií na objekty. Balík obsahuje Swift Package Manager, ktorý poskytuje nástroje na distribúciu modulov a balíkov s knižnicami a aplikáciami v jazyku Swift, správu závislostí, automatické sťahovanie, zostavovanie a prepájanie komponentov.

Hlavné zmeny v novej verzii:

  • Bola vydaná prvá oficiálna verzia Swift SDK pre platformu Android, ktorá umožňuje používať jazyk Swift na vývoj aplikácií pre Android, ako aj vkladať jednotlivé komponenty Swift do existujúcich aplikácií pre Android napísaných v jazykoch Java a Kotlin.
  • Bol pridaný atribút „@c“, ktorý umožňuje export funkcií a enumerácií napísaných v jazyku Swift na použitie v kóde C (vygeneruje sa hlavičkový súbor s príslušnými definíciami v jazyku C).
  • Implementované selektory modulov, ktoré umožňujú explicitne určiť, z ktorého modulu sa má použiť API, keď viacero importovaných modulov poskytuje API s rovnakým názvom. import ModuleA import ModuleB let x = ModuleA::getValue() // volanie 'getValue' z ModuleA let y = ModuleB::getValue() // volanie 'getValue' z ModuleB
  • Boli pridané nové atribúty na riadenie optimalizácií kompilátora: @specialize — špecializuje generické API pre často používané typy; @inline — inline rozšírenie funkcie na mieste volania; @export(implementation) — exportuje implementáciu funkcie do stabilného ABI knižnice.
  • Navrhuje sa predbežná implementácia zostavovacieho systému Swift Build, integrovaného do SwiftPM (Swift Package Manager).

Zdroj: opennet.ru

Pridať komentár