We may earn an affiliate commission when you visit our partners.
Course image
Luiz Otávio Miranda and Tales Calogi Malaquias

Curso de JavaScript e TypeScript do básico ao avançado (JS e TS) - O curso mais completo sobre todas as nuances do JavaScript você você vai encontrar na atualidade.

Aprenda Javascript moderno (ES6+) para front-end (com Webpack, babel, React, React Hooks, ReduxJs, Strapi e mais) e se torne um(a) desenvolvedor(a) full stack.

Este curso inclui JavaScript e TypeScript (JS e TS), você vai aprender ambas as linguagens no mesmo pacote.

Fundamentos

Read more

Curso de JavaScript e TypeScript do básico ao avançado (JS e TS) - O curso mais completo sobre todas as nuances do JavaScript você você vai encontrar na atualidade.

Aprenda Javascript moderno (ES6+) para front-end (com Webpack, babel, React, React Hooks, ReduxJs, Strapi e mais) e se torne um(a) desenvolvedor(a) full stack.

Este curso inclui JavaScript e TypeScript (JS e TS), você vai aprender ambas as linguagens no mesmo pacote.

Fundamentos

Inicialmente, o aluno aprenderá a utilizar recursos nativos do JavaScript sem a necessidade de utilizar frameworks ou bibliotecas adicionais (Javascript puro, conhecido como Vanilla JS). Trabalharemos tanto no Node.Js (back-end) quanto no navegador (front-end).

Node.Js, Frameworks e bibliotecas

Apresentarei o Node JS, Express e o MongoDB (noSQL) para trabalhar com Javascript no Back-end. Apresentarei frameworks e bibliotecas que são padrão no mercado atualmente, como Express (servidor Web) e Mongoose (para modelar bases de dados MongoDB). Também apresentarei em detalhes o sistema de módulos do NodeJS.

JS Tooling

Falaremos do Babel e Webpack, o que nos permitirá utilizar o sistema de módulos do ES6 em navegadores mais antigos que não teriam suporte para tal.

Projeto #1

Também vamos criar um projeto realizando um CRUD (create, read, update e delete) na base de dados mongo com sistema de login real usando sessions (posteriormente com JWT).

Deploy (Linux)

Ao longo do curso, o aluno aprenderá tecnologias adicionais ao JS, como: criar um servidor web com NGINX para fazer proxy reverso com Node; gerenciar projetos node com o pm2; configurar um servidor linux no Google Cloud Platform (GCP), adicionar certificado SSL/TLS (HTTPS) com letsencrypt gratuitamente, configurar um repositório com o Git (e comandos adicionais do git em geral), configurar chaves SSH no servidor e computador pessoal, TypeScript do básico ao avançado e muito mais.

TypeScript

Uma novidade neste curso é o TypeScript, o aluno não precisará comprar outro curso para aprender essa linguagem que está tão em alta no momento.

Segurança

Também tive o cuidado de focar bastante na parte de segurança de todos os serviços utilizados ao longo do curso, com isso o aluno poderá fazer deploy de suas aplicações sem medo.

API Rest

Criaremos uma API Rest utilizando MariaDB/MySQL (SQL) e o Sequelize, com sistema de login que utiliza JSON Web Tokens (JWT). Nesta seção, o aluno aprenderá ainda mais recursos que são padrão de mercado, como: editorconfig, eslint, prettier, JWT, middlewares e mais.

React

Na seção básica de React JS, criaremos uma lista de tarefas utilizando class components e functional components (com classes e funções). Também utilizaremos o localStorage do navegador para salvar os dados da lista de tarefas, fazendo algo muito similar ao que faríamos com bases de dados.

Na seção avançada do React JS utilizaremos React Hooks, Redux + Redux Saga e muito mais. Também vamos consumir a API Rest que criamos em aulas anteriores. Criaremos um sistema de Login com JWT e o axios e faremos um CRUD (create, read, update e delete) na base de dados MySQL/MariaDB da nossa API Rest.

Expressões Regulares

Você vai aprender a criar suas próprias expressões regulares (regex). Melhor que isso, você vai entender o que está fazendo com suas expressões regulares.

Princípios SOLID

O curso tem seções específicas sobre os pilares da programação orientada a objetos (POO) e princípios SOLID (S.O.L.I.D), que são parte extremamente importante na formação de qualquer programador, independente da linguagem de programação escolhida.

Testes com o Jest

Testes automatizados são de extrema importância para qualquer desenvolvedor. Abordaremos testes unitários e testes de integração utilizando o jest.

Design Patterns (Padrões de projeto)

Uma outra novidade deste curso é que temos uma seção inteira sobre padrões de projeto (Design patterns). O foco aqui é aprender os padrões de projeto da GoF (que são os mais clássicos e mais relevantes atualmente).

NextJS + Strapi

Vamos criar um blog usando NextJS + Strapi com SSR (server-side rendering), SSG (static site generation) e ISR (Incremental Static Regeneration). Neste blog também vamos fazer deploy da aplicação usando servidor Linux (Ubuntu), PostgreSQL (base de dados) e Github Webhooks para Continuous Deployment (CD). Além disso, vamos falar de muitas outras coisas que vão muito além do código em si (infraestrutura).

Bancos de dados SQL (MySQL)

Temos uma seção específica onde você aprender a executar as consultas mais comuns em bases de dados SQL (MySQL). Após essa seção o aluno será capaz de criar, apagar, atualizar, ler e fazer relações entre tabelas da base de dados.

Knex - Query Builder

Também falaremos especificamente do Knex, um Query Builder para construir queries SQL em bases de dados Postgres

HTML5 e CSS3 (Bônus)

Recentemente adicionamos à grade do curso HTML5 e CSS3 para quem não conhece nada sobre HTML e CSS. Essa seção é um bônus, visto que seria um requisito para aprender JavaScript de maneira eficaz.

Listagem do conteúdo principal

Lista do que será ensinado nas seções:

  • Instalação dos programas utilizados ao longo do curso (Node, Visual Studio Code e mais)

  • Javascript básico (variáveis e coisas básicas de programação)

  • Javascript com lógica de programação (estruturas condicionais, de repetição e mais)

  • Javascript orientado a objetos (classes, funções construtoras, factory functions, e mais)

  • Javascript funcional (seções específicas para funções, arrays e objetos)

  • Javascript assíncrono (com promises, ajax, axios e fetch API)

  • Webpack e Babel (para uso de recursos modernos em navegadores mais antigos)

  • Node.js (básico de Node + Express e MongoDB)

  • Projeto agenda (Um projeto real utilizando tudo o que foi descrito anteriormente)

  • Deploy - Criar, configurar e manter um servidor Linux (inclui configuração de várias tecnologias diferentes)

  • Api rest - Criar uma API Rest do zero usando Express, JWT e o Sequelize (com MariaDB/MySQL).

  • React JS Básico - Nesta seção, criaremos uma lista de tarefas utilizando o React JS e o localStorage do navegador.

  • React JS Avançado - React Hooks, Redux + Redux Saga, Autenticação com JWT, Redux Persist e muito mais.

  • Bônus: Expressões Regulares (Regex)

  • TypeScript - Você não precisa comprar outro curso para aprender TypeScript

  • Princípios da programação orientada a objetos e princípios S.O.L.I.D (SOLID)

  • Testes automatizados com o Jest

  • NextJS + Strapi - vamos a criar sites com SSR e SSG usando o NextJS

  • Bancos de dados SQL (MySQL)

  • Knex - Query Builder

  • Bônus: Padrões de projeto (Design patterns)

  • Bônus: HTML5 e CSS3

Enroll now

What's inside

Syllabus

Nesta seção vamos instalar o VSCode, NodeJS e Chrome no Windows e Linux (Ubuntu 18.04)

Vamos instalar o Google Chrome, Visual Studio Code e o NodeJS. Todos os links estão nos recursos da aula para você baixar.

Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Covers JavaScript and TypeScript from basic to advanced levels, providing a comprehensive learning experience for developers of all skill levels
Teaches modern JavaScript (ES6+) for front-end development using tools like Webpack, Babel, React, React Hooks, and Redux, enabling learners to build modern web applications
Introduces Node.js, Express, and MongoDB for back-end JavaScript development, equipping learners with the skills to build server-side applications
Explores deploying applications on Linux servers using Nginx, PM2, and Google Cloud Platform, including SSL/TLS configuration and Git integration, which are essential DevOps skills
Emphasizes code security practices and introduces tools like EditorConfig, ESLint, and Prettier, helping learners write more secure and maintainable code
Includes a bonus section on HTML5 and CSS3, which is helpful for learners who are new to web development and need a foundation in these essential technologies

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Curso completo de javascript e typescript

Segundo os alunos, este curso oferece uma cobertura extremamente abrangente de JavaScript e TypeScript, indo do básico ao avançado, com foco em desenvolvimento full-stack. Muitos elogiam a didática clara e paciente do instrutor e a quantidade de projetos práticos e exemplos, que ajudam a solidificar o aprendizado. É visto como tendo ótimo valor pelo preço, abordando uma vasta gama de tecnologias modernas. Alguns mencionam que, por ser tão muito extenso, pode ser desafiador, especialmente para quem está começando ou busca aprofundamento em tópicos específicos, sentindo que algumas seções poderiam ser mais detalhadas. No geral, a recepção é largamente positiva, sendo recomendado para quem busca uma base sólida e ampla no ecossistema JS/TS.
Muitos exemplos e projetos práticos que ajudam a aplicar o conhecimento.
"Os projetos reais são o ponto alto do curso, me ajudaram a fixar muito o conteúdo."
"Adorei os exemplos práticos em cada seção, não fica só na teoria."
"Aprender fazendo é a melhor forma, e o curso oferece muitos exercícios e projetos."
"...aplicar o que aprendi nos projetos me deu confiança."
O curso recebe atualizações acompanhando as novidades do mercado.
"O instrutor está sempre atualizando as aulas, isso é fantástico no mundo JS."
"Gostei de ver que novas seções foram adicionadas desde que comecei."
"Ele se preocupa em manter o conteúdo relevante com as últimas versões das libs."
"...é bom saber que não estou aprendendo algo que já ficou obsoleto."
O instrutor explica de forma clara e didática, facilitando o aprendizado.
"O professor tem uma didática excelente, explica tudo muito bem passo a passo."
"Gostei muito da forma como o conteúdo é apresentado, muito claro e fácil de seguir."
"A paciência e clareza nas explicações fazem toda a diferença neste curso."
"...torna tópicos complexos muito mais fáceis de entender."
Cobre muitos tópicos e tecnologias, do básico ao avançado.
"O curso é incrivelmente completo, aborda tudo que você precisa para ser um full-stack."
"Nunca vi um curso com tanta profundidade e tantos temas, valeu cada centavo."
"Abrange desde o vanilla JS até frameworks modernos como React e NextJS."
"Sinto que tenho uma base muito sólida depois de passar por todas as seções."
"...vai muito além do básico, explorando backend, deploy e testes."
Pode ser difícil para quem não tem nenhuma experiência prévia.
"Comecei do zero e algumas partes foram bem difíceis de acompanhar."
"Apesar de dizer básico ao avançado, a progressão é rápida em certos pontos."
"Recomendo ter uma base mínima antes de começar para não se frustrar."
"...ótimo para quem já tem alguma familiaridade com programação."
Alguns tópicos são abordados de forma menos aprofundada.
"Embora cubra muita coisa, algumas partes poderiam ir mais a fundo."
"Senti falta de mais detalhes em tópicos avançados específicos."
"É ótimo para ter uma visão geral, mas para dominar algo, precisei buscar material extra."
"...serve como uma excelente introdução a muitas ferramentas, mas não um aprofundamento total."
O curso é muito longo e denso, exigindo dedicação.
"É um curso gigantesco, prepare-se para muitas horas de estudo."
"A quantidade de conteúdo é vasta, pode ser um pouco esmagador no início."
"Requer muita disciplina para seguir até o fim, mas vale a pena."
"...tem muito conteúdo, às vezes sinto que poderia ser dividido em cursos menores."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Curso de JavaScript e TypeScript do básico ao avançado JS/TS with these activities:
Revisar os Fundamentos de HTML e CSS
Refresque seus conhecimentos em HTML e CSS para garantir uma base sólida antes de começar a aprender JavaScript e TypeScript.
Browse courses on HTML5
Show steps
  • Revise os conceitos básicos de HTML, como tags, atributos e estrutura do documento.
  • Pratique a criação de layouts simples com CSS, incluindo seletores, propriedades e modelos de caixa.
  • Construa uma página web simples para aplicar seus conhecimentos.
Revisar 'Eloquent JavaScript'
Complemente o curso com uma leitura aprofundada sobre os conceitos fundamentais de JavaScript.
Show steps
  • Leia os capítulos iniciais sobre tipos de dados, estruturas de controle e funções.
  • Experimente os exemplos de código no livro e modifique-os para entender melhor como funcionam.
  • Resolva os exercícios no final de cada capítulo para testar sua compreensão.
Praticar exercícios de lógica de programação
Aprimore suas habilidades de resolução de problemas com exercícios práticos de lógica de programação em JavaScript.
Show steps
  • Resolva exercícios de algoritmos básicos, como ordenação, busca e manipulação de strings.
  • Implemente estruturas de dados simples, como listas encadeadas e árvores binárias.
  • Participe de desafios de programação online para testar suas habilidades.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Criar um aplicativo de lista de tarefas simples
Aplique seus conhecimentos de JavaScript e TypeScript criando um projeto prático que envolva manipulação do DOM, eventos e armazenamento de dados.
Show steps
  • Defina os requisitos do aplicativo, como adicionar, remover e marcar tarefas como concluídas.
  • Crie a interface do usuário com HTML e CSS.
  • Implemente a lógica do aplicativo com JavaScript e TypeScript, incluindo manipulação do DOM e eventos.
  • Armazene os dados das tarefas no localStorage do navegador.
Escrever um artigo sobre Expressões Regulares
Consolide seu aprendizado sobre expressões regulares escrevendo um artigo detalhado sobre o tema, explicando seus conceitos e aplicações.
Show steps
  • Pesquise e organize informações sobre expressões regulares, incluindo sintaxe, metacaracteres e exemplos de uso.
  • Escreva um artigo claro e conciso explicando os conceitos básicos de expressões regulares.
  • Inclua exemplos práticos de como usar expressões regulares em JavaScript e TypeScript.
  • Publique o artigo em um blog pessoal ou plataforma de artigos online.
Revisar 'Padrões de Projeto'
Aprofunde seus conhecimentos sobre padrões de projeto para criar código mais reutilizável e escalável.
Show steps
  • Leia os capítulos sobre os padrões de projeto mais comuns, como Factory, Singleton e Observer.
  • Analise exemplos de código que implementam esses padrões em JavaScript e TypeScript.
  • Tente aplicar esses padrões em seus próprios projetos.
Contribuir para um projeto Open Source
Ganhe experiência prática e aprofunde seus conhecimentos contribuindo para um projeto open source que utilize JavaScript ou TypeScript.
Show steps
  • Encontre um projeto open source que lhe interesse e que utilize JavaScript ou TypeScript.
  • Leia a documentação do projeto e familiarize-se com o código base.
  • Identifique um bug ou funcionalidade que você possa implementar.
  • Envie um pull request com suas alterações.

Career center

Learners who complete Curso de JavaScript e TypeScript do básico ao avançado JS/TS will develop knowledge and skills that may be useful to these careers:
Desenvolvedor Full-Stack
Um Desenvolvedor Full-Stack domina tanto o front-end quanto o back-end, criando aplicações completas do início ao fim. Este curso é perfeito para quem busca essa versatilidade, pois abrange desde JavaScript moderno (ES6+) e TypeScript até Node.js, React, Redux e bancos de dados SQL e NoSQL. O curso oferece um aprendizado completo, com projetos práticos que integram as duas pontas do desenvolvimento, além de abordar deploy, segurança e testes automatizados, preparando o Desenvolvedor Full-Stack para enfrentar qualquer desafio.
Desenvolvedor Front-End
Um Desenvolvedor Front-End cria a interface visual de sites e aplicações web, garantindo que os usuários tenham uma experiência interativa e agradável. Este curso de JavaScript e TypeScript é fundamental, pois oferece um aprendizado completo desde os fundamentos do JavaScript (Vanilla JS) até o uso de frameworks modernos como React, essencial no desenvolvimento front-end. O curso aborda Webpack e Babel, cruciais para garantir compatibilidade com navegadores antigos, além de ensinar a criar interfaces dinâmicas e interativas. Para quem busca se tornar um Desenvolvedor Front-End, este curso é um guia abrangente e prático.
Desenvolvedor Back-End
O Desenvolvedor Back-End é responsável pela lógica e infraestrutura que sustentam as aplicações web, trabalhando com servidores, bancos de dados e APIs. Este curso é valioso porque cobre Node.js, Express e MongoDB, tecnologias chave para o back-end com JavaScript. Ele ensina a criar APIs RESTful com MariaDB/MySQL e Sequelize, e a implementar segurança com JSON Web Tokens (JWT). O curso também aborda deploy em servidores Linux, configuração de NGINX e gerenciamento com PM2, preparando o futuro Desenvolvedor Back-End para desafios reais e complexos.
Engenheiro de Software
O Engenheiro de Software projeta, desenvolve e mantém sistemas de software, aplicando princípios de engenharia para garantir qualidade e eficiência. Este curso pode ser muito útil, pois abrange uma vasta gama de tecnologias e práticas essenciais, desde a programação orientada a objetos (POO) e princípios SOLID até testes automatizados com Jest e padrões de projeto (Design patterns). O curso oferece uma base sólida em JavaScript e TypeScript, preparando o Engenheiro de Software para criar soluções robustas e escaláveis.
Arquiteto de Software
O Arquiteto de Software define a estrutura e o design de sistemas complexos, tomando decisões técnicas que impactam a escalabilidade e a manutenibilidade. Este curso pode ser útil, pois aborda temas importantes como deploy em servidores Linux, configuração de NGINX, bancos de dados SQL (MySQL) e NoSQL (MongoDB), e a criação de APIs RESTful. Dominar essas tecnologias e práticas ajuda o Arquiteto de Software a tomar decisões informadas e a projetar sistemas eficientes e robustos.
Especialista em DevOps
O Especialista em DevOps automatiza e otimiza o ciclo de vida do desenvolvimento de software, integrando desenvolvimento e operações para garantir entregas rápidas e confiáveis. Este curso pode ser útil, pois aborda temas cruciais como deploy em servidores Linux, configuração de NGINX, gerenciamento de projetos Node.js com PM2, configuração de certificados SSL/TLS com Let's Encrypt, e o uso de Git para versionamento. Ao dominar essas ferramentas e práticas, o Especialista em DevOps pode otimizar o processo de entrega de software e garantir a estabilidade das aplicações.
Consultor de Tecnología
O Consultor de Tecnologia oferece expertise técnica para ajudar empresas a resolver problemas e a otimizar seus processos. Este curso pode ser útil, pois ele fornece um amplo conhecimento em JavaScript, TypeScript e diversas tecnologias de front-end e back-end. A capacidade de criar APIs RESTful, configurar servidores e entender os princípios de segurança permite ao Consultor de Tecnologia recomendar soluções eficazes e personalizadas para os clientes.
Analista de Sistemas
O Analista de Sistemas avalia e melhora os sistemas de informação de uma empresa, garantindo que atendam às necessidades do negócio. Este curso pode ser útil, pois abrange diversas tecnologias e práticas de desenvolvimento, desde os fundamentos de JavaScript e TypeScript até o uso de frameworks modernos como React e Node.js. Ao compreender o ciclo de vida do desenvolvimento de software e as diferentes tecnologias envolvidas, o Analista de Sistemas pode tomar decisões informadas e propor melhorias eficazes.
Testador de Software
O Testador de Software garante a qualidade do software, identificando e reportando bugs e problemas. Este curso pode ser útil, pois aborda testes automatizados com Jest, uma ferramenta essencial para garantir que o código esteja funcionando corretamente. Ao aprender a escrever testes unitários e de integração, o Testador de Software pode contribuir significativamente para a qualidade e a estabilidade do software.
Analista de Qualidade de Software
O Analista de Qualidade de Software define e implementa processos para garantir a qualidade do software, desde a análise de requisitos até a entrega final. Este curso pode ser útil pois aborda testes automatizados com Jest e os princípios SOLID, que são essenciais para garantir a qualidade e a manutenibilidade do código. Ao entender os princípios de design e os testes automatizados, o Analista de Qualidade de Software pode propor melhorias nos processos e garantir a entrega de um software de alta qualidade.
Instrutor de Programação
Um Instrutor de Programação ensina outras pessoas a programar, compartilhando seus conhecimentos e habilidades. Este curso pode ser útil, pois abrange uma ampla gama de tópicos, desde os fundamentos de JavaScript e TypeScript até o uso de frameworks modernos e práticas de desenvolvimento avançadas. Com um conhecimento abrangente e atualizado, o Instrutor de Programação pode oferecer um ensino de alta qualidade e preparar seus alunos para o sucesso na área de desenvolvimento de software.
Analista de Dados
O Analista de Dados coleta, processa e analisa dados para extrair insights e ajudar na tomada de decisões. Este curso pode ser útil, pois o conhecimento em JavaScript e TypeScript pode ser aplicado na criação de ferramentas e visualizações de dados interativas. Além disso, o curso aborda bancos de dados SQL (MySQL) e NoSQL (MongoDB), que são usados para armazenar e gerenciar grandes volumes de dados.
Gerente de Projetos de TI
O Gerente de Projetos de TI planeja, executa e monitora projetos de tecnologia, garantindo que sejam entregues no prazo e dentro do orçamento. Embora este curso seja mais técnico, o conhecimento em JavaScript, TypeScript e as tecnologias abordadas pode ser útil para o Gerente de Projetos de TI entender melhor os desafios técnicos e coordenar a equipe de desenvolvimento de forma eficaz. Ele saberá melhor como alocar recursos e acompanhar o progresso do projeto.
Especialista em SEO
O Especialista em SEO otimiza sites para melhorar seu posicionamento nos resultados de busca. Este curso pode ser útil, pois o conhecimento em JavaScript e frameworks como React e Next.js pode ajudar o Especialista em SEO a entender como os motores de busca indexam e avaliam o conteúdo. Além disso, o curso aborda deploy em servidores Linux, o que pode ser útil para otimizar o desempenho do site.
Gerente de Produtos
O Gerente de Produtos define a estratégia e o roadmap de um produto, garantindo que atenda às necessidades dos usuários e do negócio. Embora este curso seja mais técnico, ter conhecimento em JavaScript e TypeScript pode ser útil para o Gerente de Produtos entender melhor as possibilidades técnicas e tomar decisões informadas sobre o desenvolvimento do produto. Isso ajuda a alinhar as expectativas e a priorizar as funcionalidades.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Curso de JavaScript e TypeScript do básico ao avançado JS/TS.
Este livro é uma excelente introdução ao JavaScript, cobrindo desde os fundamentos da linguagem até conceitos mais avançados como programação assíncrona e manipulação do DOM. Ele é útil para iniciantes e também para aqueles que já têm alguma experiência em programação. 'Eloquent JavaScript' fornece uma base teórica sólida e muitos exemplos práticos. É um recurso valioso para acompanhar o curso e aprofundar seus conhecimentos.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser