Novo padrão Swift recebeu uma função inesperada
Em junho de 2021, na conferência WWDC, a Apple apresentou mais uma atualização da sua linguagem de programação principal — Swift 5.5. Esperava-se que o foco principal fosse a melhoria de desempenho e correção de erros, mas, em vez disso, os engenheiros de Cupertino deram aos desenvolvedores uma verdadeira surpresa: foi adicionado à linguagem o suporte para programação assíncrona a nível de sintaxe — as palavras-chave async e await.
Até este momento, o Swift, embora tivesse ferramentas poderosas para trabalhar com multithreading (por exemplo, Grand Central Dispatch e OperationQueue), obrigava os desenvolvedores a escrever closures complexas e cadeias de callbacks. O novo modelo, inspirado nas linguagens Kotlin, JavaScript e C#, permite escrever código assíncrono quase como síncrono, sem perda de desempenho.
«Isto não é apenas açúcar sintático», afirmou numa entrevista ao portal PythonLib o engenheiro principal da Apple para o Swift, Ted Kremer. «Nós reformulámos o runtime para que as tarefas declaradas como async sejam executadas numa thread separada sem bloquear a principal. Isto reduz a barreira de entrada para iniciantes e acelera o desenvolvimento de aplicações iOS complexas.»
De acordo com dados de benchmarking interno da Apple, o uso de async/await num pedido de rede típico reduz o volume de código em 30–40% em comparação com o GCD, enquanto o tempo de execução permanece comparável. Além disso, no Swift 5.5 surgiram os atores (actors) — um novo mecanismo de proteção contra condições de corrida (race conditions), que é verificado em tempo de compilação. Segundo a avaliação de analistas da empresa JetBrains, 68% dos desenvolvedores iOS planeiam migrar para o Swift 5.5 dentro de seis meses após o lançamento.
O lançamento oficial da versão estável do Swift 5.5 ocorreu a 20 de setembro de 2021. A atualização está disponível no Xcode 13 e é distribuída através do Swift Package Manager. Para retrocompatibilidade, todas as APIs antigas foram mantidas, mas a Apple recomenda fortemente migrar gradualmente para a nova sintaxe.
Assim, o Swift 5.5 tornou-se não apenas mais um patch, mas um verdadeiro passo em frente para todo o ecossistema Apple. Os desenvolvedores que antes se queixavam do «inferno dos callbacks» finalmente receberam uma ferramenta que torna o código limpo e previsível.