syligo conectando ideias Introdução Prática ao Desenvolvimento de Apps iOS8 em Swift .fra Cocoa Swift X-code Frameworks syligo conectando ideias Introdução Prática ao Desenvolvimento de Apps iOS 8 em Swift APRESENTAÇÃO DO TREINAMENTO Uma das missões da Syligo é compartilhar conhecimento. E isto envolve ficar ligado às novas tendências da tecnologia e ensinar o que há de mais atual no ramo de desenvolvimento mobile. No último WWDC, ficou claro que os programadores Apple estão ávidos para aprender a sua nova linguagem de desenvolvimento, o Swift. Mais de 300.000 downloads do seu livro oficial já haviam sido feitos naquele momento. É hora de você também fazer parte e ir além deste movimento. A Syligo preparou um treinamento prático, destinado a desenvolvedores que já tenham experiência básica em alguma linguagem orientada objetos, para que aprendam: • a nova linguagem Swift e seus conceitos fundamentais; • as novas ferramentas de desenvolvimento do Xcode, • os novos recursos do iOS 8; • a criar seus Apps utilizando os conceitos mais importantes do desenvolvimento Apple. Cada etapa da criação de um app iOS 8 será estudada utilizando um case App desenvolvido pela Syligo, exclusivamente para o treinamento. nosso compromisso Ao final do treinamento, você terá autonomia, habilidades e condições suficientes para criar seu App básico iOS 8 utilizando Swift. syligo conectando ideias Introdução Prática ao Desenvolvimento de Apps iOS 8 em Swift O QUE VOCÊ IRÁ APRENDER? O objetivo principal deste treinamento é capacitá-lo a produzir aplicações básicas para a plataforma iOS 8, usando as ferramentas e linguagens mais modernas disponíveis atualmente, de uma maneira prática, e torná-lo capaz de explorar e se aprofundar em áreas de desenvolvimento que despertem o seu maior interesse. Em outras palavras, "não queremos lhe dar o peixe, mas ensiná-lo a pescar". Com isso em mente, partimos de uma ideia base: "Qual o principal objetivo de um desenvolvedor mobile?". A resposta é simples: desenvolver um App. Ou seja, praticando! E você vai praticar desenvolvendo um case App, criado exclusivo para este treinamento, capaz de reunir conceitos fundamentais e funcionalidades importantes que você poderá integrar aos seus próprios Apps. Por outro lado, nenhuma prática vem sem teoria, por isso a estrutura do treinamento combina ambos. Você vai combinar conceitos e prática com o acompanhamento do instrutor e colaborando com os outros alunos. Para ir além, estimular sua criatividade e testar o que foi ensinado, haverá assignments (tarefas) para serem feitas. Além do case App, buscamos uma experiência 100% paperless, que envolve o ensino em uma plataforma online, com conteúdo baseado no E-Book "Introdução Prática ao Desenvolvimento de Apps iOS 8 em Swift", previsto para ser publicado e distribuído gratuitamente para nossos alunos em seu lançamento, no início de 2015. syligo conectando ideias Introdução Prática ao Desenvolvimento de Apps iOS 8 em Swift METODOLOGIA SYLIGO A Syligo emprega uma metodologia moderna em seu produto de ensino, pautada em 5 pilares: Expertise mobile Todo o conteúdo é feito por programadores mobile com experiência; Prática Você vai aprender praticando, programando e interagindo durante nossos treinamentos; Case based Buscamos um approach baseado em cases, para que você entenda os conceitos com exemplos; Paperless Buscamos uma prática com material 100% digital; Pós-treinamento Sabemos que é importante interagir após o curso. Por isso oferecemos canais em redes sociais para que todos os participantes possam trocar experiências de desenvolvimento após a conclusão dos treinamentos. syligo conectando ideias Introdução Prática ao Desenvolvimento de Apps iOS 8 em Swift CONTEÚDO PROGRAMÁTICO (MÓDULOS) Nosso treinamento é composto por 12 módulos, contendo conceitos e exercícios que servirão de base para a construção do nosso case Apps. Apresentação do Case App Resumo: detalhes do Case App, protótipos e pré-trabalho Será feita a apresentação do Case App desenvolvido pela Syligo, que servirá de base para todo o treinamento. Iremos aprender o seu funcionamento, quais suas características e as ideias por trás de sua construção. Ao final desse módulo você entenderá um dos processos pelos quais poderá projetar seus Apps, antes mesmo de começar a codifica-lo, e como a imaginação é mais importante que o conhecimento técnico. Apresentação do Ambiente de Desenvolvimento Resumo: Xcode (apresentação e configuração) Você será apresentado ao ambiente de desenvolvimento da Apple para o iOS. Faremos um tour pelo Xcode e outras ferramentas que irão acompanha-lo em seu trabalho com a criação de Apps. Ao final desse módulo, seu computador estará configurado e pronto para você desenvolver Apps iOS 8. Introdução ao Swift Resumo: Recursos e novidades Swift, Playgrounds, Estruturas básicas de desenvolvimento (sintaxe, tipos de dados, classes e objetos) A linguagem de programação Swift foi introduzida pela Apple em 2014 em sua conferência anual para desenvolvedores, o WWDC (Worldwide Developers Conference), trazendo uma ferramenta moderna, robusta e versátil para escrever seus Apps na plataforma iOS. Neste módulo desenvolveremos a camada de modelo do Case App e, durante esse processo, serão apresentados os conceitos fundamentais da linguagem Swift, com o auxílio dos Playgrounds, uma nova ferramenta que permite testar de maneira imediata os códigos gerados, para então integra-los em nosso projeto. Ao final deste módulo você estará apto a começar a escrever seus programas em Swift, compreendendo as estruturas básicas da linguagem, sua sintaxe, os tipos de dados básicos, como criar classes, estruturas, enumerações e gráficos de objetos. Entendendo e Usando o Core Data Resumo: Persistência de dados no iOS 8, Core Data Framework, Como criar modelo de dados À medida que os Apps vão se tornando maiores e repletos de funcionalidades interessantes, cresce a necessidade de trabalhar com a persistência de modelos complexos de dados. Para atendê-la, há o Core Data, um Framework em iOS que facilita a criação de uma abstração do modelo de dados da sua aplicação, baseado nos mesmos princípios de Orientação a Objetos que os desenvolvedores já estão habituados, e poupando o usuário das preocupações com a persistência das informações, como a necessidade de compreender um banco de dados ou de transcrever seus objetos em uma linguagem com o SQL. Nesse módulo vamos estudar o funcionamento desse importantíssimo Framework, e usá-lo para criar o modelo de dados do App Traqt, usando bibliotecas criadas pelos desenvolvedores do curso para simplificar ainda mais o trabalho nessa importante camada de seu App. syligo conectando ideias Introdução Prática ao Desenvolvimento de Apps iOS 8 em Swift CONTEÚDO PROGRAMÁTICO (MÓDULOS) Introdução ao Storyboard Resumo: Relação entre protótipo, interface e Storyboard, Interface Builder, Auto-Layout, Interfaces Adaptativas e Size Classes, View Controllers, Pop overs. Os Storyboards são um recurso fantástico para desenvolvimento do fluxo e da interface de seus Apps, introduzido pela Apple com o iOS 5 e melhorado a cada nova atualização da linguagem, acrescentando recursos fundamentais para a produtividade no desenvolvimento de Apps. Nesse módulo você será apresentado aos Storyboards e ao Interface Builder. Compreenderá a composição de telas usando o Auto-Layout, Interfaces Adaptativas e Size Classes, para construir através de um único lugar as interfaces para diferentes dispositivos como iPhones e iPads. Entenderá interação entre View Controllers para construir o fluxo da sua aplicação e o uso de Popovers para criação de interfaces avançadas. A medida que esses conceitos são apresentados, desenvolveremos a interface do nosso App. Ao final deste módulo, você estará apto a construir a interface básica e fluxo de telas de seu App. Introdução ao UIKit e Programação de Views Resumo: Interações avançadas, UIKit Fundamentals, Biblioteca iOS, Views Programming, Control Customization Esse módulo estende o anterior, aprofundando o conhecimento do UIKit e da programação de Views. Você aprenderá os conceitos fundamentais do UIKit, será apresentado aos controles básicos que a biblioteca do iOS nos fornecerá e criará seu próprio controle customizado para apresentar uma visualização específica dos dados do Case App. Ao final desse módulo você estará apto a customizar de maneira mais profunda os elementos de tela do seu App, bem como criar interações avançadas. Gestão de Dependências com CocoaPods Resumo: Integração com CocoaPods, Componentes de Terceiros, Dependências e suas arquiteturas. A medida que um projeto começa a se tornar maior e mais complexo, novas necessidades surgem. Muitas coisas tem respaldo na própria plataforma de desenvolvimento, com recursos nativos, porém, por mais completa que uma plataforma como o Cocoa Touch seja, é impossível prever todas as necessidades que podem surgir para desenvolver um App. Felizmente há uma comunidade enorme trabalhando para compartilhar suas próprias soluções, e torná-las disponíveis para o maior número possível de desenvolvedores. A ferramenta utilizada para isso é o CocoaPods, um serviço mantido pela comunidade onde são publicadas diversas bibliotecas escritas por pessoas ao redor do mundo, que em algum momento já encontraram um problema parecido com o que você precisa resolver. É claro que o CocoaPods não será a solução para todo e qualquer tipo de problema, mas é certamente um bom ponto de partida. Nesse módulo apreenderemos como fazer uso dessa ferramenta, para integrar bibliotecas de terceiros com recursos que irão enriquecer o nosso App de Checklists, ou apenas facilitar algumas operações comuns. Ao final desse módulo, você irá compreender o conceito de gestão de dependências e sua importância no desenvolvimento de softwares modernos, bem como a arquitetura e o funcionamento do CocoaPods, e como utilizá-lo em seus próprios projetos. syligo conectando ideias Introdução Prática ao Desenvolvimento de Apps iOS 8 em Swift CONTEÚDO PROGRAMÁTICO (MÓDULOS) Notificações Locais Resumo: Local e Push Notifications, Funcionamento em Segundo Plano Notificações são um recurso presente desde as versões mais antigas do iOS, que permitem aos nossos Apps avisar ao usuário sobre eventos importantes que ele deseja acompanhar. É uma forma de estender o funcionamento e a utilidade de nosso App para além do seu uso normal, em momentos que nosso programa está fechado ou em segundo plano. Há dois tipos principais de notificações no iOS, as Notificações Locais e os Push Notifications. Nesse módulo será explorado o funcionamento desses mecanismos e serão utilizadas notificações locais para gerar lembretes aos usuários de nosso App. Neste módulo você saberá como usar o serviço de notificações locais para gerar seus próprios avisos, e explorar o serviço de Push Notifications para gerenciar modelos mais complexos de notificações. Extensões do iOS 8 Resumo: Extensions, Widgets, Notifications, User Interaction. As extensões de Apps são um novo recurso introduzido com o iOS 8, que permite aos desenvolvedores estenderem o sistema operacional com funcionalidades proporcionadas pelo seu App. Há diversos tipos de extensões disponíveis no iOS 8 e faremos uma apresentação de cada uma delas. Nesse módulo aprofundaremos sobre o tipo de extensão Today, que permite incluir um Widget customizado na central de notificações do usuário, para estender a funcionalidade do nosso case App, incluindo informações de interesse do usuário e proporcionando uma outra forma de acessar nosso App. Ao final desse módulo você estará apto a explorar os diversos tipos de extensões do iOS, e criar sua própria extensão do tipo Today, para estender a forma como seus usuários poderão interagir com o seu App em outras partes do sistema. Refinamentos e Ajustes no App Resumo: Revisão, personalização, adequação do design, funções úteis para experiência do usuário. Após construir uma fundação funcional sólida para o seu App, é necessário estabelecer um ponto de maturidade em que possamos considerar que sua primeira versão esteja pronta para ser lançada. Nesse módulo vamos trabalhar sobre os refinamentos e ajustes finais em nosso App, para deixá-lo com um aspecto profissional e polido. Dentre as lições, aprenderemos a personalizar características do App como seus ícones, cores e fontes, incluir funções que o usuário espera intuitivamente encontrar, como a busca na listagem de Atividades, entre outras pequenas melhorias fundamentais para a finalização consistente do trabalho. Debug e Otimização de Apps Resumo: Debugging com Xcode 6, Otimização, Testes pré-distribuição Neste ponto, teremos nosso App totalmente construído, entretanto há uma fase importante de desenvolvimento, que é a identificação e solução de problemas (Debugging) e otimização do App. Neste módulo apresentaremos as ferramentas e metodologias mais comuns para depuração e otimização de seus Apps e você terá condições de utilizá-las para sanar todos os problemas encontrados durante o desenvolvimento. Empacotamento e Distribuição de Apps Resumo: Fase final de distribuição de Apps, App Store, Distribuição In-House, Arquivos IPA, ferramentas de distribuição. O último passo no desenvolvimento de nosso App é o seu empacotamento e distribuição através dos canais possíveis: App Store ou Distribuição In-House, modelo voltado para empresas que estão desenvolvendo seus próprios Apps. Serão abordados pontos para uma distribuição de sucesso. syligo conectando ideias Introdução Prática ao Desenvolvimento de Apps iOS 8 em Swift MATRÍCULA E INSCRIÇÃO Pré-Requisitos Obrigatórios • Conhecimento prévio em linguagens de programação: é fundamental que o aluno já tenha experiência prévia com programação ou desenvolvimento de software, para qualquer plataforma. Isso porque o objetivo do nosso treinamento não é ensina-lo a programar, e sim ensina-lo como programar para a plataforma da Apple, usando o Swift. • Noções de Orientação a Objeto: a plataforma de desenvolvimento da Apple e a linguagem Swift são fundamentadas nos conceitos de orientação a objeto, assim torna-se importante que o aluno tenha bom conhecimento sobre orientação a objetos e seus principais padrões de design. • Traga seu equipamento: a melhor forma de trabalhar é no seu próprio ambiente, com o equipamento e o sistema configurado a sua forma. Assim, solicitamos que cada aluno traga seu MacBook para os dias do treinamento. Além de você trabalhar no seu ambiente, isso lhe permitirá manter no seu computador tudo que foi desenvolvido em sala de aula para você desenvolver seus Apps. A Syligo não disponibilizará MacBooks aos alunos. Pré-Requisitos Não Obrigatórios Inscrição no Apple Developer Program: para que você explore o módulo 12 (Distribuição e empacotamento de Apps) em sua totalidade, é necessário que você tenha uma inscrição Apple Developer. Siga as instruções do artigo em nosso site http://www.syligo.com/criando-uma-conta-deapple-developer-para-ios/. Lembramos que há um custo para obter tal inscrição. Recomendamos fortemente a todos os desenvolvedores que busquem essa assinatura pois, além da possibilidade de publicar Apps, há uma série de recursos úteis para desenvolvedores. Como Se Inscrever Faça sua matrícula e conheça as próximas turmas em: http://www.syligo.com/treinamento Se tiver dúvidas ou buscar mais informações sobre treinamentos, fale conosco. Syligo +55 (11) 3280-2646 [email protected] https://www.facebook.com/pages/Syligo/474096429370443 http://www.twitter.com/syligo http://www.linkedin.com/company/syligo