HTML
HTML
Nivel 2
JavaScript - Callbacks e Promises:
o Uma promessa (Promise) é um proxy para um valor não
necessariamente conhecido quando a promessa é criada.
Isso permite que métodos assíncronos retornem valores
como métodos síncronos - em vez de retornar
imediatamente o valor final, o método assíncrono retorna
uma promessa de fornecer o valor em algum momento no
futuro.
o Uma função de Callback é uma função passada para outra
função como um argumento, que é então invocado dentro
da função externa para completar algum tipo de rotina ou
ação.
o Uma função assíncrona (async) é uma função declarada
com a palavra-chave async, e a palavra-chave await é
permitida dentro dela. As palavras-
chave async e await permitem que o comportamento
assíncrono e baseado em promessas seja escrito em um
estilo mais limpo, evitando a necessidade de configurar
explicitamente as cadeias de promessas.
o Entender o conceito de assincronicidade em programação
o Escrever código assíncrono entendendo o conceito de
promessas em JavaScript
o Utilizar os métodos, palavras-chaves e objetos do
JavaScript para manipulação de promessas como
'Async/Await', '.then()', 'Promise', etc
o Aprender em quais situações é necessário o uso de
programação assíncrona
o Fazer chamadas em APIs com fetch()
JavaScript - Testes:
o O teste de software é o processo de avaliação e
verificação de que um software realmente faz o que
deveria fazer. Os benefícios dos testes incluem a
prevenção de bugs, a redução dos custos de
desenvolvimento e a melhoria do desempenho.
o Usar testes unitários
o Usar testes de integração
o Usar testes de comportamento (behavior)
o Usar mocks
JavaScript - Manipulação de Erros:
o O tratamento de erros refere-se aos procedimentos de
resposta e recuperação de condições de erro presentes
em um aplicativo de software. Em outras palavras, é o
processo composto de antecipação, detecção e resolução
de erros de aplicação, de programação ou de
comunicação.
o Conhecer e tratar as exceções mais comuns
o Saber quais os tipos de erros e em quais situações eles
podem ocorrer
o Entender como o Node.js faz o manejo de erros
o Usar 'try' e 'catch' para tratamento de erros
o Em que ocasiões e de que forma utilizar o throw
o Criar exceções específicas de acordo com a necessidade
de sua aplicação
JavaScript - ES6:
o Conhecer as diferenças dessa versão do JavaScript
JavaScript - Modularização:
o Isolar partes do código em módulos
o Usar import e export
Versionamento Semântico para Front-end:
o SemVer (Versionamento Semântico) é um conjunto
simples de regras e requisitos que ditam como os
números de versão são atribuídos e incrementados.
o Organizar as dependências de um projeto
Jest:
o Testar componentes
Cypress:
o Criar e executar testes
Nivel 3
Estruturas de Dados:
o No contexto dos computadores, uma estrutura de dados é
uma forma específica de armazenar e organizar os dados
na memória do computador para que esses dados possam
ser facilmente recuperados e utilizados de forma eficiente
quando necessário posteriormente.
o Conhecer as principais estruturas de dados
o Implementar as principais estruturas de dados
Conceitos de Orientação a Objetos:
o A Programação Orientada a Objetos é um paradigma de
programação de software baseado na composição e
interação entre diversas unidades chamadas de 'objetos'
e as classes, que contêm uma identidade, propriedades e
métodos). Ela é baseada em quatro componentes da
programação: abstração digital, encapsulamento, herança
e polimorfismo.
o Como funcionam objetos
o Criar e utilizar construtores
o O que são classes
o Criar e utilizar métodos
o Como funciona encapsulamento
o O que é herança
o O que é polimorfismo
o Como funcionam interfaces
o O que são abstrações
JavaScript - Armazenamento:
o Armazenar dados no front-end com localStorage
o Manipular dados armazenados
o Persistir dados armazenados
JavaScript - Concorrência:
o Programação concorrente é um paradigma de
programação para a construção de programas que fazem
uso da execução simultânea de várias tarefas
computacionais interativas, que podem ser
implementadas como programas separados ou como um
conjunto de threads criadas por um único programa.
o Executar tarefas paralelamente
TypeScript - Fundamentos:
o TypeScript é uma linguagem de programação fortemente
tipada que se baseia em JavaScript.
o Entender a fundo o que são tipos e a importância da
tipagem
o Aprender o que é o TypeScript, por que foi criado, como
ele funciona e sua relação com o JavaScript
o Conhecer as ferramentas do TypeScript (integração com o
editor de código, verificador estático e compilador)
o Escrever código em TypeScript com suas ferramentas
(interfaces, enum, decorators, etc)
o Desenvolver aplicações em TypeScript
GraphQL:
o GraphQL é uma linguagem de consulta e manipulação de
dados de código aberto para APIs. É considerada uma
alternativa para arquiteturas REST.
o Aprender o que é GraphQL e por que foi criado
o Entender como o GraphQL é utilizado no desenvolvimento
de APIs
o Criar APIs utilizando as bibliotecas e frameworks para
GraphQL
Apollo Client:
o Apollo Client é uma biblioteca abrangente de
gerenciamento de estado para JavaScript que permite
gerenciar dados locais e remotos com o GraphQL.
o Utilizar o Apollo para criar um servidor GraphQL
o Conectar com uma API