Ione Souza Junior

Book Tracking app clone usando View Code em Swift

03/12/2023 | 3 minutos de leitura | Tradu√ß√Ķes: en | #swift #view-code

H√° alguns dias, publiquei um post falando sobre minha jornada como desenvolvedor mobile e porque eu decidi focar no desenvolvimento nativo com iOS. Hoje, vou compartilhar minhas primeiras impress√Ķes usando View Code no iOS. Para praticar, escolhi um design the um aplicativo que encontrei no Dribbble e iniciei um clone do aplicativo. Ent√£o, vamos conferir o resultado!

Eu iniciei a estudar iOS de forma um pouco mais focada, e acredito que esse √© o momento perfeito para iniciar um projeto e praticar algumas novas coisas que estou aprendendo. Eu n√£o tinha ideia do que desenvolver, ent√£o, procurei por algumas inspira√ß√Ķes no Dribbble, e achei o Book Tracking App feito pelo Kyler Phillips. O design de Kyler √© um trabalho em andamento, mas as tr√™s primeiras telas que ele compartilhou s√£o incr√≠veis, e eu iniciei o clone do aplicativo baseado em seu design.

View Code? Por que n√£o SwiftUI??

Eu ainda trabalho como desenvolvedor Xamarin, e por conta disso, não consigo usar SwiftUI com essa plataforma. Onde eu trabalho, todo o projeto foi construído usando Storyboards, e nós estamos procurando uma maneira diferente de lidar com isso. Recentemente, iniciamos um estudo para entender como implementar o View Code no nosso app. Por conta disso, iniciei este projeto para praticar algo diferente que vai me ajudar no trabalho.

Por que eu escolhi este design?

O design do Kyler é muito bonito, claro e me dá alguns desafios para enfrentar. Não tenho nada contra em fazer projetos mais simples, mas me sinto mais confortável com alguns desafios reais. O design proposto por ele é bom pois possui rolagem horizontal e vertical na mesma tela, alguns componentes são compartilhados entre as telas e possui diferentes desafios em cada layout.

Qual foi a maior dificuldade usando View Code?

Para mim, foi a configuração das constraints. Mas não é muito difícil. Quando você aprende a pensar na construção do layout, não é algo difícil para implementar quando desenvolvemos uma nova tela ou partes dela. Você precisa pensar se o elemento deve ficar no topo ou rodapé, à esquerda ou à direita, se o elemento precisa de altura ou largura definida, e qual elemento ele deve se relacionar. Uma vez que você entende isso, configurar as constraints programaticamente não será uma tarefa difícil.

Vamos falar sobre prós e contras da abordagem.

Prós

  • Permite que um time trabalhe junto no mesmo arquivo com menos chances de conflitos ao fazer merge;
  • Permite um entendimento f√°cil de como os elementos da tela est√£o organizados e se relacionam;
  • Permite criar telas din√Ęmicas facilmente;
  • Permite criar componentes e reutiliz√°-los facilmente;
  • Permite centralizar o c√≥digo dentro do pr√≥prio c√≥digo, n√£o em arquivos XML que n√£o imposs√≠veis de ler (Storyboard).

Contras

  • Dif√≠cil para iniciar e organizar o c√≥digo; Isso √© importante para evitar que fa√ßamos bagun√ßa e tornar as coisas ainda mais dif√≠cieis;
  • N√£o existe uma ferramenta visual para visualizar o layout que estamos desenvolvendo, configura√ß√£o de constraints e propriedades que alteramos do elemento. Voc√™ precisa executar o projeto e ver no pr√≥prio similador o resultado;
  • Mais tempo para construtir uma tela.

O clone do aplicativo

Coloquei o projeto Swift no GitHub e estou chamando ele de BookTracking. √Č um trabalho que est√° em desenvolvimento e vou continu√°-lo para praticar e aprender mais sobre View Code.

Confira o projeto e venha aprender comigo. Você tem interesse em ver eu fazendo alguma live no meu canal desenvolvendo este aplicativo? Responde aí nos comentários. Até mais!