Skip to content

Latest commit

 

History

History
183 lines (94 loc) · 10.7 KB

File metadata and controls

183 lines (94 loc) · 10.7 KB

Conteúdo do CJRM

  • ✅ JavaScript moderno, do zero a tópicos avançados
  • ✅ Criação de 4 projetos
  • ✅ Obtenção e consumo de dados através de APIs
  • ✅ Orientação a objetos e Programação funcional
  • ✅ Uso de banco de dados em tempo real

Módulo 1 - Os primeiros passos

Configurar seu ambiente: essa configuração irá te ajudar a ser produtivo antes, durante e depois de escrever código.

Adicionar JavaScript em uma página web: você verá como o JavaScript adiciona dinamismo em uma página na internet.

Constantes e variáveis: você aprenderá na prática sobre armazenamento de dados. Um conceito essencial em qualquer programa.

Tipos de dados: você irá entender os diferentes tipos de dados que o JavaScript tem e quando usar cada um.

Strings e seus métodos comuns: permite a manipulação de texto, o que é fundamental para se trabalhar com entradas de texto do usuário, formatação e processamento de dados.

Numbers: operações numéricas essenciais necessárias para quase todo tipo de programa.

Arrays: essa é a primeira estrutura de dados que você irá aprender. É com ela que armazenaremos dados em formato de lista, de forma eficiente.

Null e undefined: entender o que são e qual a diferença entre os dois irá evitar erros comuns em seu código.

Booleans e comparações: você irá aprender a tomar decisões em seu código. Isso é crucial para controlar o fluxo de um programa.

Conversão de tipos: você aprenderá a converter tipos do jeito certo, para evitar comportamentos inesperados em seu programa.

Este módulo contém 54 exercícios.

Módulo 2 - Controle de fluxo

O que é controle de fluxo: você entenderá como o JavaScript executa o código sequencialmente e como alterar esse fluxo.

Loops: você aprenderá a fazer seu código executar tarefas repetitivas, o que reduz duplicação de código e melhora a manutenibilidade do programa.

Estruturas condicionais: você aprenderá a tomar decisões em seu código, deixando sua aplicação mais dinâmica baseada em diferentes condições.

Este módulo contém 20 exercícios.

Módulo 3 - Funções e Métodos

O que são funções: aprender funções é crucial para escrever código reutilizável e modular. Com esse conhecimento, você implementará aplicações mais fáceis de manter e reduzirá repetição em seu código.

Argumentos, parâmetros e parâmetros padrão: esses conceitos te ajudam a escrever funções flexíveis que conseguem lidar de forma dinâmica com diferentes entradas de dados, o que melhora a eficiência do seu código.

Retorno de valores: entender esse conceito é crucial para escrever funções que processam informações e retornam resultados. Isso faz suas funções ficarem mais componíveis e poderosas.

Arrow functions (funções-flecha): uma forma mais concisa de escrever funções. Também ajuda a evitar complexidades e armadilhas de alguns padrões de código, além de deixar seu código mais elegante.

Funções x Métodos: entender essa diferença irá te trazer mais clareza sobre conceitos de orientação a objetos e quando usar função ou método.

O método forEach: este método irá simplificar seu código e melhorar a legibilidade dele ao executar tarefas repetitivas. Você também escreverá menos ao aprender este método.

Callbacks: você aprenderá a deixar seu código mais flexível e modular através das funções de callback.

Você também aprenderá sobre escopo e como evitar colisões em seu código.

Este módulo contém 21 exercícios.

Módulo 4 - Objetos

Neste módulo, você aprenderá uma estrutura de dados fundamental no JavaScript, os objetos. Aprender objetos faz com que seu código fique mais reutilizável e organizado, pois é uma estrutura de dados feita para agrupar informações relacionadas.

Você aprenderá a encapsular comportamento aos seus objetos, através de métodos que deixam seu código mais manutenível.

This também é um conceito importante ensinado neste módulo, pois é um assunto fundamental da orientação a objetos. Você aprenderá como usá-lo e como evitar as armadilhas que ele tem.

Neste módulo você também aprenderá a combinar arrays e objetos, um padrão comum em APIs e aplicações do mundo real.

Tipos de refêrencia x tipos primitivos também são ensinados aqui, pois são importantes para entender o gerenciamento de memória em JavaScript. Esse conhecimento também evita erros comuns como a modificação de objetos de forma acidental.

Este módulo contém 24 exercícios.

Módulo 5 - DOM (Document Object Model)

Esse módulo foi feito pra você dominar o DOM. Nele, você aprenderá a interagir com o navegador, o que é crucial para desenvolver aplicações web. Com este conhecimento, você saberá responder a eventos do usuário e manipular suas páginas.

Você aprenderá a deixar sua aplicação dinâmica e interativa.

Você também aprenderá a desenvolver um componente comum em aplicações web: um popup (modal).

Ao final deste módulo, você terá aprendido o que precisa para construir aplicações modernas e interativas.

Este módulo contém 30 exercícios.

Módulo 6 - Eventos em formulários

Formulários são uma das partes mais importantes de uma aplicação web, pois são neles que o usuário insere seus dados. Neste módulo, você aprenderá a manipular eventos de formulários e validar informações do usuário da forma certa em JavaScript.

Este módulo contém 10 exercícios.

Módulo 7 - Desenvolvimento de aplicação: Quiz

Neste módulo, você aprenderá a desenvolver a primeira aplicação do CJRM, um Quiz interativo.

Você revisará todos os conceitos aprendidos até aqui e desenvolverá a lógica dessa aplicação. Isso faz com que você solidifique habilidades de solução de problemas por conta própria e a quebra de problemas complexos em tarefas menores e fáceis de solucionar.

Além disso, neste módulo são apresentados as primeiras operações assíncronas em JavaScript, os temporizadores.

Este módulo contém 8 exercícios.

Módulo 8 - Métodos de array

Neste módulo, você aprenderá os métodos de array mais importantes para a Fluência em JavaScript: map, filter, reduce e sort.

Estes métodos melhoram a leitura e manutenibilidade do seu código, pois deixam o código mais elegante, expressivo e fácil de entender.

Aqui, você começará a aprender sobre programação funcional e funções puras, o que tende a deixar suas aplicações mais previsíveis e com menos bugs.

Este módulo contém 17 exercícios.

Módulo 9 - Desenvolvimento de aplicação: To-do List

Neste módulo você aprenderá a desenvolver um To-do List (lista de tarefas), um excelente tipo de aplicação para este ponto da jornada pois reforça manipulação de DOM, eventos e manipulação de arrays e objetos.

Não há materialização de aprendizado de DOM sem o desenvolvimento de uma aplicação como um To-do List.

Neste módulo você também aprenderá a refatorar sua aplicação, para organizá-la e fazer mais com menos código.

Este módulo contém 11 exercícios.

Módulo 10 - Datas

Datas são um dos tópicos mais desafiadores em JavaScript, mas ficam mais fáceis depois deste módulo.

Aqui, você aprenderá a manipular e formatar data e hora, o que é fundamental para implementar qualquer funcionalidade baseada em tempo em aplicações web.

Você aprenderá também a construir um relógio digital e a trabalhar com a biblioteca mais completa e eficiente para manipular datas em JavaScript: a date-fns.

Este módulo contém 15 exercícios.

Módulo 11 - JavaScript assíncrono

Neste módulo, você irá aprender sobre JavaScript assíncrono. Você aprenderá a escrever código que não bloqueia a thread principal. Isso é importante para garantir que a interface da sua aplicação continue responsiva para o usuário enquanto tarefas em plano de fundo (como requisições para APIs) estão sendo processadas.

Você também aprenderá sobre HTTP, um conhecimento fundamental para fazer requisições de dados para APIs.

Promises também são apresentadas neste módulo, tanto em sua forma pura como em seu açúcar sintático async/await. Esse conhecimento ajuda a escrever operações assíncronas com um código mais organizado e legível.

Você irá aprender a tratar erros, para que seu código lide com falhas em operações assíncronas.

No fim deste módulo, você estará pronto para desenvolver operações assíncronas em suas aplicações, uma habilidade extremamente necessária no desenvolvimento web moderno.

Este módulo contém 34 exercícios.

Módulo 12 - Desenvolvimento de aplicação: Weather Application

Neste módulo você irá desenvolver uma aplicação de previsão do tempo. Uma aplicação do mundo real onde você irá praticar habilidades cruciais de qualquer aplicação web moderna, incluindo integração com API, JSON, JavaScript assíncrono, tratamento de erros e atualização dinâmica da interface de usuário da aplicação através do DOM.

Este módulo contém 10 exercícios.

Módulo 13 - Local Storage

Neste módulo você aprenderá a armazenar e persistir informações no navegador do usuário. Isso é fundamental para salvar dados do usuário que devem permanecer em sua aplicação mesmo quando a aplicação for fechada, o que melhora a experiência do usuário e também a performance da sua aplicação pois reduz a quantidade de requisições repetitivas para a API.

Este módulo contém 7 exercícios.

Módulo 14 - Orientação a Objetos

Neste módulo você aprenderá Orientação a Objetos, um paradigma muito usado no mercado web moderno que facilita organizar código de aplicações robustas de forma eficiente através de classes.

Você aprenderá o que é e como o JavaScript faz compartilhamento entre objetos para otimizar a linguagem por baixo dos panos.

Ao final deste módulo você estará apto a escrever aplicações JavaScript escaláveis e manuteníveis no longo prazo.

Este módulo contém 20 exercícios.

Módulo 15 - Banco de Dados + Desenvolvimento de aplicações: Conversor de Moedas e Catálogo de Games

Neste último módulo do CJRM, você aprenderá a fazer integração com banco de dados.

Usamos o Firebase, um serviço gratuito do Google que contém tudo o que uma aplicação precisa no back-end: autenticação, banco de dados em tempo real e segurança.

A grande vantagem do Firebase é você construir sua aplicação sem ter que construir do zero toda a estrutura de um back-end, o que te faz ganhar tempo e colocar seus projetos no ar rápido.

Você também irá aprender sobre segurança na web e como proteger suas aplicações de ataques.

Duas aplicações são desenvolvidas neste módulo: Conversor de Moedas e Catálogo de Games.

Este módulo contém 11 exercícios.