Swift saiu dos limites do ecossistema Apple
\n\nPor muito tempo, a linguagem Swift foi associada exclusivamente a iOS, macOS e watchOS. Se você quisesse criar um aplicativo para Android ou um servidor web, usava Java, Kotlin ou Python. Mas os tempos mudaram. Hoje, o desenvolvimento multiplataforma em Swift não é um experimento de entusiastas, mas uma indústria madura com suporte a nível de kernel Linux, ferramentas oficiais da Apple e uma comunidade ativa.
\n\nNeste artigo, vamos explorar como programar em Swift para Windows, Linux, Android e até para a web. Você verá exemplos reais de código, conhecerá os frameworks Vapor e SwiftUI, e receberá um roteiro para começar. Vamos lá!
\n\nPor que Swift? Três razões para ir além da Apple
\n\n1. Desempenho e segurança de memória
\nSwift é uma linguagem compilada com contagem automática de referências (ARC). Ela oferece velocidade próxima a C++, mas protege contra vazamentos de memória e erros de ponteiro nulo em nível de compilação. Para aplicações servidoras e desktop, isso é essencial.
\n\n2. Sintaxe moderna
\nProtocolos, extensões, genéricos, tipos opcionais — o Swift absorveu o melhor da programação funcional e orientada a objetos. O código fica conciso e legível.
\n\n3. Base de código unificada
\nEscrevendo a lógica uma vez em Swift, você pode executá-la em iOS, Android (através do Swift Android Toolchain), Linux, Windows e até no navegador (via WebAssembly). Isso reduz o custo de manutenção e acelera a entrada em novas plataformas.
\n\nFerramentas para desenvolvimento multiplataforma em Swift
\n\nAntes de escrever código, vamos entender quais ferramentas serão necessárias. Aqui está a stack principal para desenvolvimento multiplataforma em Swift em 2025:
\n\n- \n
- Swift Package Manager (SPM) — gerenciador de pacotes padrão, funciona em todas as plataformas. \n
- Vapor — o framework web mais popular em Swift. Lógica de servidor, REST API, WebSockets. \n
- SwiftUI — framework de UI declarativo. No macOS e iOS funciona nativamente, em outras plataformas — via
SwiftUI-WebouTokamak. \n - Swift for TensorFlow / NumPy — aprendizado de máquina e computação científica. \n
- Android NDK + Swift Android Toolchain — compilação de código Swift para Android. \n
- WebAssembly (WASI) — execução de Swift no navegador. \n
Escrevendo um servidor em Swift com Vapor (Linux / macOS / Windows)
\n\nVamos começar com o mais simples e útil — um servidor web. Vapor é um equivalente maduro do Express.js ou Flask, mas em Swift. O código funciona em Linux, macOS e Windows (via Swift 6).
\n\nInstalação do Vapor
\nbrew install vapor # macOS\ncurl -sL https://apt.vapor.codes/install.sh | bash # Linux\n# Windows: instale o Swift 6, depois o vapor via SPM\n\nREST API simples com Vapor
\nVamos criar um projeto e escrever um endpoint para trabalhar com tarefas (ToDo):
\n\n// Sources/App/routes.swift\nimport Vapor\n\nfunc routes(_ app: Application) throws {\n // GET /hello\n app.get("hello") { req -> String in\n return "Olá, Swift multiplataforma!"\n }\n\n // GET /tasks\n app.get("tasks") { req -> [String] in\n return ["Estudar Swift", "Escrever artigo", "Executar no Android"]\n }\n\n // POST /task\n app.post("task") { req -> String in\n let task = try req.content.decode(Task.self)\n return "Tarefa adicionada: \\(task.title)"\n }\n}\n\nstruct Task: Content {\n let title: String\n let isCompleted: Bool\n}\n\nExecute o servidor com o comando vapor run e abra http://localhost:8080/hello. Você verá a saudação. Este mesmo código funciona sem alterações no Ubuntu, Windows Server e macOS.
Swift no Android: escrevendo uma biblioteca nativa
\n\nMuitos consi