SwiftUI irá substituir o Swift?

Cassiane de Freitas
Comunidade XP
3 min readApr 14, 2022

--

Tela inicial de um novo projeto em SwiftUI.

Primeiramente vamos para a definição de cada um, afinal o que é SwiftUI e Swift?

O SwiftUI foi lançando pela Apple em 2019, é um framework composto de ferramentas para construir interfaces de usuário (Apple, 2019).

Já o Swift é uma linguagem de programação, que foi anunciada em 2014 pela Apple na WWDC (Apple Worldwide Developers Conference) (Zup, 2021).

Explicando de uma maneira simplista o SwiftUI é uma plataforma de desenvolvimento, com ferramentas modernas para facilitar o desenvolvimento de aplicativos, enquanto o Swift é uma linguagem de programação que se mantém atualizada, conforme o lançamentos de novas versões. Isso significa que o Swift será utilizado dentro do SwiftUI e logicamente não é possível que o mesmo substitua o Swift.

SwiftUI novidades

Abaixo resumidamente algumas novidades:

  • O SwiftUI possui automatização de elementos e mostra prévias em tempo real.
  • Adeus Contraints, no SwiftUI não é necessário criar contraints, os componentes são organizados com “pilhas”, chamadas HStack, VStack e ZStack.
  • @Published uma propriedade que permite criar objetos observáveis, que anunciam automaticamente quando ocorrem alterações, assim é possível por exemplo criar um objeto, a partir de uma requisição de API e anunciar toda vez que ele for alterado, ou seja, se no retorno da requisição o objeto for alterado, poderemos avisar as visualizações e elas serão automaticamente atualizadas com a nova informação (Hacking With Swift, 2021).
  • @State, no SwiftUI é possível declarar propriedades que irão ter “estado”, então quando o valor mudar toda a hierarquia de “views” que dependem da propriedade também serão atualizadas (Developer Apple — Documentation SwiftUI).
  • @Binding uma propriedade que pode ler e gravar um valor pertencente a uma fonte “original”, desta forma é possível criar uma conexão bidirecional entre a propriedade que é fonte dos dados e a “view” que exibe e altera os dados (Developer Apple — Documentation SwiftUI).
  • Lindas transições, animações e componentes gratuitamente.
  • RealityKit que permite trabalhar com realidade aumentada.
  • Novos recursos no MapKit, como sobreposições de vetores, filtragem de pontos de interesse, limites de zoom e movimentos de câmera (Apple, 2019).
  • Nova forma de implementação de navegação entre as views, com as estruturas NavigationView e NavigationLink, ambas trabalham de forma conjunta.
  • Construção de listas com List, que lembra muito a TableView do UIKit, mas que possui algumas facilidades como não precisar dizer quantas linhas teremos em nossa lista, configurar as células manualmente, não precisar registrar uma célula protótipo em storyboards ou registrar no código, por exemplo.

Dentre essas novidades o SwiftUI trouxe várias outras para os desenvolvedores iOS, particularmente acredito que podemos esperar muita evolução do SwiftUI, já que a Apple vem investindo nele e incentivando sua adoção. Obviamente existem possíveis melhorias e devemos acompanhar para ver se ocorrerá uma migração (abandono do UIKit/Storyboard), como ocorreu do Objective-C para Swift ou se acabará se tornando apenas um Construtor de Interfaces.

--

--