Voltar

Dicas úteis para começar a programar em iOS

na 

A penetração de smartphones e o número de apps no mercado está crescer cada vez mais e ao mesmo ritmo que o número de pessoas que querem programar e construir apps de forma autónoma também sobe.

O processo de programação de uma app parece muito complicado para a maioria das pessoas, por esta razão eu fiz algumas questões a dois membros da nossa equipa de programadores de iOS, Mathieu Fancello e Alex Manzella . O propósito da minha entrevista era perceber as competências necessárias para entrar no mundo de programação em iOS, e então partilhar convosco esta informação. 

O que eu preciso para tornar-me um programador iOS?

Para começar a programar em iOS, tens de ter um conhecimento básico de algoritmos e Object Oriented Programming.

Aprender Objective C pode ser muito difícil se começaste agora a lidar com linguagem de programação. É melhor começares com linguagens clássicas como C e depois aprender paradigmas de OOP (Object Oriented Programming ).

Se és um ninja e queres ir diretamente para o nível mais alto, podes encontrar algumas referências sobre a utilização de Objective C em Apple's Frameworks .

Quais são as principais diferenças entre a programação em Computadores Fixos e Dispositivos Móveis?

Eles podem parecer serem similares mas eles são dois mundos completamente diferentes.

Nos dispositivos móveis, tens de ter mais cuidado com os recursos do sistema; é muito importante gerir a memória sabiamente porque telefones e tablets ainda não são tão poderosos quanto os computadores, apesar de estarem a evoluir muito rapidamente.

Os utilizadores querem Apps rápidas e com grande capacidade de resposta, então tens de usar Multithreading para reduzires o tempo de carregamento.

Precisares de ter algum conhecimento de conceitos de Asynchronous Programming  (programação assíncrona). Enquanto crias uma app, precisas de compilar ao mesmo tempo o interface de utilizador e um processo rápido de carregamento para o conteúdo. Multithreading permite-te fazeres uma app que pode fazer download de conteúdo no background e ao mesmo tempo criares o design do UI (User Interface ).

Preciso somente de competências técnicas?

Claro que não. Tens de ter também conhecimentos básicos de Design & UX (User Experience).
Durante a programação, como disse anteriormente, tu também tens de criar o UI e desenvolvê-lo de uma forma intuitiva.
Pôe-te no lugar dos teus utilizadores e tenta imaginar como é que eles navegam na tua app e faz o teu melhor para torná-la confortável e agradável para eles.

Pensa em diferentes formas de interação com os dispositivos. Por exemplo, no telemóvel não tens um mouse mas um touchscreen e além disso, os ecrãs dos telemóveis são menores, então ao criar uma app móvel tens de usar um UX que seja completamente diferente do que é usado na app para o computador.

Porquê escolher iOS ao invés de outras plataformas?

Kantar U.S. fornece-nos alguns dados acerca da popularidade do iOS. 43.5% dos telemóveis adquiridos durante o ano de 2013 são iOS; 52.3% são Android. Adicionando a isso, iOS beneficia de uma alta percentagem de tráfego móvel, de uma loja que conta com mais de 800.000 apps.

No início, programar para iOS pode parecer mais difícil que para Android, mas isto não é verdade! Aliás, Android é muito mais fragmentado do que iOS.
Java é mais popular que ObjC e para muitos programadores é também mais fácil. Mas quando aprenderes como  programar em ObjC, vais descobrir que não é tão difícil, e Apple's Frameworks estão bem projetadas, então programar torna-se muito fácil. Pode sempre encontrar alguma ajuda num leque variado de documentação online (UIKit ...).

O nosso conselho para vocês

Dentre as várias dicas que poderíamos dar-vos, quero referir uma em particular, a mais importante:
Não comeces com StoryBoards.

De acordo com a Apple :
"Um storyboard é uma representação visual do interface do utilizador de uma aplicação iOS, que mostra o conteúdo nos ecrãs e as conexões entre esses ecrãs. Um storyboard é composto por uma sequência de cenas, em que cada uma representa uma vista de controlador e suas respetivas vistas; as cenas estão conectadas por objetos segue, que representam a transição entre duas vistas de controladores."

Geralmente iniciantes começam a programar para iOS com storyboards, mas isto pode ser contraproducente, porque aprendes a programar utilizando um esquema. O problema é que quando quiseres fazer coisas mais complexas vais achar difícil de pensar fora desse esquema.
Aprender a programar apenas com código, ou limitares o uso de StoryBoards, vai aumentar a tua experiência com o frameworks, ObjectiveC e o tempo de execução. Isto vai ser útil quando tiveres problemas complexos para resolver.
Uma vez que te tornas um expert, podes escolher começar a usar StoryBoard se achas que isso levar-te-à a aumentar a velocidade do teu fluxo de trabalho. Em qualquer dos casos, nós achamos que isso não ocorre. :)
Depois de leres este artigo vais ficar a saber um pouco mais sobre programação em iOS e sobre o que é necessário para começares a programar a tua app de forma autónoma.

Se tens algumas questões e pretendes algum conselho, basta deixares um comentário que ficaremos felizes em responder :)