Apple lansează limbajul de programare Swift 5.3 și biblioteca open source Swift System

măr a anunțat despre deschiderea codului sursă al bibliotecii Sistem Swift, care oferă un set idiomatic de interfețe de programare pentru apeluri de sistem și tipuri de date de nivel scăzut. Swift System a acceptat inițial numai apeluri de sistem pentru platformele Apple, dar acum a fost portat pe Linux. Codul Swift System este scris în limbajul Swift și distribuit de licențiat sub Apache 2.0.

Swift System oferă un singur punct de acces la interfețele de sistem care poate fi utilizat pe toate platformele acceptate fără a fi nevoie de cadre C specifice în programele Swift. În același timp, Swift System nu unifică apelurile de sistem în sine, ci oferă un subset separat de API-uri pentru fiecare platformă acceptată, ținând cont de comportamentul acestei platforme și reflectând cu exactitate interfețele de nivel scăzut ale sistemului de operare. Scopul cheie al creării sistemului Swift este de a simplifica dezvoltarea bibliotecilor și aplicațiilor multiplatforme, cum ar fi SwiftNIO и SwiftPM. Sistemul Swift nu elimină necesitatea ramificării bazate pe „#if os()” atunci când se accesează primitive de nivel scăzut, dar face ca acest lucru să fie mai sigur și mai sigur.
confortabil.

De asemenea, puteți observa publicare lansarea limbajului de programare Swift 5.3. Construcții oficiale pregătit pentru Linux (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) și Windows 10. Texte sursă răspândire licențiat sub Apache 2.0.

Noua versiune adaugă suport inițial pentru platforma Windows și a început furnizarea de instrumente pentru construirea și rularea aplicațiilor Swift pe Windows 10. Funcționalitatea limbajului a continuat să fie rafinată. Noile funcții includ adăugarea unui inițializator pentru tipul String, utilizarea extinsă a expresiei „where”, modificări în semantica didSet, suport pentru specificarea mai multor modele în expresiile Catch și adăugarea unui tip
Float16, atomic operatii de memorie.

Dimensiunea aplicațiilor rezultate a fost redusă - dacă în Swift 4 dimensiunea programului asamblat a fost de 2.3 ori mai mare decât versiunea din Objective-C, acum decalajul a fost redus la 1.5 ori. Noua versiune accelerează semnificativ, de asemenea, codul de construcție și de construcție incremental, cu un număr mare de proprietăți și funcții importate din alte biblioteci. Instrumentele de diagnosticare din compilator și calitatea mesajelor de eroare au fost îmbunătățite. Managerul de pachete oferă posibilitatea de a include resurse suplimentare necesare în timpul rulării, cum ar fi imagini, în pachete. Managerul de pachete adaugă, de asemenea, suport pentru componente pentru localizare și capacitatea de a defini dependențe condiționate.

Reamintim că limbajul Swift moștenește cele mai bune elemente ale limbajelor C și Objective-C și oferă un model de obiect compatibil cu Objective-C (codul Swift poate fi amestecat cu codul C și Objective-C), dar diferă în utilizarea automată. alocarea memoriei și controlul depășirii variabilelor și matricelor, ceea ce crește semnificativ fiabilitatea și securitatea codului. Swift oferă, de asemenea, multe tehnici moderne de programare, cum ar fi închideri, programare generică, expresii lambda, tupluri și tipuri de dicționar, operații de colectare rapidă și elemente de programare funcțională. Versiunea Linux nu este legată de Objective-C Runtime, ceea ce permite ca limbajul să fie folosit în medii care nu au suport pentru Objective-C.

Implementarea Swift este construită folosind tehnologii din proiectul LLVM gratuit. Pentru a asigura performanță ridicată, programele Swift sunt compilate în cod nativ care rulează cu 30% mai rapid decât codul Objective-C în testele Apple. În loc de un colector de gunoi, Swift folosește contorizarea referințelor obiectelor. Pachetul include un manager de pachete Manager de pachete Swift, care oferă instrumente pentru distribuirea modulelor și pachetelor cu biblioteci și aplicații în limbajul Swift, gestionarea dependențelor, încărcarea automată, construirea și legarea componentelor.

Sursa: opennet.ru

Adauga un comentariu