Dicas úteis para começar a programar em iOS

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?
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?
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?
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?
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
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.
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. :)

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

