Apple lanza a linguaxe de programación Swift 5.3 e a biblioteca Swift System de código aberto

Apple anunciou sobre a apertura do código fonte da biblioteca Sistema Swift, que proporciona un conxunto idiomático de interfaces de programación para chamadas de sistema e tipos de datos de baixo nivel. Swift System orixinalmente só admitía chamadas de sistema para plataformas de Apple, pero agora portouse a Linux. O código do sistema Swift está escrito en linguaxe Swift e distribuído por licenciado baixo Apache 2.0.

Swift System ofrece un único punto de acceso ás interfaces do sistema que se pode usar en todas as plataformas compatibles sen necesidade de marcos C específicos nos programas Swift. Ao mesmo tempo, Swift System non unifica as propias chamadas do sistema, senón que proporciona un subconxunto separado de API para cada plataforma compatible, tendo en conta o comportamento desta plataforma e reflectindo con precisión as interfaces de baixo nivel do sistema operativo. O obxectivo fundamental da creación do sistema Swift é simplificar o desenvolvemento de bibliotecas e aplicacións multiplataforma como SwiftNIO и SwiftPM. O sistema Swift non elimina a necesidade de ramificación baseada en "#if os()" ao acceder a primitivas de baixo nivel, pero fai que este traballo sexa máis seguro e
cómodo.

Tamén podes notar publicación versión da linguaxe de programación Swift 5.3. Construcións oficiais preparado para Linux (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) e Windows 10. Textos de orixe espallamento licenciado baixo Apache 2.0.

A nova versión engade soporte inicial para a plataforma Windows e comezou subministración de ferramentas para crear e executar aplicacións Swift en Windows 10. A funcionalidade da linguaxe continuou perfeccionándose. As novas funcións inclúen a adición dun inicializador para o tipo String, a ampliación do uso da expresión "where", o cambio da semántica de didSet, o soporte para especificar varios patróns en expresións Catch, o engadimento dun tipo
Flotador 16, atómico operacións de memoria.

O tamaño das aplicacións resultantes reduciuse: se en Swift 4 o tamaño do programa ensamblado era 2.3 veces maior que a versión en Objective-C, agora a diferenza reduciuse a 1.5 veces. A nova versión tamén acelera significativamente o código de construción e construción incremental cunha gran cantidade de propiedades e funcións importadas doutras bibliotecas. Melloráronse as ferramentas de diagnóstico do compilador e a calidade das mensaxes de erro. O xestor de paquetes ofrece a posibilidade de incluír recursos adicionais necesarios no tempo de execución, como imaxes, nos paquetes. O xestor de paquetes tamén engade soporte para compoñentes para a localización e a capacidade de definir dependencias condicionais.

Lembre que a linguaxe Swift herda os mellores elementos das linguaxes C e Objective-C, e proporciona un modelo de obxectos compatible con Objective-C (o código Swift pódese mesturar co código C e Objective-C), pero difire no uso da automática. asignación de memoria e control desbordamento de variables e matrices, o que aumenta significativamente a fiabilidade e seguridade do código. Swift tamén ofrece moitas técnicas de programación modernas, como peches, programación xenérica, expresións lambda, tuplas e tipos de dicionario, operacións de recollida rápida e elementos de programación funcional. A versión de Linux non está vinculada ao tempo de execución de Objective-C, o que permite que a linguaxe se use en ambientes que carecen de compatibilidade con Objective-C.

A implementación de Swift constrúese utilizando tecnoloxías do proxecto gratuíto LLVM. Para garantir un alto rendemento, os programas Swift compílanse en código nativo que se executa un 30 % máis rápido que o código Objective-C nas probas de Apple. En lugar dun colector de lixo, Swift usa o reconto de referencias de obxectos. O paquete inclúe un xestor de paquetes Xestor de paquetes Swift, que proporciona ferramentas para distribuír módulos e paquetes con bibliotecas e aplicacións na linguaxe Swift, xestionar dependencias, cargar automaticamente, construír e vincular compoñentes.

Fonte: opennet.ru

Engadir un comentario