Apple rilascia il linguaggio di programmazione Swift 5.3 e la libreria Swift System open source

Mela ha annunciato il sull'apertura del codice sorgente della libreria Sistema rapido, che fornisce un insieme idiomatico di interfacce di programmazione per chiamate di sistema e tipi di dati di basso livello. Swift System originariamente supportava solo le chiamate di sistema per le piattaforme Apple, ma ora è stato portato su Linux. Il codice del sistema Swift è scritto in linguaggio Swift e distribuito da concesso in licenza con Apache 2.0.

Swift System fornisce un unico punto di accesso alle interfacce di sistema che possono essere utilizzate su tutte le piattaforme supportate senza la necessità di framework C specifici nei programmi Swift. Allo stesso tempo, Swift System non unifica le chiamate di sistema stesse, ma fornisce un sottoinsieme separato di API per ciascuna piattaforma supportata, tenendo conto del comportamento di questa piattaforma e riflettendo accuratamente le interfacce di basso livello del sistema operativo. L'obiettivo principale della creazione del sistema Swift è semplificare lo sviluppo di librerie e applicazioni multipiattaforma come SwiftNIO и SwiftPM. Il sistema Swift non elimina la necessità di ramificarsi in base a "#if os()" quando si accede a primitive di basso livello, ma rende questo lavoro più sicuro e
comodo.

Si può anche notare pubblicazione rilascio del linguaggio di programmazione Swift 5.3. Costruzioni ufficiali preparato per Linux (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) e Windows 10. Testi sorgenti diffusione concesso in licenza con Apache 2.0.

La nuova versione aggiunge il supporto iniziale per la piattaforma Windows e iniziato fornitura di strumenti per la creazione e l'esecuzione di applicazioni Swift su Windows 10. La funzionalità del linguaggio ha continuato a essere perfezionata. Le nuove funzionalità includono l'aggiunta di un inizializzatore per il tipo String, l'uso esteso dell'espressione "where", modifiche nella semantica didSet, il supporto per specificare più modelli nelle espressioni Catch e l'aggiunta di un tipo
galleggiante16, atomico operazioni di memoria.

La dimensione delle applicazioni risultanti è stata ridotta: se in Swift 4 la dimensione del programma assemblato era 2.3 volte maggiore rispetto alla versione in Objective-C, ora il divario è ridotto a 1.5 volte. La nuova versione accelera inoltre in modo significativo la creazione incrementale e il codice di creazione con un gran numero di proprietà e funzioni importate da altre librerie. Gli strumenti diagnostici nel compilatore e la qualità dei messaggi di errore sono stati migliorati. Il gestore pacchetti offre la possibilità di includere risorse aggiuntive necessarie in fase di esecuzione, come immagini, nei pacchetti. Il gestore pacchetti aggiunge anche il supporto per i componenti per la localizzazione e la possibilità di definire dipendenze condizionali.

Ricordiamo che il linguaggio Swift eredita i migliori elementi dei linguaggi C e Objective-C, e fornisce un modello a oggetti compatibile con Objective-C (il codice Swift può essere mischiato con il codice C e Objective-C), ma differisce nell'uso del linguaggio automatico allocazione della memoria e controllo dell'overflow di variabili e array, che aumenta significativamente l'affidabilità e la sicurezza del codice. Swift offre anche molte tecniche di programmazione moderne, come chiusure, programmazione generica, espressioni lambda, tuple e tipi di dizionario, operazioni di raccolta veloci ed elementi di programmazione funzionale. La versione Linux non è legata al runtime Objective-C, che consente di utilizzare il linguaggio in ambienti privi del supporto Objective-C.

L'implementazione di Swift è costruita utilizzando le tecnologie del progetto LLVM gratuito. Per garantire prestazioni elevate, i programmi Swift vengono compilati in codice nativo che viene eseguito il 30% più velocemente rispetto al codice Objective-C nei test Apple. Invece di un garbage collector, Swift utilizza il conteggio dei riferimenti agli oggetti. Il pacchetto include un gestore di pacchetti Gestore di pacchetti rapido, che fornisce strumenti per la distribuzione di moduli e pacchetti con librerie e applicazioni nel linguaggio Swift, gestione delle dipendenze, caricamento automatizzato, creazione e collegamento di componenti.

Fonte: opennet.ru

Aggiungi un commento