Apple publikigas Swift 5.3 programlingvon kaj malfermfontecan Swift System-bibliotekon

pomo anoncita pri malfermo de la fontkodo de la biblioteko Rapida Sistemo, kiu disponigas idioman aron de programaj interfacoj al sistemvokoj kaj malaltnivelaj datumtipoj. Swift System origine nur apogis sistemvokojn por Apple-platformoj, sed nun estis adaptita al Linukso. Swift System-kodo estas skribita en Swift-lingvo kaj distribuita de licencita sub Apache 2.0.

Swift System disponigas ununuran punkton de aliro al sistemaj interfacoj, kiuj povas esti uzataj sur ĉiuj subtenataj platformoj sen la bezono de specifaj C-kadroj en Swift-programoj. Samtempe, Swift System ne unuigas la sistemvokojn mem, sed provizas apartan subaron de API-oj por ĉiu subtenata platformo, konsiderante la konduton de ĉi tiu platformo kaj precize reflektante la malaltnivelajn interfacojn de la operaciumo. La ŝlosila celo de kreado de la Swift-Sistemo estas simpligi la evoluon de plurplatformaj bibliotekoj kaj aplikoj kiel ekzemple SwiftNIO и SwiftPM. La Swift-Sistemo ne forigas la bezonon de disbranĉigo bazita sur "#if os()" dum aliro al malaltnivelaj primitivuloj, sed ĝi faras ĉi tiun laboron pli sekura kaj
komforta.

Vi ankaŭ povas noti publikigo eldono de programlingvo Swift 5.3. Oficialaj konstruoj preparita por Linukso (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) kaj Windows 10. Fontaj tekstoj disvastigi licencita sub Apache 2.0.

La nova eldono aldonas komencan subtenon por la Vindoza platformo kaj komenciĝis provizo de iloj por konstrui kaj funkcii Swift-aplikaĵojn en Windows 10. La lingvofunkcio daŭre estis rafinita. Novaj funkcioj inkluzivas la aldonon de inicialigilo por la tipo String, vastigitan uzon de la esprimo "where", ŝanĝojn en didSet-semantiko, subtenon por specifi plurajn ŝablonojn en Catch-esprimoj kaj aldonon de tipo.
Flosilo16, atoma memoroperacioj.

La grandeco de la rezultaj aplikoj estis reduktita - se en Swift 4 la grandeco de la kunmetita programo estis 2.3 fojojn pli granda ol la versio en Objective-C, nun la interspaco reduktiĝis al 1.5 fojojn. La nova eldono ankaŭ signife akcelas pliigan konstruaĵon kaj konstrukodon kun granda nombro da propraĵoj kaj funkcioj importitaj de aliaj bibliotekoj. Diagnozaj iloj en la kompililo kaj la kvalito de erarmesaĝoj estis plibonigitaj. La pakaĵmanaĝero disponigas la kapablon inkludi kromajn rimedojn bezonatajn ĉe rultempo, kiel ekzemple bildoj, en pakaĵoj. La pakaĵmanaĝero ankaŭ aldonas subtenon por komponantoj por lokaligo kaj la kapablon difini kondiĉajn dependecojn.

Memoru, ke la Swift-lingvo heredas la plej bonajn elementojn de la lingvoj C kaj Objective-C, kaj disponigas objektomodelon kongruan kun Objective-C (Swift-kodo povas esti miksita kun C kaj Objective-C-kodo), sed malsamas en la uzo de aŭtomata. memorasigno kaj kontrolo superfluo de variabloj kaj tabeloj, kiu signife pliigas la fidindecon kaj sekurecon de la kodo. Swift ankaŭ ofertas multajn modernajn programajn teknikojn, kiel ekzemple fermoj, senmarka programado, lambda esprimoj, opoj kaj vortarspecoj, rapidaj kolektooperacioj, kaj elementoj de funkcia programado. La Linukso-versio ne estas ligita al la Objective-C Runtime, kio permesas al la lingvo esti uzata en medioj al kiuj mankas Objective-C-subteno.

La Swift-efektivigo estas konstruita uzante teknologiojn de la senpaga LLVM-projekto. Por certigi altan rendimenton, Swift-programoj estas kompilitaj en indiĝenan kodon, kiu funkcias 30% pli rapide ol Objective-C-kodo en Apple-testoj. Anstataŭ rubokolektisto, Swift uzas objektan referenckalkuladon. La pakaĵo inkluzivas pakaĵadministrilon Swift Package Manager, kiu disponigas ilojn por distribuado de moduloj kaj pakaĵoj kun bibliotekoj kaj aplikoj en la Swift-lingvo, administrado de dependecoj, aŭtomatigita ŝarĝo, konstruado kaj ligado de komponantoj.

fonto: opennet.ru

Aldoni komenton