Imagem do Curso gratuito Criando Backend utilizando Dart

Curso online gratuitoCriando Backend utilizando Dart

Duração do curso online: 10 horas e 35 minutos

Novo

Domine backend com Dart: crie APIs REST, autenticação JWT, banco MySQL e deploy. Curso online gratuito para evoluir em programação back-end.

Neste curso gratuito, aprenda sobre

  • Responsabilidades do backend: regras de negócio, segurança, persistência e integração
  • HTTP e REST: métodos, recursos, status codes e boas práticas de APIs RESTful
  • Criação de servidor HTTP e primeira API em Dart com shelf e roteamento com shelf_router
  • Uso de query params vs path params e passagem de dados em rotas HTTP
  • Trabalho com JSON, GET vs POST e retornos corretos com Content-Type/Mime Type
  • Arquitetura com Cascade/Pipeline, handlers e organização do fluxo de requisições
  • Configuração segura: uso de .env e evitar hard code de segredos e credenciais
  • Camadas Model/Service, DIP (SOLID) e isolamento entre API e serviços
  • Middleware customizado: interceptar requests, logs, validações e autenticação
  • JWT: geração, validação, verificação e proteção de endpoints via middleware
  • Injeção de dependências e criação de um injetor para desacoplar e facilitar testes
  • Bancos SQL vs NoSQL; SQL básico (CRUD) e boas práticas de escrita de queries
  • Docker e Docker Compose para ambientes consistentes; MySQL, auto-increment e mysql1
  • DAO pattern, abstração de conexão, CRUD, hash de senhas, login e CORS

Descrição do curso

Aprenda a construir um backend completo utilizando Dart, saindo do zero até um projeto com API pronta para consumo, boas práticas de arquitetura e preocupações reais de produção. Este curso online gratuito foi pensado para quem quer atuar com programação back-end e precisa entender, na prática, como uma aplicação responde a requisições, organiza rotas, trata dados e entrega respostas corretas para diferentes tipos de cliente.

Ao longo das aulas, você desenvolve uma base sólida em HTTP e no padrão REST, cria um servidor e passa a estruturar endpoints com clareza, lidando com parâmetros de rota e de query, payloads em JSON e retorno com headers adequados (como mime types) para garantir compatibilidade. Você também aprende a controlar o fluxo de requisições com pipelines, cascade e middlewares, consolidando um estilo de desenvolvimento mais profissional e escalável para aplicações em Dart.

Conforme o projeto evolui, o foco passa a ser organização e qualidade: separação de responsabilidades com camadas de modelo e serviço, aplicação de princípios do SOLID (como inversão de dependência), isolamento entre API e regras de negócio, e criação de um injetor de dependências do zero. Esse conjunto fortalece a manutenibilidade, facilita testes e permite que o código cresça sem virar um monolito difícil de alterar.

Segurança e autenticação recebem atenção especial: você implementa JWT para proteger rotas, aprende a gerar e validar tokens corretamente e a encapsular regras de segurança por handlers e middlewares. Além disso, entende por que variáveis sensíveis devem sair do código e ir para arquivos de ambiente, reduzindo riscos e preparando o projeto para ambientes diferentes (desenvolvimento, homologação e produção).

Na parte de dados, você compara SQL e NoSQL, cria um ambiente consistente com Docker e Docker Compose, trabalha com MySQL, aprende SQL na prática e conecta o projeto ao banco usando bibliotecas adequadas. Também implementa abstrações como conexão centralizada e DAO Pattern para isolar consultas, cria CRUDs completos e aplica hash em senhas antes do armazenamento, reforçando o cuidado com privacidade e proteção de credenciais.

Para fechar com visão de mercado, o curso aborda CORS e etapas de deploy, incluindo fundamentos de computação em nuvem e uso de infraestrutura no Google Cloud Platform. O resultado é uma jornada que combina fundamentos, arquitetura, segurança, persistência e implantação, preparando você para criar e manter APIs backend em Dart com mais confiança.

Conteúdo do curso

  • Aula em vídeo: Curso Backend #01 - Introdução ao Backend 13m
  • Exercício: Qual é uma das principais responsabilidades do desenvolvedor back-end ao criar uma aplicação?
  • Aula em vídeo: Curso Backend #02 - Protocolo HTTP e Padrão REST 14m
  • Exercício: Qual é o propósito principal do método HTTP POST no padrão REST?
  • Aula em vídeo: Curso Backend #03 - Criando o servidor HTTP 11m
  • Exercício: Qual é o pacote no Dart que é mencionado por ser amplamente utilizado para configurar servidores HTTP e manipular requisições?
  • Aula em vídeo: Curso Backend #04 - Criando a primeira API 08m
  • Exercício: Qual é a função do pacote 'shelf_router' no desenvolvimento de um backend com Dart?
  • Aula em vídeo: Curso Backend #05 - Passagem de dados com Query Param e Router Param 12m
  • Exercício: Qual é a diferença entre o uso de parâmetros de caminho (URL Path) e parâmetros de consulta (Query Parameters) em uma rota HTTP?
  • Aula em vídeo: Curso Backend #06 - Trabalhando com Jsons e Post Method 14m
  • Exercício: Qual é a diferença principal entre os métodos HTTP GET e POST?
  • Aula em vídeo: Curso Backend #07 - Mime Type, Trabalhando com retornos correto 08m
  • Exercício: Quando desenvolvemos um backend em Dart e queremos devolver um conteúdo em HTML para o navegador, qual cabeçalho HTTP devemos definir para que o navegador interprete corretamente o conteúdo como HTML?
  • Aula em vídeo: Curso Backend #08 - Iniciando o projeto e conhecendo Cascade e Pipeline 16m
  • Exercício: Qual é o padrão de design utilizado para gerenciar múltiplos handlers em aplicações Dart descrito no texto?
  • Aula em vídeo: Curso Backend #09 - Removendo Informações sensíveis com env file (Super Aula) 27m
  • Exercício: Por que é importante evitar informações sensíveis serem escritas diretamente no código (hard code)?
  • Aula em vídeo: Curso Backend #10 - Criando APIs RESTful 04m
  • Exercício: Qual dos métodos HTTP é geralmente utilizado para atualizar um recurso em uma API?
  • Aula em vídeo: Curso Backend #11 - Model Layer 04m
  • Exercício: Qual das opções abaixo representa corretamente os dados que uma notícia precisa ter em um modelo de dados no backend utilizando Dart?
  • Aula em vídeo: Curso Backend #12 - Service Layer aplicando DIP do SOLID 08m
  • Exercício: Qual é a principal função de uma camada de serviço em um backend desenvolvido com Dart?
  • Aula em vídeo: Curso Backend #13 - Isolando as camadas de SERVICE e API 26m
  • Exercício: Qual é a principal razão para simular um banco de dados com uma lista durante o desenvolvimento de um aplicativo?
  • Aula em vídeo: Curso Backend #14 - Custom Middleware 05m
  • Exercício: O que é um middleware em uma aplicação de backend?
  • Aula em vídeo: Curso Backend #15 - Introdução ao JWT pt.1 09m
  • Exercício: Qual é o principal propósito do JWT (JSON Web Token) na segurança de um backend?
  • Aula em vídeo: Curso Backend #16 - Implantando JWT pt.1 17m
  • Exercício: Qual é uma prática recomendada ao implementar geração e validação de tokens JWT em um projeto backend?
  • Aula em vídeo: Curso Backend #17 - Implantando JWT - Verify pt.2 11m
  • Aula em vídeo: Curso Backend #18 - Implantando JWT - Middleware pt.3 18m
  • Exercício: Qual é a principal finalidade do middleware quando se trata de autenticação com JWT em um backend?
  • Aula em vídeo: Curso Backend #19 - Implantando JWT - Middleware pt.4 07m
  • Exercício: Qual a finalidade de verificar o JWT (JSON Web Token) em uma API?
  • Aula em vídeo: Curso Backend #20 - Implantando JWT - Filtro no Middleware pt.5 13m
  • Exercício: Durante o processo de refatoração do código, por que é importante transformar serviços em singletons?
  • Aula em vídeo: Curso Backend #21 - Middlewares Customizados por API 17m
  • Exercício: O que é um handler em um contexto de desenvolvimento de backend utilizando Dart?
  • Aula em vídeo: Curso Backend #22 - Criando Injetor de Dependências do Zero 31m
  • Exercício: Qual é o propósito de utilizar injeção de dependência em um projeto de backend em Dart?
  • Aula em vídeo: Curso Backend #23 - Encapsulando a Segurança por Handler 10m
  • Exercício: No desenvolvimento de um backend utilizando Dart, qual seria uma abordagem comum para adicionar segurança aos endpoints da API?
  • Aula em vídeo: Curso Backend #24 - Organizando as Injeções de Dependências e Responsabilidades 10m
  • Exercício: Qual o principal objetivo ao aplicar uma refatoração no código de uma aplicação?
  • Aula em vídeo: Curso Backend #25 - Introdução ao Banco de Dados (NoSQL x SQL) 07m
  • Exercício: Qual é a principal diferença entre bancos de dados relacionais (SQL) e bancos de dados não relacionais (NoSQL)?
  • Aula em vídeo: Curso Backend #26 - Introdução ao Docker, Docker Compose e MySQL 09m
  • Exercício: Qual das seguintes ferramentas é frequentemente recomendada para desenvolvedores back-end para criar ambientes de desenvolvimento consistentes em diferentes sistemas operacionais?
  • Aula em vídeo: Curso Backend #27 - Iniciando o Banco de Dados no Docker 09m
  • Exercício: Qual é a função de um 'auto-increment' em uma tabela de banco de dados?
  • Aula em vídeo: Curso Backend #28 - Introdução ao SQL 13m
  • Exercício: Quais são os comandos básicos utilizados para manipulação de dados em um banco de dados relacional?
  • Aula em vídeo: Curso Backend #29 - Principais Comandos SQL 19m
  • Exercício: Qual é a prática recomendada ao escrever consultas SQL para melhor legibilidade?
  • Aula em vídeo: Curso Backend #30 - Conectando o Projeto Dart ao MySQL 12m
  • Exercício: Qual é a principal função da biblioteca 'mysql1' ao configurar um projeto em Dart com banco de dados MySQL?
  • Aula em vídeo: Curso Backend #31 - Criando Abstração BD Connection 12m
  • Exercício: Qual é a principal vantagem de centralizar a configuração do banco de dados em um único ponto da aplicação durante o desenvolvimento backend com Dart?
  • Aula em vídeo: Curso Backend #32 - Mapeando modelos da Consulta SQL 09m
  • Exercício: Por que é importante evitar manipulações diretas com a senha do usuário ao criar uma aplicação backend?
  • Aula em vídeo: Curso Backend #33 - DAO Pattern, isolando as consultas 21m
  • Exercício: Qual é o padrão de projeto discutido na aula e o que ele visa abstrair?
  • Aula em vídeo: Curso Backend #34 - Criando o CRUD do usuário 26m
  • Exercício: Ao implementar operações básicas em um projeto backend com Dart, qual ação deve ser validada pela quantidade de linhas afetadas após a execução?
  • Aula em vídeo: Curso Backend #35 - API de Usuário Ponta a Ponta 23m
  • Exercício: O que é uma 'classe de serviço' no contexto da programação de backend?
  • Aula em vídeo: Curso Backend #36 - Aplicando HASH nas senhas 09m
  • Exercício: Qual é a principal vantagem de aplicar técnicas de hash em senhas antes de armazená-las no banco de dados?
  • Aula em vídeo: Curso Backend #37 - Integrando Login API com o Banco e HASH - pt1 15m
  • Exercício: Qual é o objetivo principal do método de autenticação implementado no contexto de backend em Dart?
  • Aula em vídeo: Curso Backend #38 - Integrando Login API com o Banco e HASH - pt2 07m
  • Exercício: No processo de autenticação descrito, qual valor indica que o usuário não foi autenticado corretamente?
  • Aula em vídeo: Curso Backend #39 - Implementando Noticias Service e DAO 24m
  • Exercício: Qual é o objetivo principal da refatoração discutida na aula do curso de Dart Black Angel?
  • Aula em vídeo: Curso Backend #40 - Finalizando a API de Noticias RESTful 19m
  • Exercício: Qual é o código de status HTTP que indica que um recurso foi criado com sucesso após uma requisição POST?
  • Aula em vídeo: Curso Backend #41 - CORS 13m
  • Exercício: Qual é o propósito do mecanismo CORS em aplicações web?
  • Aula em vídeo: Curso Backend #42 - Deploy1: Cloud Computing 10m
  • Exercício: Qual é uma vantagem da computação em nuvem em comparação com servidores físicos tradicionais?
  • Aula em vídeo: Curso Backend #43 - Deploy2: Conhecendo o GCP 13m
  • Exercício: Ao criar uma instância de máquina virtual no Google Cloud Platform (GCP) utilizando o nível gratuito, qual característica a instância obrigatoriamente precisa ter para ser qualificada como gratuita?
  • Aula em vídeo: Curso Backend #44 - Deploy3: Instalando o Servidor MySQL 12m
  • Exercício: Qual é a função do comando 'sudo apt-get update' no contexto da instalação de pacotes no sistema Debian?
  • Aula em vídeo: Curso Backend #45 - Deploy4: Instalação do Dart e Deploy 17m
  • Exercício: Qual é um dos procedimentos necessários para configurar o ambiente de desenvolvimento em Dart no Linux?

Este curso gratuito inclui:

10 horas e 35 minutos de curso online em vídeo

Certificado digital de conclusão de curso ( Gratuito )

Exercícios para treinar seus conhecimentos

100% gratuito, do conteúdo ao certificado

Pronto para começar?Baixe o app e comece hoje mesmo.

Instale o app agora

para ter acesso ao curso
Ícone representando cursos de tecnologia e negócios

+ de 5.000 cursos gratuitos

Programação, Inglês, Marketing Digital e muito mais! Aprenda o que quiser, gratuitamente.

Ícone de calendário com alvo representando planejamento de estudos

Plano de estudos com IA

A Inteligência Artificial do nosso aplicativo pode criar um cronograma de estudos para o curso que você escolher.

Ícone de profissional representando carreira e negócios

Do zero ao Sucesso profissional

Melhore seu currículo com nosso Certificado gratuito e depois utilize nossa Inteligência Artificial para buscar seu emprego dos sonhos.

Você também pode utilizar o QR Code ou os Links abaixo

QR Code - Baixar Cursa - Cursos Online

Mais cursos gratuitos em Programação back-end

Ebook + Áudiobooks gratuitos! Aprenda ouvindo ou lendo!

Baixe o Aplicativo agora para ter acesso a + de 5000 cursos gratuitos, exercícios, certificado e muito conteúdo sem pagar nada!

  • Cursos online 100% gratuitos do início ao fim

    Milhares de cursos online em vídeo, ebooks e áudiobooks.

  • Mais de 60 mil exercícios gratuitos

    Para testar seus conhecimentos no decorrer dos cursos online

  • Certificado Digital gratuito válido em todo o Brasil

    Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail

Aplicativo Cursa na tela de ebook, na tela de curso em vídeo e na tela de exercícios do curso, mais o certificado de conclusão de curso