Swift System agora é código aberto com suporte para Linux

Por Leonardo Santana 3 minutos de leitura

A Apple abriu o código-fonte do Swift System e também adicionou suporte para Linux. A ideia por trás do Swift System é apresentar uma solução completa para interfaces de sistema de baixo nível para todas as plataformas Swift suportadas.

A maioria dos sistemas operacionais que usamos hoje trabalha com suporte a algum tipo de interface de sistema escrita em C e tem permanecido a mesma por décadas. Essas APIs podem ser usadas diretamente do Swift, mas essas interfaces de sistema “weakly-typed” importados da C são propensas a erros e não gerenciáveis.

Por exemplo, em sistemas operacionais como o Linux, as funções “weakly-typed” têm vários contras e não conseguem utilizar a expressividade e tipo de segurança que se pode encontrar no Swift.

Swift System com suporte para Linux

O módulo Swift System apresenta vários recursos de linguagem para melhorar a expressividade e reduzir as chances de erro. Por exemplo: “System” define a chamada de sistema aberta como uma função estática com argumentos padrão no namespace “FileDescriptor”:

A Apple abriu o código-fonte do Swift System e também adicionou suporte para Linux.

Ao comparar esta versão com a versão original em C, você pode detectar diferenças significativas, como:

  • “System” usa estruturas representáveis brutas e conjuntos de opções. Esses “strong types” ajudam a identificar erros em tempo de compilação e são mais fáceis de converter de e para os “weaker C types”.
  • Os erros são lançados usando o mecanismo de linguagem padrão e não podem ser perdidos.
  • “FilePath” é um pacote de bytes gerenciado “null-terminated” que está em conformidade com “ExpressibleByStringLiteral” (muito mais seguro de se trabalhar do que um UnsafePointer<CChar>).

É importante observar que “System” não é uma plataforma cruzada, mas uma biblioteca multiplataforma. Ele fornece um conjunto separado de APIs e comportamentos em cada plataforma com suporte, que reflete de perto as interfaces subjacentes do sistema operacional.

Portanto, uma única “import” puxará as interfaces da plataforma nativa específicas para o sistema operacional que você escolher.

Fonte: Fossbytes

Apple melhora desempenho da linguagem de programação Swift 5.3

Como programar em Swift no Ubuntu, a linguagem de programação da Apple

Desenvolva aplicativos para iOS com Swift Open Source

Share This Article
Sair da versão mobile