- No Swift 6 e no desenvolvimento de apps iOS mais recente, o aproveitamento de ferramentas baseadas em LLM é visivelmente menor, ampliando bastante a diferença de produtividade em relação ao Android (com Kotlin, Compose e Cursor)
- A equipe de Android consegue desenvolver rapidamente e oferecer suporte a recursos mais novos até em sistemas operacionais antigos, enquanto a equipe de iOS enfrenta queda de produtividade e o peso da migração da base de código por causa da sintaxe mais recente do Swift 6, das limitações de recursos e da falta de suporte dos frameworks
- Como os LLMs não entendem bem o novo modelo de concorrência (
concurrency) do Swift 6 e padrões complexos, a capacidade dos LLMs de automatizar/acelerar código fica limitada
- A adoção do Swift 6 em si é avaliada positivamente por alguns desenvolvedores, mas a falta de compatibilidade com ferramentas de LLM é apontada como problema
- Ganha destaque a retrocompatibilidade e a abordagem amigável ao desenvolvedor do ecossistema do Google, como Android, Compose e Cursor, enquanto continuam as reclamações sobre frameworks do Swift/Apple e a velocidade de atualização das APIs
Produtividade de desenvolvimento na era do Swift 6 e dos LLMs
Percepção de produtividade: iOS vs Android
- O autor está desenvolvendo um novo app em Swift 6 em uma pequena equipe de iOS, enquanto uma pequena equipe de Android faz o desenvolvimento em paralelo
- A equipe de Android consegue alta velocidade e suporte a recursos recentes usando Kotlin, Compose e Cursor, com ampla compatibilidade até o Android 10, lançado em 2019
- A equipe de iOS só consegue dar suporte ao iOS 16 (2022) ou superior e, com a adoção do Swift 6 mais recente, enfrenta várias limitações em recursos como Observable e generic parameter packs
O descompasso entre Swift 6 e LLMs
- As grandes mudanças de sintaxe e framework no Swift 6 coincidiram com o período de popularização do suporte por LLMs, e os LLMs não conseguem lidar bem com o novo sistema de
concurrency do Swift 6
- Ferramentas de LLM que geram ou recomendam código automaticamente (como ChatGPT, Claude e Cursor) ainda não aprenderam dados e padrões suficientes relacionados ao Swift 6, o que gera limitações na geração de código preciso
- Os desenvolvedores precisam complementar manualmente o que os LLMs não entendem, explicando contexto e adicionando regras → isso causa queda de produtividade e trabalho repetitivo
Opiniões e experiências da comunidade
- Alguns desenvolvedores iOS expressam inveja da retrocompatibilidade de APIs do Android, da maturidade do Compose UI e da ferramenta Cursor
- Há quem diga que adotar o Swift 6 foi uma má escolha, mas também existem avaliações positivas que, embora reconheçam a necessidade de novos padrões e aprendizado, destacam a melhora na expressividade e qualidade do código
- Como os principais frameworks da Apple ainda não foram devidamente atualizados para o sistema de
concurrency do Swift 6, há relatos de complexidade no código e queda de produtividade por causa do uso misto com GCD
- Algumas equipes estão adiando a adoção do Swift 6 e priorizando a resolução de problemas de compatibilidade com a base de código existente
Diferenças entre os ecossistemas Android e Apple
- O Android reforça a produtividade dos desenvolvedores com sua política de retrocompatibilidade (backport) de novas APIs, superando gradualmente antigos problemas, como fragmentação e bugs específicos de dispositivos
- Já a Apple, com APIs privadas/restritas e uma política de atualização lenta, impõe aos desenvolvedores o peso de implementar repetidamente por conta própria funcionalidades parecidas
- Com a adoção de ferramentas de IA e automação como Compose e Cursor, a produtividade no desenvolvimento Android está melhorando ainda mais rápido
- Desenvolvedores de iOS e Swift vêm relatando mais casos de ansiedade em relação às mudanças nas tendências de desenvolvimento e ao posicionamento de carreira, num momento em que é difícil aproveitar LLMs
Conclusão e implicações práticas
- A inovação e a expressividade do Swift 6 são bem avaliadas, mas, por causa das limitações das ferramentas de codificação com LLM/IA, por enquanto continuam inevitáveis o trabalho manual e as explicações repetidas
- Em projetos que exigem desenvolvimento rápido e uso de recursos mais recentes, a combinação Android + Compose + Cursor tem produtividade esmagadoramente superior
- A menos que a Apple acelere as atualizações de seu ecossistema de frameworks e ferramentas, a adoção do Swift 6 no mercado terá de conviver com queda de produtividade e limites no uso de LLMs
3 comentários
No geral, é verdade, mas, do ponto de vista de quem já testou rapidamente a execução de modelos locais com o MLX em dispositivos com Apple Silicon, acho difícil concordar 100%.
Só para constar, ao desenvolver modelos também existe a carga de ter que portar para o MLX, e mesmo ativando o MPS a sensação é de que o processamento fica só um pouco mais rápido do que na CPU, então ainda é algo incômodo de usar.
Ah... doeu, foi bem na ferida...