2 pontos por GN⁺ 2025-03-31 | 1 comentários | Compartilhar no WhatsApp
  • Foi lançada a primeira versão estável do swiftly, a ferramenta oficial de gerenciamento de versões que simplifica o processo de instalar, gerenciar e atualizar versões do Swift
  • Antes, a versão mais recente do Swift só podia ser usada via Xcode, mas agora é possível fazer uma instalação independente no macOS e em várias distribuições Linux
  • O swiftly, que começou como uma ferramenta da comunidade Swift, agora foi integrado à organização oficial do Swift no GitHub e passou a ter suporte oficial
  • Agora é possível instalar o Swift sem o Xcode, facilitando o gerenciamento de versões para vários usos, como ferramentas de desenvolvimento e ambientes de servidor

Resumo dos principais recursos do swiftly

  • É possível instalar e alternar entre várias versões do toolchain do Swift
    • Comandos como swiftly install, swiftly use e swiftly list-available estão disponíveis
    • Com o arquivo .swift-version, é possível forçar o uso de uma versão consistente entre membros da equipe
  • Também é possível instalar versões snapshot e versões antigas
    • Exemplo: versões como main-snapshot-2025-03-25 também podem ser instaladas com facilidade
    • Com a sintaxe swiftly run +버전명, é possível executar temporariamente com uma versão específica
  • Inclui função de atualização automática
    • O comando swiftly self-update permite aplicar os recursos mais recentes
  • Suporta macOS e várias distribuições Linux
    • Suporta Ubuntu, Debian, Fedora, Red Hat Enterprise Linux, Amazon Linux e outras

O swiftly é uma ferramenta CLI autoinstalável escrita em Swift

  • O próprio swiftly também é implementado na linguagem Swift
    • Operações de sistema de arquivos: uso do módulo Foundation
    • Requisições HTTP: uso do Async HTTP Client
    • Consulta de informações de versão: uso do Swift OpenAPI Generator
    • Descompactação: integração em C com libarchive
  • É fornecido como um binário autoinstalável sem scripts de shell → maior estabilidade entre plataformas
  • Oferece uma interface CLI limpa, com opções como --help

Compatibilidade com distribuições Linux e instalação simples

  • O Swift.org consegue detectar o sistema operacional, mas não consegue detectar a distribuição Linux
  • Para resolver isso, fornece binários que funcionam em uma ampla gama de distribuições usando o Swift Static Linux SDK
  • O usuário pode instalar apenas copiando e colando o comando no site

Planos futuros e atividade open source

  • O swiftly será adotado como o método padrão para instalar o Swift fora do Xcode
  • Também há suporte para configuração de ambientes de CI/CD, servidores proxy e caminhos de instalação personalizados → adequado também para ambientes corporativos
  • O desenvolvimento é open source, e é possível abrir issues e enviar PRs no GitHub
  • Também é possível participar de perguntas, respostas e discussões no fórum do Swift

Agradecimentos especiais a Patrick Freed pela criação do swiftly. A comunidade Swift está tornando o Swift ainda melhor

1 comentários

 
GN⁺ 2025-03-31
Comentários no Hacker News
  • Steve Klabnik comentou recentemente em um episódio do Oxide and Friends sobre como a equipe inicial do Rust reconheceu a importância desse tipo de ferramenta. Isso é um sinal positivo dos esforços contínuos do Swift e da Apple para aumentar seu potencial como linguagem de uso geral fora do ecossistema da Apple
    • O Swift funciona bem no Linux, é divertido de escrever e tem ótima interoperabilidade com C, C++ e Java
    • Pontos menos favoráveis: tempo de compilação, tamanho dos binários, sobrecarga de verificações de tipo em tempo de execução (o desempenho do Codable causou problemas no aplicativo), dificuldades com o tratamento de async/await
  • Fico curioso sobre o que aconteceu com o Swift. Eu ouvia falar muito dele antes, mas agora não tanto. Talvez eu esteja em uma câmara de eco
  • Seria bom se usar Swift fora do mundo Apple fosse viável
  • Gostaria de saber se isso é algo como o UV do Swift, quais seriam as vantagens e se daria para abandonar o Xcode e usar isso no lugar
  • Não acompanho desde que o Swift foi lançado, mas queria saber se a documentação melhorou. Eu lia comandos no Stack Overflow que não conseguia encontrar na documentação ou, quando encontrava, não havia informação útil
  • Um dos motivos de tanta gente gostar do Zig é que ele tem ferramentas embutidas. Isso vem junto com a linguagem desde o primeiro dia
  • Isso será uma grande ajuda para o ecossistema Swift. A possibilidade de adicionar e remover versões da linguagem conforme a necessidade é muito conveniente, e fico feliz que mais linguagens estejam adotando isso
  • Fico me perguntando se isso permitirá executar testes unitários de código que precisa importar UIKit fora do simulador
  • Se houvesse suporte ao Windows, as pessoas poderiam experimentar