- JavaScript - Fundamentos:
- JavaScript é a linguagem de programação mais popular do mundo e é uma das principais tecnologias da World Wide Web, juntamente com HTML e CSS. Ela possui tipagem dinâmica, orientação a objetos baseada em protótipos e funções de primeira classe. Ela é multi-paradigma e suporta estilos de programação orientados a eventos, funcionais e imperativos.
- Conhecer os tipos primitivos
- Declarar variáveis, considerando a diferença entre 'var', 'let' e 'const'
- Usar estruturas condicionais ('if', 'else')
- Conhecer os operadores de comparação ('=', '==', '===')
- Usar estruturas de repetição e laços ('while', 'for')
- Usar funções, passando parâmetros e argumentos
- Manipular arrays e listas
- Aprender o conceito de Orientação a Objetos
- Fazer um CRUD
- Obter dados de uma API
- Fazer chamadas assíncronas usando 'Async/Await', 'Promise', etc
- TypeScript - Fundamentos:
- TypeScript é uma linguagem de programação fortemente tipada que se baseia em JavaScript.
- Entender a fundo o que são tipos e a importância da tipagem
- Aprender o que é o TypeScript, por que foi criado, como ele funciona e sua relação com o JavaScript
- Conhecer as ferramentas do TypeScript (integração com o editor de código, verificador estático e compilador)
- Escrever código em TypeScript com suas ferramentas (interfaces, enum, decorators, etc)
- Desenvolver aplicações em TypeScript
- RxJS - Fundamentos:
- Criar programas assíncronos
- Criar programas baseados em eventos
- Entender o conceito de observables e sequências de observables
- Entender como usar Observers, Subscription, Subject
- Angular - Fundamentos:
- Construir interfaces utilizando HTML, CSS e TypeScript
- Criar aplicações SPA
- Construir aplicações web, mobile ou desktop
- Integrar dados com API’s REST
- Utilizar a composição para criar componentes reutilizáveis
- Utilizar serviços do tipo Resolver
- Manipular requisições criando serviços do tipo Interceptor
- O Pattern Observer:
- Entender o que são Design Patterns
- Atualizar diversos elementos simultaneamente
- Declarar os Subjects
- Criar programas baseados em eventos
- Angular - Templates:
- Como usar os templates
- Angular - Renderização:
- Exibir uma página Angular no navegador
- Realizar renderização no lado do servidor
- Angular - Services:
- Criar dados que estarão sempre disponíveis
- Dividir a aplicação web em diversas partes
- Angular - Roteamento:
- Navegar até um componente
- Incluir um parâmetro de rota
- Controlar o fluxo de navegação do seu usuário com guarda de rotas
- Angular - CLI (Interface de Linha de Comando):
- Inicializar, desenvolver e manter aplicações Angular a partir da interface de linha de comando
- Angular - Gerenciamento de Estado:
- Atualizar componentes em tempo real
- Esperar por alterações em algum componente e executar alterações
- Angular - Formulários:
- Criar formulários com Template Forms
- Criar formulários com reativos com Reactive Forms
- Angular - Módulos:
- Registrar componentes
- Declarar quais componentes podem ser usados por componentes de outros módulos
- Declarar quais services serão injetados
- Aprender a modularizar uma aplicação
- Angular - Injeção de Dependências:
- Declarar as dependências de suas classes
- Injetar dependências em um componente
- Angular - Testes:
- Usar testes unitários
- Usar testes de integração
- Usar testes de comportamento (behavior)
- Usar mocks
- GraphQL:
- GraphQL é uma linguagem de consulta e manipulação de dados de código aberto para APIs. É considerada uma alternativa para arquiteturas REST.
- Aprender o que é GraphQL e por que foi criado
- Entender como o GraphQL é utilizado no desenvolvimento de APIs
- Criar APIs utilizando as bibliotecas e frameworks para GraphQL
- Apollo Client:
- Apollo Client é uma biblioteca abrangente de gerenciamento de estado para JavaScript que permite gerenciar dados locais e remotos com o GraphQL.
- Utilizar o Apollo para criar um servidor GraphQL
- Conectar com uma API
- Design Systems:
- Um Design Systems (sistema de design) é uma coleção de componentes reutilizáveis, guiados por padrões claros, que podem ser colocados juntos para construir aplicações.
- Criar e manter bibliotecas que serão consumidas e usadas como padrão para a construção de um projeto
- Figma - Fundamentos:
- Figma é uma aplicação web colaborativa para design de interfaces. O conjunto de recursos do Figma se concentra na interface do usuário e no design da experiência do usuário, com ênfase na colaboração em tempo real, utilizando uma variedade de editores de gráficos vetoriais e ferramentas de prototipagem.
- Criar layouts de páginas e componentes
- Componentes de design:
- Conhecer os componentes descrevem um layout ou interface
- Sistemas de cores:
- Definir uma paleta de cores que faça sentido para determinada interface
- Como usar fontes:
- Escolher a fonte mais adequada para determinado projeto
- Design Systems:
- Um Design Systems (sistema de design) é uma coleção de componentes reutilizáveis, guiados por padrões claros, que podem ser colocados juntos para construir aplicações.
- Criar e manter bibliotecas que serão consumidas e usadas como padrão para a construção de um projeto
- Figma - Fundamentos:
- Figma é uma aplicação web colaborativa para design de interfaces. O conjunto de recursos do Figma se concentra na interface do usuário e no design da experiência do usuário, com ênfase na colaboração em tempo real, utilizando uma variedade de editores de gráficos vetoriais e ferramentas de prototipagem.
- Criar layouts de páginas e componentes
- Componentes de design:
- Conhecer os componentes descrevem um layout ou interface
- Sistemas de cores:
- Definir uma paleta de cores que faça sentido para determinada interface
- Como usar fontes:
- Escolher a fonte mais adequada para determinado projeto