Novo framework para Swift (iOS/macOS) ganha popularidade
O ecossistema Swift continua a se desenvolver ativamente, e um novo player surgiu no horizonte, conquistando rapidamente a atenção dos desenvolvedores iOS/macOS. Estamos falando do framework SwiftAct (nome fictício, para exemplo — nota do editor), que promete simplificar a criação de aplicativos reativos e de alto desempenho para todas as plataformas Apple. De acordo com pesquisas recentes da comunidade, o interesse por esta ferramenta cresceu 40% nos últimos três meses, e o número de projetos no GitHub que a utilizam dobrou.
O que é SwiftAct e por que ele é necessário?
SwiftAct se posiciona como uma alternativa leve ao Combine e, parcialmente, ao RxSwift, mas com foco em assincronicidade e arquitetura limpa. Ao contrário das abordagens tradicionais, este framework utiliza os recursos mais recentes do Swift Concurrency (async/await, atores) nativamente, sem exigir que o desenvolvedor escreva código boilerplate para gerenciamento de threads.
Principais recursos do SwiftAct:
- Reatividade sem dor: Assinatura automática de alterações no estado do modelo. O desenvolvedor só precisa marcar a propriedade com o atributo
@Observable, e a UI no SwiftUI será atualizada automaticamente. - Trabalho de rede integrado: O módulo Networking suporta async/await, serialização automática em Codable e repetição de requisições em caso de erros.
- Modularidade: O framework é dividido em módulos independentes (Core, UI, Networking, Storage), que podem ser conectados seletivamente, sem inflar o binário.
- Suporte para macOS: Ao contrário de muitas soluções focadas em iOS, o SwiftAct é totalmente compatível com AppKit e Catalyst.
Por que os desenvolvedores estão migrando para ele?
A principal razão é a redução da barreira de entrada. Se antes, para criar um aplicativo reativo, era necessário estudar Combine (com seu complexo sistema de Publisher/Subscriber) ou conectar o pesado RxSwift, o SwiftAct oferece uma sintaxe intuitiva, semelhante ao trabalho com propriedades comuns.
Aqui está um exemplo fornecido por um blogueiro entusiasta:
// Abordagem antiga com Combineclass ViewModel { @Published var text = "" var cancellables = Set<AnyCancellable>() func fetch() { api.fetchText() .sink { [weak self] value in self?.text = value } .store(in: &cancellables) }}
// Nova abordagem com SwiftActclass ViewModel { @Observable var text = "" func fetch() async { text = await api.fetchText() // simples e claro }}Como visto, o código se tornou mais conciso, e o gerenciamento de memória e a desinscrição de fluxos ocorrem automaticamente.
Desvantagens e riscos
Apesar do entusiasmo, especialistas alertam: o framework ainda é jovem. A versão 1.0 foi lançada há apenas seis meses, e a comunidade ainda não teve tempo de construir uma base de conhecimento extensa. Podem ocorrer bugs críticos ao trabalhar com multithreading em projetos complexos. Além disso, para projetos de produção com requisitos rigorosos de estabilidade, ainda é recomendado usar Combine ou TCA (The Composable Architecture).
Perspectivas
No entanto, a tendência é clara: os desenvolvedores estão cansados da complexidade e querem escrever menos código, obtendo mais funcionalidades. O SwiftAct já recebeu apoio de grandes empresas como (ficticiamente) "Yandex.Maps" e "Tinkoff" (em projetos piloto), o que demonstra confiança na tecnologia.