Apple libera a lingua di prugrammazione Swift 5.3 è a biblioteca open source Swift System

Apple annunziatu circa l'apertura di u codice fonte di a biblioteca Sistema Swift, chì furnisce un inseme idiomaticu di interfacce di prugrammazione à e chjama di u sistema è tipi di dati di livellu bassu. Swift System hà inizialmente supportatu solu e chjama di u sistema per e plataforme Apple, ma avà hè stata portata à Linux. U codice Swift System hè scrittu in lingua Swift è distribuitu da licenziatu sottu Apache 2.0.

Swift System furnisce un unicu puntu d'accessu à l'interfacce di u sistema chì ponu esse aduprati in tutte e plataforme supportate senza a necessità di framework C specifichi in i prugrammi Swift. À u listessu tempu, Swift System ùn unifica micca i chjami di u sistema, ma furnisce un subset separatu di API per ogni piattaforma supportata, tenendu in contu u cumpurtamentu di sta piattaforma è riflettendu accuratamente l'interfacce di u sistema operatore di livellu bassu. L'obiettivu chjave di a creazione di u Sistema Swift hè di simplificà u sviluppu di biblioteche è applicazioni multipiattaforma cum'è SwiftNIO и SwiftPM. U Sistema Swift ùn elimina micca a necessità di branching basatu annantu à "#if os()" quandu accede à primitivi di livellu bassu, ma rende stu travagliu più sicuru è
cunfortu.

Pudete ancu nutà publicazione liberazione di lingua di prugrammazione Swift 5.3. Custruzzioni ufficiali preparatu per Linux (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) è Windows 10. Testi d'origine sparghje licenziatu sottu Apache 2.0.

A nova versione aghjusta un supportu iniziale per a piattaforma Windows è cuminciatu supply of tools for building and running applications Swift in Windows 10. A funziunalità di a lingua cuntinuava à esse raffinata. E funzioni novi includenu l'aghjunzione di un inizializzatore per u tipu String, l'usu allargatu di l'espressione "induve", cambiamenti in a semantica didSet, supportu per specificà mudelli multipli in espressioni Catch, è l'aghjunzione di un tipu.
Float 16, atomicu operazioni di memoria.

A dimensione di l'applicazioni resultanti hè stata ridutta - se in Swift 4 a dimensione di u prugramma assemblatu era 2.3 volte più grande di a versione in Objective-C, avà u gap hè ridutta à 1.5 volte. A nova versione accelera ancu significativamente l'edificazione incrementale è u codice di custruzione cù un gran numaru di pruprietà è funzioni impurtate da altre biblioteche. I strumenti di diagnostichi in u compilatore è a qualità di i missaghji d'errore sò stati migliurati. U gestore di pacchetti furnisce a capacità di include risorse supplementari necessarie in runtime, cum'è l'imaghjini, in pacchetti. U gestore di pacchetti aghjunghjenu ancu supportu per i cumpunenti per a localizazione è a capacità di definisce e dipendenze cundiziunali.

Ricurdativi chì a lingua Swift eredita i migliori elementi di e lingue C è Objective-C, è furnisce un mudellu d'ughjettu cumpatibile cù Objective-C (u codice Swift pò esse mischiatu cù u codice C è Objective-C), ma differisce in l'usu di l'automaticu. allocazione di memoria è cuntrollu overflow di variàbili è arrays, chì aumenta significativamente l'affidabilità è a sicurità di u codice. Swift offre ancu assai tecnichi di prugrammazione muderni, cum'è chjusi, prugrammazione generica, espressioni lambda, tuple è tipi di dizziunariu, operazioni di cullizzioni veloci è elementi di prugrammazione funziunale. A versione Linux ùn hè micca ligata à l'Objective-C Runtime, chì permette a lingua per esse usata in ambienti chì mancanu di supportu Objective-C.

L'implementazione Swift hè custruita utilizendu tecnulugia da u prugettu LLVM gratuitu. Per assicurà un altu rendiment, i prugrammi Swift sò compilati in codice nativu chì corre 30% più veloce di u codice Objective-C in teste Apple. Invece di un cullettore di basura, Swift usa u conte di riferimentu di l'ughjettu. U pacchettu include un gestore di pacchetti Manager di pacchetti Swift, chì furnisce l'arnesi per a distribuzione di moduli è pacchetti cù biblioteche è applicazioni in a lingua Swift, gestione dipendenze, carica automatizata, custruisce è cumpunenti di ligame.

Source: opennet.ru

Add a comment