Mobile: 5 mandamentos ou coisa do tipo

Vou falar aqui sobre alguns cuidados básicos que se deve ter ao programar para iOS.


Programar para dispositivos móveis, sempre foi um sonho pra mim. Lembro do Flash Lite, primeira vez que consegui fazer alguma coisa pra mobile. Tinha feito um “aplicativo” para ler a quantidade de sinal e bateria do aparelho. Foi bem legal quando piá fazer isso. Cresci e mundo mobile evoluiu pra caramba. Hoje é uma área gigantesca, que ainda tem muito pra crescer.


ARC

Ouço vários programadores iOS hoje falando que com o ARC não precisa se preocupar com memória. Isso não é bem verdade, ARC não faz milagre. Outros ainda dizem: “A por que o Garbage Collector do iOS… ”. Precisamos revisar alguns conceitos urgente. E quando outros dizem: “Ah, aquele código é sem arc, por isso é ruim…”, vamos com calma minha gente.

Não vou entrar no detalhe, pois existe muito material pra quem realmente está preocupado com isso. Mas basicamente você “ainda” tem que se preocupar em como escrever o código, para que a memória esteja sempre “limpinha”. Exemplo bem simples disso é não usar “self.qualquercoisa” dentro de um block (ou closures).

Storyboard

Com o storyboard é muito fácil enxergar, se não todo, boa parte do fluxo do seu aplicativo. Porém não é recomendável que você faça todas as telas em um único arquivo storyboard, ele vai ficar pesado, bem pesado. Separe sua aplicação por funcionalidade ou por telas macros e faça o fluxo dessas telas apenas.

Um cuidado especial também para as Prototype Cells. Se você for ter muitos tipos de células separe-as em xibs. Seu projeto vai ficar muito mais organizado e mais leve de mexer.

Async

Quem começa a programar hoje na plataforma iOS, quase não tem contato com todo o esquema de threads. É muito importante entender alguns conceitos aqui, para que sua aplicação não fique “lenta”. As vezes a cpu ta “tranquila” executando uma tarefa que bloqueia uma animação por exemplo, e isso deixa sua aplicação parecendo um lixo. Aqui a regra é bem simples, tudo que for desenhado “tem que” ser desenhado na thread principal, o resto pode ser delegado para outras threads. O resultado disso é uma aplicação que não trava quando está carregando algum conteúdo, ou até mesmo processando alguma quantidade de dado.

Size

Outro cuidado importante é a respeito do tamanho da aplicação. Aqui o grande vilão são as imagens, fonts, resources em geral que a sua aplicação vai consumir. Cuidado com imagens grandes, existem diversas formas de otimizar isso, desde desenhar algumas coisas por código, até utilizar o esquema de 9-slice. Por favor faça isso!

Mobile vs Web

Para submeter o seu app iOS para loja é bem demorado. Por isso não deixe pra testar alguma coisa só quando tiver na loja. Se você ta vendo que alguma coisa pode dar problema, investigue. Depois que o app está lá, você não terá muitas chances com o seu usuário. Basta sua aplicação fechar duas ou três vezes, e você pode perder seu usuário. E nessa hora, um bug fix não será rápido de submeter a loja também.

At the end

Por fim, sempre se questione… Quase sempre as facilidades são para quando se esta começando de forma amadora na plataforma. Agora se você já está desenvolvendo algo para algum cliente, ou quer uma certa maturidade na sua aplicação, entenda como funcionam as coisas mais fáceis e simples. Com isso VOCÊ ganha maturidade, seu cliente ganha um projeto bom, e o usuário continua não precisando se preocupar com nada… ele simplesmente vai usar aquilo que você fez.


Show your support

Clapping shows how much you appreciated Welington Ramos’s story.