Guia de estudos com técnicas mais importantes para um programador iOS iniciante.
Estou disponibilizando uma lista com as principais e mais relevantes técnicas de programação para que um programador iniciante em iOS se saia bem ao desenvolver uma boa aplicação. Diante de um vasto número de recursos do iOS SDK, esse guia inicial ajudará na sua curva de aprendizado e a obter o que é mais relevante e é demandado nos mais diversos escopos de projetos. Esta foi uma das minhas dúvidas iniciais, e para ajudar programadores iniciantes vou citar uma lista que pode contribuir para seus estudos e para que se torne um fera em iOS. Nesta lista não será abordado nenhum tutorial, é um guia para você começar a estudar, buscando em outras fontes (cursos,tutorias,livros e a própria documentação da Apple) cada assunto relatado.
Elementos Visuais (UX)
- UITableView : Criar células customizadas, customizar seções, identificar eventos de edição de célula (deletar).
- UIScrollView : Construir uma paginação com várias telas.
- UINavigationController : Montar estrutura de navegação oara seu aplicativo, modificar botões e cores das barras.
- UITabBarController : Manipular os elementos, botões de ativação e trocar telas via linha de código.
- SplitViewcontroller : Saber como usar para iPad e alternar para iPhone (usando template).
- NavigationBar e ToolBar : muito importante para iPad, inserir botões com icones customizados via linha de código, e mudar a cor.
- MapView : saber manipular o mapa, inserir e customizar pins, traçar rotas e identificar eventos nos elementos.
- UIButton : básico mas é interessante saber criá-lo totalmente via linha de código.
- WebView : para abrir páginas web dentro de seu app.
Temos muitos outros elementos de UI, mas os que citei é um bom começo.
Técnicas e frameworks mais importantes
- CoreLocation : Aprenda a captar a posição do usuário e todos os recursos de navegação disponibilizados.
- CoreData : Aprenda a modelar suas tabelas e criar relacionamentos entre as entidades. Domine bem todos os recursos fornecidos e entenda bem os tipos de valores e sua relação entre sqllite e as classes do Objective-C.
- InApp Purchase : Saiba como vender conteúdo dentro de seu aplicativo.
- Internacionalização : Você deve saber fazer sua aplicação para diversas línguas e regiões.
- EventKit : Anote compromissos no calendário do usuário.
- Imagem e Video : Indispensável saber como obter uma imagem ou video da câmera ou da biblioteca.
- WebService e serviços na internet : Procure saber como fazer uma requisição para um servidor e ler sua resposta. Uma dica é testar com as APIS públicas de localização de mapa do google, para simular consultar e analisar respostas. Comece pelo padrão JSON, mas saiba o SOAP também.
- Manipular arquivos : Ler um arquivo e salvá-lo em no diretório do seu aplicativo.
- Midias sociais : aprenda a como usar o SocialFramework (iOS6) e interagir a aplicação com Facebook e Twitter, no mínimo.
- Enviar email do aplicativo e com anexos.
- CoreAnimation : animações entre os elementos visuais é legal aprender também.
Objective-C , compilador e XCode
- Saiba bem como criar seus Blocks e Delegates.
- ARC.
- XCode, certificados, provisioning, distribuir.
- XCode debugar sua aplicação e utilizar os schemes.
- Boas práticas em Objective-C e o design pattern MVC.
Finalização de seu aplicativo
- Avaliar desempenho : saiba como avaliar o desempenho, procurar leaks, ver consumo de memória.
- Preparar imagens da sua aplicação para normal e retina display.
- Cadastrar sua app para mandar para appstore, preparar, gerar certificados e autorizar cópias via AdHoc para teste.
- Publicar na AppStore, escolher o nome, colocar screenshots para diferentes plataformas, escolher região, definir preços e outros.
Tem muitas outras técnicas como acelerômetro, push service, audio e video streamming, operações em background e muito mais, mas procurei dar um guia introdutório para que possa começar seus estudos em IOS.


















