Apple annab välja Swift 5.3 programmeerimiskeele ja avatud lähtekoodiga Swift System raamatukogu

Apple kuulutas välja raamatukogu lähtekoodi avamise kohta Swift süsteem, mis pakub süsteemikõnede ja madala taseme andmetüüpide jaoks idiomaatilist programmeerimisliideste komplekti. Swift System toetas algselt ainult Apple'i platvormide süsteemikutseid, kuid nüüd on see üle viidud Linuxile. Swifti süsteemi kood on kirjutatud Swifti keeles ja jaotatud litsentsitud Apache 2.0 alusel.

Swift System pakub ühtset juurdepääsupunkti süsteemiliidestele, mida saab kasutada kõigil toetatud platvormidel, ilma et oleks vaja Swifti programmides spetsiaalseid C-raamistikke. Samal ajal ei ühenda Swift System süsteemikõnesid endid, vaid pakub iga toetatud platvormi jaoks eraldi API-de alamhulka, võttes arvesse selle platvormi käitumist ja peegeldades täpselt operatsioonisüsteemi madala taseme liideseid. Swift Systemi loomise põhieesmärk on lihtsustada platvormideüleste teekide ja rakenduste, näiteks SwiftNIO и SwiftPM. Swift System ei välista madalatasemelistele primitiividele juurdepääsul hargnemise vajadust "#if os()" alusel, kuid muudab selle töö ohutumaks ja
mugav.

Võite ka märkida väljaanne programmeerimiskeele väljalase Swift 5.3. Ametlikud ehitused ette valmistatud Linuxi (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS-i (Xcode 12) ja Windows 10 jaoks. Lähtetekstid levima litsentsitud Apache 2.0 alusel.

Uus väljalase lisab esialgse toe Windowsi platvormile ja alustas tööriistade pakkumine Swifti rakenduste loomiseks ja käitamiseks Windows 10-s. Keelefunktsioonide täiustamist jätkati. Uute funktsioonide hulka kuuluvad stringtüübi initsialiseerija lisamine, avaldise „kus” laiendatud kasutamine, didSeti semantika muudatused, Catch-avaldistes mitme mustri määramise tugi ja tüübi lisamine.
ujuk16, aatomiline mäluoperatsioonid.

Saadud rakenduste suurust on vähendatud - kui Swift 4-s oli kokkupandud programmi suurus 2.3 korda suurem kui Objective-C versioonil, siis nüüd on vahe vähenenud 1.5 korda. Uus väljalase kiirendab oluliselt ka järkjärgulist ehitust ja ehituskoodi suure hulga teistest raamatukogudest imporditud atribuutide ja funktsioonidega. Täiustatud on kompilaatoris olevaid diagnostikavahendeid ja veateadete kvaliteeti. Paketihaldur annab võimaluse lisada pakettidele käitusajal vajalikke lisaressursse, näiteks pilte. Paketihaldur lisab ka lokaliseerimise komponentide toe ja tingimuslike sõltuvuste määratlemise võimaluse.

Tuletame meelde, et Swifti keel pärib C ja Objective-C keelte parimad elemendid ning pakub Objective-C-ga ühilduvat objektimudelit (Swifti koodi saab segada C ja Objective-C koodiga), kuid see erineb automaatse keele kasutamise poolest. muutujate ja massiivide mälu eraldamine ja kontrolli ületäitumine, mis suurendab oluliselt koodi töökindlust ja turvalisust. Swift pakub ka palju kaasaegseid programmeerimistehnikaid, nagu sulgurid, üldine programmeerimine, lambda-avaldised, korteežid ja sõnastikutüübid, kiired kogumisoperatsioonid ja funktsionaalse programmeerimise elemendid. Linuxi versioon ei ole seotud Objective-C Runtime'iga, mis võimaldab keelt kasutada keskkondades, kus puudub Objective-C tugi.

Swifti juurutus on üles ehitatud tasuta LLVM-projekti tehnoloogiate abil. Kõrge jõudluse tagamiseks kompileeritakse Swifti programmid natiivseks koodiks, mis töötab Apple'i testides 30% kiiremini kui Objective-C kood. Prügikoguja asemel kasutab Swift objektide viidete loendamist. Pakett sisaldab paketihaldurit Swift paketihaldur, mis pakub tööriistu moodulite ja pakettide levitamiseks Swift-keeles teekide ja rakendustega, sõltuvuste haldamiseks, automatiseeritud laadimiseks, komponentide ehitamiseks ja linkimiseks.

Allikas: opennet.ru

Lisa kommentaar