Awesome Swift
Uma seleção curada de frameworks, bibliotecas, ferramentas e projetos incríveis para Swift.
A lista prioriza projetos modernos, bem mantidos e interessantes para desenvolvimento de aplicações macOS, iOS, Linux, Web, Server-Side Swift, WebAssembly e multiplataforma.
Swift não é apenas uma linguagem para desenvolver aplicativos Apple. O ecossistema atual permite construir servidores, APIs, sites, ferramentas CLI, aplicações multiplataforma e até aplicações WebAssembly.
Conteúdo
- Web & Server-Side.
- HTML & Templates.
- Static Site Generators.
- Frontend & WebAssembly.
- Multiplatform UI.
- Networking.
- Database & Persistence.
- Concurrency & Async.
- CLI & Terminal.
- Architecture & State Management.
- Dependency Injection.
- Serialization & Data.
- Testing.
- Logging & Observability.
- Developer Tools.
- Package Management.
- AI & Machine Learning.
- Graphics, Games & Media.
- Resources.
Web & Server-Side
Frameworks para construir APIs, aplicações web e servidores utilizando Swift.
- Vapor: Framework HTTP para Server-Side Swift, com suporte a routing, middleware, autenticação, WebSockets, Fluent e muito mais.
- Hummingbird: Framework web leve e moderno para construir servidores HTTP em Swift.
- FlyingFox: Servidor HTTP simples e leve escrito em Swift.
- Swifter: Tiny HTTP server engine para Swift.
- Kitura: Framework histórico para desenvolvimento server-side em Swift.
- Perfect: Toolkit para desenvolvimento de servidores, APIs e aplicações web em Swift.
HTML & Templates
Bibliotecas para gerar HTML diretamente em Swift.
- Elementary: Biblioteca moderna e eficiente para renderização de HTML, inspirada no SwiftUI.
- Plot: DSL type-safe para gerar HTML, XML e RSS.
- Swim: DSL para criação de HTML em Swift.
- HTMLKit: Biblioteca para trabalhar com HTML em Swift.
- SwiftHTML: DSL para geração de HTML type-safe.
- Stencil: Template language inspirada em Jinja/Django templates.
- Leaf: Template engine do ecossistema Vapor.
Static Site Generators
Ferramentas para criar sites estáticos utilizando Swift.
- Saga: Gerador de sites estáticos code-first escrito em Swift.
- Publish: Static site generator extensível criado por John Sundell.
- Ignite: Framework para criação de websites usando Swift.
- Ink: Markdown parser em Swift.
Frontend & WebAssembly
Frameworks que permitem utilizar Swift diretamente no navegador.
- ElementaryUI: Framework reativo para construir interfaces web em Swift e WebAssembly.
- Tokamak: Framework declarativo inspirado no SwiftUI para aplicações multiplataforma.
- SwiftWebUI: Implementação experimental de SwiftUI para a Web.
- JavaScriptKit: Interop entre Swift/Wasm e JavaScript.
- WebKit: APIs da Apple para integração com tecnologias web.
Multiplatform UI
Frameworks para criar interfaces além das APIs tradicionais da Apple.
- SwiftUI: Framework declarativo oficial da Apple.
- QtBridge for Swift: Bridge entre Swift e Qt Quick.
- Tokamak: UI declarativa multiplataforma inspirada em SwiftUI.
- SwiftCrossUI: Framework de UI multiplataforma para Swift.
- Skip: Desenvolvimento multiplataforma utilizando Swift para iOS e Android.
Networking
Bibliotecas para HTTP, WebSockets, APIs e comunicação de rede.
- AsyncHTTPClient: HTTP client assíncrono baseado em SwiftNIO.
- Alamofire: HTTP networking elegante para Swift.
- URLSession: API nativa da Apple para networking.
- Moya: Abstração sobre APIs de networking.
- gRPC Swift: Implementação de gRPC para Swift.
- WebSocketKit: WebSockets para o ecossistema Vapor/SwiftNIO.
Database & Persistence
- Fluent: ORM para Swift, utilizado principalmente com Vapor.
- GRDB.swift: Toolkit SQLite para Swift.
- SwiftData: Framework moderno de persistência da Apple.
- Core Data: Framework de persistência da Apple.
- SQLite.swift: Wrapper type-safe para SQLite.
- Realm Swift: Database orientado a objetos para aplicações Swift.
Concurrency & Async
- Swift Concurrency:
async/await, actors, tasks e structured concurrency. - SwiftNIO: Framework assíncrono e event-driven da Apple.
- AsyncAlgorithms: Algoritmos para
AsyncSequence. - Atomics: Operações atômicas de baixo nível para Swift.
- Synchronization: Primitivas modernas de sincronização.
CLI & Terminal
Swift também é excelente para construir ferramentas de linha de comando.
- ArgumentParser: Framework oficial da Apple para criação de CLI.
- SwiftShell: Execução de comandos shell diretamente em Swift.
- ShellOut: Interface simples para executar comandos shell.
- Rainbow: Cores e estilos ANSI no terminal.
- Spectre: Interface para construir aplicações CLI interativas.
Architecture & State Management
- The Composable Architecture: Arquitetura para aplicações Swift com composição, estado, efeitos e testes.
- ReSwift: Implementação do padrão Redux para Swift.
- SwiftState: State machines para Swift.
- Perception: Observation compatível com versões anteriores dos sistemas Apple.
Dependency Injection
- Factory: Dependency injection container moderno para Swift.
- Needle: Dependency injection type-safe em tempo de compilação.
- Swinject: Dependency injection framework para Swift.
Serialization & Data
- Codable: Sistema nativo de codificação e decodificação de dados.
- Swift Codable: APIs nativas para serialização.
- SwiftyJSON: Manipulação simplificada de JSON.
- Yams: Parser e serializer YAML para Swift.
- XMLCoder: Codificação e decodificação XML utilizando Codable.
Testing
- Swift Testing: Framework moderno de testes da Swift.
- XCTest: Framework tradicional de testes da Apple.
- Quick: Behavior-driven development para Swift.
- Nimble: Matcher framework para testes expressivos.
- SnapshotTesting: Snapshot testing para Swift.
Logging & Observability
- swift-log: API de logging multiplataforma para Swift.
- swift-metrics: API de métricas para Swift Server.
- swift-distributed-tracing: APIs para distributed tracing.
- OSLog: Sistema de logging nativo das plataformas Apple.
Developer Tools
Ferramentas para melhorar o desenvolvimento e manutenção de projetos Swift.
- SwiftLint: Linter para Swift.
- SwiftFormat: Formatter de código Swift.
- SwiftSyntax: Parser e infraestrutura para trabalhar com código Swift.
- Swift Macro Testing: Ferramentas para testar Swift macros.
- Tuist: Automação e geração de projetos Xcode.
- XcodeGen: Geração de projetos Xcode a partir de YAML.
- xcbeautify: Formatação da saída do
xcodebuild. - xcodes: Instalação e gerenciamento de versões do Xcode.
- SourceKit-LSP: Language Server Protocol para Swift.
Package Management
- Swift Package Manager: Gerenciador oficial de dependências do Swift.
- Swift Package Index: Índice de pacotes Swift.
- Carthage: Gerenciador de dependências descentralizado.
- Mint: Instalação e execução de Swift CLI tools.
AI & Machine Learning
- Core ML: Machine learning on-device nas plataformas Apple.
- Create ML: Criação de modelos de machine learning.
- MLX Swift: Framework Swift para machine learning baseado no MLX.
- Swift Transformers: Transformers para Swift.
- swift-openai: Integração com APIs de modelos de IA.
- PythonKit: Integração entre Swift e Python.
Graphics, Games & Media
- SpriteKit: Framework 2D da Apple para jogos.
- SceneKit: Framework 3D da Apple.
- RealityKit: Desenvolvimento 3D e spatial computing.
- Metal: API de gráficos e computação de baixo nível da Apple.
- AudioKit: Framework para áudio e música em Swift.
- SDL: Bindings para Simple DirectMedia Layer.
- ImagineEngine: Engine 2D para jogos escrita em Swift.
Resources
Official
- Swift.org: Site oficial da linguagem Swift.
- Swift Documentation: Documentação oficial.
- Swift Forums: Comunidade oficial da linguagem.
- Swift Package Index: Catálogo de pacotes Swift.