Desenvolvimento

27 jan, 2017

Desenvolvendo com Swift 3.0

Publicidade

Há pouco tempo me vi em um impasse: desenvolver um aplicativo em algumas semanas utilizando a linguagem Swift. O projeto em questão era referente ao aplicativo do Mercado Pago, fintech especializada em meios de pagamentos, criado especialmente para a Black Friday 2016.

Estou há alguns anos na área de desenvolvimento mas eu não havia trabalhado ainda com aplicativos mobile, então, procurei por cursos online gratuitos que pudessem me ajudar. A melhor opção que encontrei foi o da Udemy para Swift 2.1 e confesso que foi bem interessante. Iniciei o projeto do app nesta versão, porém, logo em seguida fui convidado pelo Mercado Livre a fazer um curso de Swift 3.0. Pude perceber que a Apple fez ótimas mudanças de uma versão para a outra como, por exemplo, reduzir o nome dos métodos e decidi migrar o desenvolvimento para o 3.0. Veja abaixo exemplos das mudanças nos nomes dos métodos entre as versões:

swift3

UserDefaults.standard

swift2

NSUserDefaults.standardUserDefaults()

swift3

JSONSerialization.data

swift2

NSJSONSerialization.JSONObjectWithData

Ao longo do desenvolvimento, encontrei algumas dificuldades e ao buscar por soluções na internet vi que há pouco conteúdo sobre essa versão. Em muitos casos, há apenas informações em Object C. Acabei aprendendo a interpretar esse código e transformá-lo em Swift.

Outro desafio foi aprender a aplicar Constraints. As regras que eu deveria usar para que tudo ficasse alinhado independentemente do tamanho do dispositivo não pareciam claras. Foi então que decidi parar tudo e me dedicar a aprender apenas Constraints e AutoLayout. Dois vídeos no site da Apple me ajudaram muito, este: https://developer.apple.com/videos/play/wwdc2015/218/ e este: https://developer.apple.com/videos/play/wwdc2015/219/

Se eu tivesse que resumir em poucas palavras o que penso sobre Swift após o desenvolvimento do aplicativo, eu diria que é uma linguagem muito bem elaborada e a mais intuitiva que utilizei até hoje. Mas, há também aspectos do Swift 3.0 que avalio como não tão positivos: o prazo de publicação da Apple é um pouco demorado (cinco dias), o alto custo e a burocracia para a publicação do aplicativo no iTunes e fato de os testes de push notification só poderem ser feitos utilizando uma conta paga

Considerações

Aqui vão algumas sugestões, tiradas dessa minha experiência, para quem for trabalhar com Swift 3.0:

  • Em seu cronograma de trabalho, considere que são necessários ao menos cinco dias para que cada atualização realizada em seu aplicativo seja publicada no iTunes e estude o guideline de review para evitar retrabalho.
  • Para evitar dores de cabeça, realize muitos testes unitários e teste integrados via testflight antes de publicar o aplicativo; depois que for ao ar ele já estará sendo avaliado diretamente pelos clientes.
  • É necessário prototipar o aplicativo seguindo os padrões da Apple. Para isso, consulte o guideline da marca ou, se preferir, contrate uma agência que conheça bem essa linguagem.
  • Estude Constraints e Auto Layout. Os usuários Apple valorizam muito a parte visual e isso é fundamental para o sucesso do seu app. Defina os dispositivos em que o app será utilizado e realize os testes de layout em todos eles.
  • Crie um app que possa ter atualizações automáticas através de push, para evitar o excesso de publicações.
  • Tenha mais de uma versão de dispositivo físico para teste; alguns recursos, como o push notification, funcionam melhor no aparelho do que no emulador.