Você ainda deve aprender o UIKit?
Comecei a aprender o desenvolvimento do iOS em 2011. Naquela época, os aplicativos iOS ainda eram desenvolvidos com Objective-C — nenhuma contagem de referência automática e nenhum layout automático estavam disponíveis na época. Então muita coisa mudou ao longo dos anos. Então veio Swift e foi uma grande mudança. Mas agora existe o SwiftUI e é um passo ainda maior. Mas isso significa que você não deve aprender UIKit?
Vamos começar analisando uma enquete que fiz recentemente no LinkedIn:
Assim, mais desenvolvedores usariam SwiftUI em um novo projeto de aplicativo. Mas a diferença não é grande - pelo menos 41% votaram no UIKit. Parece haver ainda boas razões para usar o UIKit - mesmo em um novo projeto de aplicativo.
Claro, o tópico também é um pouco subjetivo. Aqui estão as razões pelas quais acredito serem as vantagens do UIKit e do SwiftUI, respectivamente:
UIKit
- A maioria dos aplicativos existentes usa o UIKit. Portanto, se você começar a trabalhar como desenvolvedor iOS, é muito provável que trabalhe em projetos que usam o UIKit.
- Ao longo dos anos, muitos recursos como postagens de blog, bibliotecas de código aberto e tutoriais foram criados. E eles usam o UIKit. Claro, há cada vez mais recursos que usam o SwiftUI, mas levará algum tempo até que os recursos mais antigos não sejam mais relevantes.
- Para layouts complexos, o UIKit ainda é a melhor escolha. O SwiftUI é muito mais novo que o UIKit e a cobertura da API ainda é melhor no UIKit. Especialmente quando os requisitos de interface do usuário são muito rígidos, você tem mais opções com o UIKit.
- Para SwiftUI, você deve escolher um destino de implantação alto. O mínimo é iOS 13, mas maior é ainda melhor. Pode-se argumentar que isso não é grande coisa para um aplicativo iOS porque a maioria dos usuários está na versão mais recente do iOS. No entanto, se você tiver um aplicativo com um grande público, deseja ter um destino de implantação baixo.
- O desenvolvimento é menos propenso a erros: SwiftUI é uma estrutura de interface do usuário declarativa. Isso significa que você não precisa lidar sozinho com todos os estados possíveis da interface do usuário. Como resultado, a complexidade diminui e você terá menos bugs.
- O desenvolvimento com SwiftUI é mais rápido: devido à sua natureza declarativa, também é mais rápido desenvolver com SwiftUI. Além disso, você tem o recurso de visualização no Xcode, que economiza muito tempo de compilação.
- O SwiftUI é mais fácil de aprender do que o UIKit porque você tem muito menos código clichê. Basta comparar a implementação de um UITableView com uma lista no SwiftUI. É uma grande diferença de complexidade.
Vemos que ambos os frameworks têm seu lugar, mas obviamente SwiftUI é o futuro. Portanto, estamos em uma fase de transição. Muitas pessoas comparam isso com a transição de Swift para Objective-C porque há muitas semelhanças: Ambas as linguagens podem ser usadas no mesmo projeto, uma é o futuro e a nova tem muitas vantagens. Também digno de nota é o fato de que o Swift foi difícil de usar no início por causa da má integração do Xcode. Por exemplo, a conclusão do código travava o tempo todo, por isso era muito difícil desenvolver com o Swift no início.
Mas no final, a transição de Objective-C para Swift foi rápida. Acredito que a transição do UIKit para o Swift levará muito mais tempo porque a transição é mais complexa. Provavelmente o UIKit nunca se tornará tão irrelevante quanto o Objective-C é hoje.
A Maior Semelhança
Antes de concluir, vamos reconhecer um fato importante: SwiftUI e UIKit são ótimos frameworks e você pode criar aplicativos iOS notáveis e significativos com ambos. Então, no final, nem é possível tomar uma decisão completamente errada.
Conclusão
SwiftUI é o futuro do desenvolvimento do iOS, mas o UIKit ainda é muito relevante hoje e será por algum tempo. Portanto, se você deseja se tornar um desenvolvedor iOS, precisa aprender os dois. Por outro lado, SwiftUI e UIKit são muito complexos. Portanto, é complicado aprender os dois ao mesmo tempo.
Meu conselho é focar no SwiftUI no começo porque é mais fácil de aprender. Depois de aprender o básico e escrever aplicativos simples, é um bom momento para aprender o UIKit.
Originalmente publicado em https://thomashanning.com em 18 de janeiro de 2023.





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)