Curso "desenvolvedor iOS" - curso 140.000 rublos. do Yandex Workshop, treinamento de 10 meses, Data: 7 de dezembro de 2023.
Miscelânea / / November 27, 2023
A qualquer hora conveniente para você
O treinamento será dividido em sprints, e você poderá estudar a qualquer momento, o principal é cumprir o prazo
Usando exemplos da vida e prática constante
Você estudará online na plataforma Workshop com teoria clara em linguagem simples. Depois, colocaremos a teoria em prática: você aprenderá a sintaxe em um simulador especial da Apple - Playground, e escreverá projetos no ambiente de desenvolvimento Xcode.
Com projetos educacionais
Você poderá resolver as tarefas diárias de um desenvolvedor iOS, realizar diversos projetos e buscar emprego após o curso com um portfólio pronto
Com lições adicionais para quem é novo em programação
No início do programa pago fizemos “Piscina”. Esta é uma unidade curta de 6 a 8 horas que apresentará conceitos básicos de programação. Antes do “Pool” faremos algumas perguntas para que você decida se aceita ou não.
Parte introdutória 15 horas - Parte introdutória gratuita
Antes de mergulhar e começar a praticar, você aprenderá:
— quais são os recursos da plataforma iOS e do ecossistema Apple?
— o que os desenvolvedores e desenvolvedores iOS fazem?
- em que blocos consiste o programa?
- quais projetos você precisa concluir
— Como geralmente é realizado o treinamento no Workshop?
- quem vai te ajudar a estudar
- como encontrar um emprego depois de estudar
Imediatamente após a integração, terá início a parte gratuita do curso. Nele você:
— familiarize-se com a linguagem Swift
— complete e inicie seu primeiro aplicativo (você não precisa reaprender matemática para isso)
- mas você precisa de um computador Apple com macOS Monterey ou posterior)
— veja os resultados do seu trabalho e entenda se você está interessado em desenvolver iOS no futuro
Módulo opcional 6-8 horas - Piscina
Após adquirir o curso, ofereceremos uma “Piscina”.
Estas são várias lições adicionais que estarão disponíveis junto com o primeiro sprint. Graças a eles você conhecerá os conceitos básicos de programação. Tarefas simples e divertidas sobre lógica e algoritmos básicos irão ajudá-lo a assimilar melhor o material adicional, especialmente se você estiver encontrando programação pela primeira vez na vida.
Importante: você não precisa passar pela “Piscina” e ir direto explorar a galáxia iOS. Para decidir se você precisa ou não desta etapa, pediremos que você responda a diversas perguntas.
Tópico 1. Lógica básica
- Veracidade
- Duas vezes não
- E ou não
Tópico 2. Algoritmo
— Base (sequência de ações), conceito de algoritmo
- Seguindo
— O conceito de variável
— Matrizes e loops
Tópico 3. Programação
— Como funcionam as linguagens de programação, sintaxe, expressão
Módulo 1 40 horas - Introdução ao desenvolvimento iOS e noções básicas de Swift
Vamos estudar as construções básicas da linguagem de programação Swift, na qual a maioria dos aplicativos iOS são escritos, em um simulador especial da Apple - Playground. Vamos conhecer o ambiente de desenvolvimento e como os aplicativos móveis são estruturados
Corrida 1
Tópico 1. Noções básicas do Swift
Tópico 2. Trabalhando com Xcode
Tópico 3. Tipos
Tópico 4. Matrizes, loops
Tópico 5. Funções
Tópico 6. Transferências
Corrida 2
Tópico 1. Estruturas de dados
Tópico 2. Opções
Tópico 3. Aulas
Tópico 4. Protocolos
Tópico 5. Extensões
Módulo 2 121 horas - Noções básicas de layout, rede e armazenamento de dados
O projeto deste módulo é um quiz sobre filmes populares. Você tem que trabalhar com o serviço de filmes IMDb: obtenha uma lista dos 250 filmes mais populares e, para cada filme, crie uma pergunta do quiz. O usuário precisará adivinhar qual personagem o ator interpretou na foto.
Para os usuários, um aplicativo trata principalmente de trabalhar com a interface que você cria para eles. Como parte do trabalho no aplicativo, você criará uma tela de teste, dominará HTTP e REST para trabalhar com a API IMDb e aprenderá como armazenar dados do usuário.
As tarefas e o projeto neste módulo passarão primeiro por autotestes no Github ou autoavaliação usando uma lista de verificação e, em seguida, serão enviados a um revisor de código.
Corrida 3
- Tópico 1. Noções básicas de layout e elementos básicos da UI. Faça o layout de uma tela simples para uma aplicação com tickets baseado no layout do Figma, adicione e remova elementos da tela.
- Tópico 2. Conexão do layout com código, processamento das ações do usuário. Adicione processamento de eventos e controle.
- Tópico 3. Git
- Tópico 4. Camadas de aplicativos móveis
Corrida 4
- Tópico 1. Layout simples, conflitos de AutoLayout. Estamos finalizando o layout da tela, aprendendo como resolver conflitos de AutoLayout.
- Tópico 2. Comunicação com código, exibição de dados. Você finalizará a lógica da interface e descreverá a estrutura dos dados da tela.
Corrida 5
- Tópico 1. Armazenamento de dados. Que tipos de dados existem e como armazená-los. Em memória. Crie sua própria estrutura de dados, aprenda a armazenar resultados nos padrões do usuário.
- Tópico 2. Líquido. Interação cliente-servidor. HTTP e REST. Aprenda o básico da comunicação cliente-servidor e como trabalhar com a API do serviço IMDb.
- Tópico 3. URLSession, URLRequest. Escreva uma solicitação simples para receber dados e, se você se sentir forte o suficiente para resolver o problema com um asterisco, adicione um indicador de carregamento (UIActivityIndicatorView).
- Tópico 4. Codificação/Decodificação. Você criará estruturas codificáveis para uso na solicitação e processamento da resposta da rede.
Corrida 6
- Tópico 1. Arquitetura. Introdução
- Tópico 2. Arquitetura. SÓLIDO, BEIJO, SECO, YAGNI. Aprenda princípios básicos de programação orientada a objetos (OOP) e padrões de design.
- Tópico 3. Arquitetura. MVC. Faça alguma refatoração pessoal e coloque seu código em ordem.
- Tópico 4. Montagem e implantação. Gerenciamento de dependências. Conecte CocoaPods/Swift Package Manager e SwiftLint.
- Tópico 5. Testes. Testes unitários, XCTest. Escreva um teste baseado na especificação funcional.
- Tópico 6. Testes. Teste de IU. Escreva um teste de UI para um ou mais cenários.
Módulo 3 106 horas - Navegação, trabalho com tabelas, autorização
Neste módulo, você dominará as transições entre telas, rolagem de elementos de layout e melhorará suas habilidades de interação cliente-servidor. O projeto deste módulo será cliente de um serviço de stock photo (análogo ao Unsplash).
As tarefas e o projeto neste módulo passarão primeiro por autotestes no Github ou autoavaliação usando uma lista de verificação e, em seguida, serão enviados a um revisor de código.
Corrida 7
- Tópico 1. IU Disposição complexa. Faça uma barra de guias (UITabBarController).
- Tópico 2. IU Navegação. Disponha as telas principais do aplicativo de acordo com o layout.
Corrida 8
- Tópico 1. IU UIScrollView e UITableView. Organize as telas principais de acordo com o layout usando os componentes de rolagem (UIScrollView) e tabela (UITableView).
- Tópico 2. Armazenamento de dados. Padrões do usuário. Carregue os dados do arquivo JSON armazenado em UderDefaults.
Corrida 9
- Tópico 1. Multithreading básico, autorização. Aprenda a trabalhar com código multithread para realizar diversas tarefas em paralelo. Adicione autorização ao serviço Unsplash ao aplicativo.
- Tópico 2. Armazenamento de dados. Chaveiro. Aprenda a armazenar dados no Keychain e recuperá-los de lá.
Corrida 10
- Tópico 1. Rede. Multithreading. Explore o Grand Central Dispatch (GCD), uma biblioteca que permite gerenciar fluxos de tarefas com eficiência. Implemente várias solicitações de rede.
- Tópico 2. Testes. Desenvolvimento orientado a testes (TDD), Mock, Stub. Escreva testes de solicitação de rede (Mock, Stub).
Corrida 11
- Tópico 1. Arquitetura. MVP+C. Imersão na arquitetura de aplicativos iOS. Visão geral da arquitetura MVP.
- Tópico 2. Arquitetura. MVVM. Refatore o projeto: passe de MVC para MVVM
- Tópico 3. Arquitetura. Coordenadores. Implementar coordenadores para a tela de login e telas principais.
Corrida 12
- Tópico 1. Montagem e implantação. Xcode avançado. Em um nível mais profundo, mergulhe nas configurações do projeto. Aprenda a trabalhar com configurações de projetos (você poderá alterar a fonte de dados da aplicação).
Módulo 4 91 horas - Coleções, controladores integrados, bancos de dados e noções básicas de multithreading
Neste módulo você fará uma aplicação rastreadora para diversos eventos. Você dominará layouts complexos - trabalhando com coleções. Desta vez, todos os dados serão armazenados localmente no banco de dados e as informações serão processadas em um thread em segundo plano.
As tarefas e o projeto neste módulo passarão primeiro por autotestes no Github ou autoavaliação usando uma lista de verificação e, em seguida, serão enviados a um revisor de código.
Corrida 13
- Tópico 1. IU UICollectionView e ChildVCs. Você cria a lista e os modelos de domínio do rastreador, a tela de criação do rastreador e implementa a lógica de negócios.
Corrida 14
- Tópico 1. Arquitetura Limpa. Sincronize atualizações de dados entre diversas telas (criando um novo cracker e a tela principal).
- Tópico 2. UICollectionView e ChildVCs. Domine o trabalho de exibição de dados em múltiplas colunas e divisão do controlador em filhos.
Corrida 15
- Tópico 1. Armazenamento de dados. Base de dados. Incorpore bancos de dados ao projeto. Ensine o aplicativo a salvar e ler informações do banco de dados.
Corrida 16
- Tópico 1. Multithreading. GCD, Operações
- Tópico 2. Multithreading. Segurança de thread. Implemente uma pesquisa por rastreadores na tela da lista de rastreadores com Debounce.
- Tópico 3. Multithreading. DispatchGroup, fila Aprenda como agrupar tarefas assíncronas em seu aplicativo.
Corrida 17
- Tópico 1. Armazenamento de dados.. Domine o trabalho com o modelo de domínio e implemente a migração.
Módulo 5 12 horas - Desenvolvimento de produto e equipe
Corrida 18
- Tópico 1. Ciclo de vida do produto, MVP
- Tópico 2. Ágil
- Tópico 3. Ferramentas de trabalho em equipe
- Tópico 4. Desenvolvimento móvel na vida real. Você entenderá como as equipes estão estruturadas, quem é quem, como se comunicar com as diferentes funções.
- Tópico 5. Git para gigantes
- Tópico 6. Decomposição de tarefas
Linha de chegada 40 horas - Projeto de formatura da equipe
Divida-se em equipes de 3 a 5 pessoas e criem juntos um aplicativo de comércio eletrônico - um pequeno mercado NFT. Este é um aplicativo com um catálogo de imagens NFT que você pode visualizar, selecionar, adicionar ao carrinho, finalizar compra e finalizar a compra.
Você terá um trabalho técnico do gestor e um design – precisará decompor todo o trabalho, dividir em sprints e fazer o produto em 1 mês.
Corrida 19
- 1 semana
Chame um mentor que o ajudará a decompor as principais tarefas do projeto, e a equipe as distribuirá entre si. - 2 semanas
Faça uma retrospectiva e tire conclusões com base em um período de trabalho de duas semanas.
Corrida 20
- 3 semanas
Juntamente com o seu mentor, você planejará as tarefas restantes. - 4 semanas
Compartilhe seu trabalho com outras equipes em uma demonstração.
Faça uma retrospectiva e tire conclusões sobre todo o projeto da equipe.
Plano de carreira 30 horas - Programa de emprego
Esta parte do curso é para aqueles que decidiram encontrar um emprego na área de desenvolvimento. Ele fica disponível após a conclusão do módulo 4.
O plano de carreira está organizado da mesma forma que os tópicos anteriores: teoria e prática. Mas em vez de habilidades de programação, você aprenderá estratégias de procura de emprego e aprenderá sobre os meandros da escolha empresa empregadora, e como estágio você escreverá não um código, mas um currículo e acompanhamento carta.
Durante o curso, você preparará um portfólio para a visita de um empregador e realizará pesquisas de mercado de trabalho, além de praticar entrevistas técnicas em reuniões públicas.
Corrida 1
- Profissão e definição de metas
- Procura de emprego
- Mercado de trabalho
- Trabalho dos sonhos
- Preparando um currículo
– Bom portfólio
Corrida 2
- Procura informal de emprego
- Carta de apresentação
- Comunicação com RH
— Análise dos seus próprios resultados
Corrida 3
- Preparando-se para uma entrevista
- Habilidades suaves e difíceis
- Dinheiro
— Seleção da empresa
— Escritório, trabalho remoto ou freelance?
— Como não errar na hora de escolher uma empresa
- Liberdade condicional
— Entrevista técnica pública
Aceleração
Programa de apoio: você está procurando emprego, nós aconselhamos e ajudamos. Podem participar do programa aqueles que concluíram o programa de emprego e estão ativamente em busca de trabalho. Os participantes praticam as competências que aprenderam no programa de emprego, adaptam essas competências à sua própria estratégia de procura de emprego e reportam os seus resultados todas as semanas.
O principal formato de participação são consultas individuais e entrevistas públicas.