stamatios
← Voltar ao feed
SwiftUI após 7 anos ainda parece beta, dizem desenvolvedores
Dev & Engenharia

SwiftUI após 7 anos ainda parece beta, dizem desenvolvedores

resumo de ~3 min

O argumento central

Yakov Manshin, desenvolvedor sênior, argumenta que o SwiftUI, sete anos após seu anúncio em 2019, continua sendo um framework medíocre que não atingiu maturidade de produção. Ele considera que a desculpa de "framework jovem" já morreu e que o SwiftUI permanece em estado de beta perpétuo.

Por que o SwiftUI existe

Manshin contextualiza que o SwiftUI nasceu como resposta competitiva ao React Native e Flutter, além de uma tentativa de revitalizar o ecossistema nativo no Mac (especialmente a Mac App Store). As promessas eram: sintaxe declarativa, fonte única de verdade, animações embutidas, previews instantâneos e reutilização de código entre plataformas.

Os problemas identificados

Data flow caótico: O sistema de propriedade wrappers (@State, @Binding, @Observable) está em constante mudança. O framework re-renderiza views de forma imprevisível - reage a mudanças que deveria ignorar e ignora mudanças importantes. Mesmo APIs de debugging não documentadas não dão o quadro completo.

Layout imprevisível: O sistema de negociação de tamanhos é descrito como um pesadelo para interfaces não triviais. O autor mostra que até o tutorial oficial da Apple (projeto Landmarks) apresenta bugs visuais no macOS com a versão mais recente do Xcode - um problema que persiste há mais de dois anos. O uso de GeometryReader é descrito como "admissão de derrota", pois elimina o benefício declarativo.

Instabilidade de API e falta de paridade: Recursos que existiam no UIKit há décadas (como dismiss de teclado no scroll) demoraram anos para chegar ao SwiftUI. AsyncImage só veio no iOS 15 e ainda não tem cache (em beta até julho de 2026). Componentes como NavigationView foram substituídos por NavigationStack sem retrocompatibilidade real, forçando shims e verificações if #available por toda parte.

Performance inferior: Manshin apresenta comparação direta entre UIKit e SwiftUI numa galeria de imagens simples. O SwiftUI se mostra consistentemente menos fluido no scroll, mesmo com otimizações como decodificação de imagens em background. Ele argumenta que se é necessário hardware de ponta para exibir JPEGs, há algo errado com a arquitetura.

Mito cross-platform: O que se aprende no iOS raramente se aplica diretamente ao Mac. UIs projetadas para telas de 6 polegadas não funcionam bem em desktops de 27 polegadas. O resultado são apps que parecem alienígenas em outras plataformas.

A mudança filosófica

O ponto mais amplo do autor é que o SwiftUI reflete uma mudança cultural na Apple: a transição do padrão de qualidade "intransigente" da era Cocoa/Aqua para uma mentalidade de "good enough" (bom o suficiente). Ele lista exemplos de bugs em apps de primeira linha da Apple (Apple Music, TestFlight, Ajustes, Logic Pro) como evidência dessa queda de padrão. Para Manshin, baixar a barra de qualidade foi uma escolha deliberada, não uma necessidade.

Conclusão do autor

Manshin não considera o SwiftUI "ruim", mas medíocre - o que ele julga pior. Ele continua preferindo os frameworks "legados" (UIKit e AppKit) e acredita que os usuários merecem mais do que produtos "bom o suficiente".