Você ainda deve aprender o UIKit?

Jan 19 2023
SwiftUI está se tornando cada vez melhor. Portanto, surge a questão para novos desenvolvedores de iOS se o UIKit ainda é relevante o suficiente para aprendê-lo.
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.
Foto de Emily Morter no Unsplash

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.