Aprende os fundamentos do desenvolvimento web com o nosso curso abrangente de 12 semanas pelos Microsoft Cloud Advocates. Cada uma das 24 lições aprofunda JavaScript, CSS e HTML através de projetos práticos como terrários, extensões de navegador e jogos espaciais. Participa em questionários, discussões e tarefas práticas. Melhora as tuas competências e otimiza a tua retenção de conhecimento com a nossa pedagógica eficaz baseada em projetos. Começa a tua jornada de programação hoje!
Junta-te à Comunidade Discord do Azure AI Foundry
Segue estes passos para começar a usar estes recursos:
- Faz Fork do Repositório: Clica
- Clona o Repositório:
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git - Junta-te ao Discord do Azure AI Foundry e conhece especialistas e outros programadores
Árabe | Bengali | Búlgaro | Birmanês (Myanmar) | Chinês (Simplificado) | Chinês (Tradicional, Hong Kong) | Chinês (Tradicional, Macau) | Chinês (Tradicional, Taiwan) | Croata | Checo | Dinamarquês | Holandês | Estónio | Finlandês | Francês | Alemão | Grego | Hebraico | Hindi | Húngaro | Indonésio | Italiano | Japonês | Kannada | Khmer | Coreano | Lituano | Malaio | Malaiala | Marata | Nepalês | Pidgin Nigeriano | Norueguês | Persa (Farsi) | Polaco | Português (Brasil) | Português (Portugal) | Punjabi (Gurmukhi) | Romeno | Russo | Sérvio (Cirílico) | Eslovaco | Esloveno | Espanhol | Suaíli | Sueco | Tagalo (Filipino) | Tâmil | Telugu | Tailandês | Turco | Ucraniano | Urdu | Vietnamita
Prefere Clonar Localmente?
Este repositório inclui traduções em mais de 50 idiomas, o que aumenta significativamente o tamanho do download. Para clonar sem traduções, usa sparse checkout:
Bash / macOS / Linux:
git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'CMD (Windows):
git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"Isto dá-te tudo o que precisas para completar o curso com um download muito mais rápido.
Se desejas que idiomas adicionais sejam suportados, estão listados aqui
Visita a página Student Hub onde encontrarás recursos para iniciantes, pacotes para estudantes e até formas de obter um voucher gratuito para certificado. Esta é a página que deves guardar nos favoritos e consultar de vez em quando, pois o conteúdo é atualizado mensalmente.
Novo desafio adicionado, procura por "GitHub Copilot Agent Challenge 🚀" na maioria dos capítulos. É um novo desafio para completares usando GitHub Copilot e o modo Agente. Se nunca usaste o modo Agente, ele pode não só gerar texto como criar e editar ficheiros, executar comandos e muito mais.
Novo projeto Assistente IA acaba de ser adicionado, confere o projeto
Não percas o nosso novo currículo de IA Generativa!
Visita https://aka.ms/genai-js-course para começares!
- Lições que cobrem tudo, desde o básico até RAG.
- Interage com personagens históricos usando GenAI e a nossa aplicação acompanhante.
- Narrativa divertida e envolvente, estarás a viajar no tempo!
Cada lição inclui um exercício para completares, um teste de conhecimento e um desafio para te guiar na aprendizagem de tópicos como:
- Prompting e engenharia de prompts
- Geração de aplicações de texto e imagem
- Aplicações de pesquisa
Visita https://aka.ms/genai-js-course para começares!
Professores, incluímos algumas sugestões sobre como usar este currículo. Adoraríamos o vosso feedback no nosso fórum de discussão!
Estudantes, para cada lição, começa com um questionário pré-lectura e segue lendo o material da aula, completando as várias atividades e verifica a tua compreensão com o questionário pós-lectura.
Para melhorar a tua experiência de aprendizagem, conecta-te com os seus pares para trabalharem juntos nos projetos! As discussões são encorajadas no nosso fórum de discussão onde a nossa equipa de moderadores estará disponível para responder às tuas perguntas.
Para aprofundares a tua educação, recomendamos vivamente que explores o Microsoft Learn para materiais de estudo adicionais.
Este currículo tem um ambiente de desenvolvimento pronto a usar! Ao começares, podes optar por executar o currículo num Codespace (um ambiente baseado no navegador, sem necessidade de instalações), ou localmente no teu computador usando um editor de texto como o Visual Studio Code.
Para guardares facilmente o teu trabalho, recomenda-se que cries a tua própria cópia deste repositório. Podes fazer isso clicando no botão Use this template no topo da página. Isso criará um novo repositório na tua conta GitHub com uma cópia do currículo.
Segue estes passos:
- Faz Fork do Repositório: Clica no botão "Fork" no canto superior direito desta página.
- Clona o Repositório:
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
Na tua cópia do repositório que criaste, clica no botão Code e seleciona Open with Codespaces. Isso criará um novo Codespace para trabalhares.
Para executares este currículo localmente no teu computador, precisas de um editor de texto, um navegador e uma ferramenta de linha de comandos. A nossa primeira lição, Introdução às Linguagens de Programação e Ferramentas do Ofício, irá guiar-te por várias opções para cada uma destas ferramentas para selecionares o que melhor te convém.
A nossa recomendação é usar o Visual Studio Code como editor, que também tem um Terminal incorporado. Podes descarregar o Visual Studio Code aqui.
-
Clone o seu repositório para o seu computador. Pode fazer isto clicando no botão Code e copiando a URL:
Depois, abra o Terminal dentro do Visual Studio Code e execute o seguinte comando, substituindo
<your-repository-url>pela URL que acabou de copiar:git clone <your-repository-url>
-
Abra a pasta no Visual Studio Code. Pode fazer isto clicando em File > Open Folder e selecionando a pasta que acabou de clonar.
Extensões recomendadas para o Visual Studio Code:
- Live Server - para pré-visualizar páginas HTML dentro do Visual Studio Code
- Copilot - para ajudar a escrever código mais rapidamente
- sketchnote opcional
- vídeo suplementar opcional
- quiz de aquecimento pré-aula
- aula escrita
- para aulas baseadas em projetos, guias passo-a-passo sobre como construir o projeto
- verificações de conhecimento
- um desafio
- leitura suplementar
- tarefa
- quiz pós-aula
Uma nota sobre quizzes: Todos os quizzes estão contidos na pasta Quiz-app, com um total de 48 quizzes de três perguntas cada. Estão disponíveis aqui e a aplicação de quiz pode ser executada localmente ou implantada no Azure; siga as instruções na pasta
quiz-app.
| Nome do Projeto | Conceitos Ensinados | Objetivos de Aprendizagem | Aula Ligada | Autor | |
|---|---|---|---|---|---|
| 01 | A Começar | Introdução à Programação e Ferramentas do Ofício | Aprender os fundamentos básicos por trás da maioria das linguagens de programação e sobre o software que ajuda desenvolvedores profissionais a fazerem o seu trabalho | Introdução a Linguagens de Programação e Ferramentas do Ofício | Jasmine |
| 02 | A Começar | Noções básicas de GitHub, inclui trabalho em equipa | Como usar o GitHub no seu projeto, como colaborar com outros numa base de código | Introdução ao GitHub | Floor |
| 03 | A Começar | Acessibilidade | Aprender os fundamentos da acessibilidade web | Fundamentos da Acessibilidade | Christopher |
| 04 | Fundamentos de JS | Tipos de Dados em JavaScript | Os fundamentos dos tipos de dados em JavaScript | Tipos de Dados | Jasmine |
| 05 | Fundamentos de JS | Funções e Métodos | Aprender sobre funções e métodos para gerir o fluxo lógico de uma aplicação | Funções e Métodos | Jasmine e Christopher |
| 06 | Fundamentos de JS | Tomando Decisões com JS | Aprender a criar condições no seu código usando métodos de tomada de decisão | Tomando Decisões | Jasmine |
| 07 | Fundamentos de JS | Arrays e Loops | Trabalhar com dados usando arrays e loops em JavaScript | Arrays e Loops | Jasmine |
| 08 | Terrário | HTML na Prática | Construir o HTML para criar um terrário online, focando na construção do layout | Introdução ao HTML | Jen |
| 09 | Terrário | CSS na Prática | Construir o CSS para estilizar o terrário online, focando no básico do CSS incluindo tornar a página responsiva | Introdução ao CSS | Jen |
| 10 | Terrário | Closures em JavaScript, manipulação do DOM | Construir o JavaScript para fazer o terrário funcionar como uma interface de arrastar e largar, focando em closures e manipulação do DOM | Closures em JavaScript, manipulação do DOM | Jen |
| 11 | Jogo de Digitação | Construir um Jogo de Digitação | Aprender a usar eventos do teclado para conduzir a lógica da sua app em JavaScript | Programação Orientada a Eventos | Christopher |
| 12 | Extensão Verde para Navegador | Trabalhar com Browsers | Aprender como os browsers funcionam, a sua história, e como estruturar os primeiros elementos de uma extensão de browser | Sobre Browsers | Jen |
| 13 | Extensão Verde para Navegador | Construir um formulário, chamar uma API e armazenar variáveis localmente | Construir os elementos JavaScript da extensão do browser para chamar uma API usando variáveis armazenadas em local storage | APIs, Formulários e Armazenamento Local | Jen |
| 14 | Extensão Verde para Navegador | Processos em background no browser, performance web | Usar os processos em background do browser para gerir o ícone da extensão; aprender sobre performance web e algumas otimizações para melhorar | Tarefas em Background e Performance | Jen |
| 15 | Jogo Espacial | Desenvolvimento Avançado de Jogos com JavaScript | Aprender sobre Herança usando Classes e Composição e o padrão Pub/Sub, em preparação para construir um jogo | Introdução ao Desenvolvimento Avançado de Jogos | Chris |
| 16 | Jogo Espacial | Desenhar no canvas | Aprender sobre a API Canvas, usada para desenhar elementos num ecrã | Desenhar no Canvas | Chris |
| 17 | Jogo Espacial | Mover elementos pelo ecrã | Descobrir como os elementos podem ganhar movimento usando coordenadas cartesianas e a API Canvas | Mover Elementos | Chris |
| 18 | Jogo Espacial | Detetar colisões | Fazer os elementos colidirem e reagirem uns aos outros usando pressionar de teclas e fornecer uma função de cooldown para garantir o desempenho do jogo | Deteção de Colisões | Chris |
| 19 | Jogo Espacial | Contabilizar pontos | Realizar cálculos matemáticos baseados no estado e desempenho do jogo | Contabilização de Pontos | Chris |
| 20 | Jogo Espacial | Terminar e reiniciar o jogo | Aprender sobre terminar e reiniciar o jogo, incluindo limpar recursos e reiniciar valores de variáveis | Condição de Termino | Chris |
| 21 | App Bancária | Templates HTML e Rotas numa Web App | Aprender como criar a estrutura da arquitetura de um website multipágina usando rotas e templates HTML | Templates HTML e Rotas | Yohan |
| 22 | App Bancária | Construir um Formulário de Login e Registro | Aprender sobre construir formulários e gerir rotinas de validação | Formulários | Yohan |
| 23 | App Bancária | Métodos de Obter e Usar Dados | Como os dados entram e saem da aplicação, como obtê-los, armazená-los e descartá-los | Dados | Yohan |
| 24 | App Bancária | Conceitos de Gestão de Estado | Aprender como a sua app mantém estado e como gerir isso programaticamente | Gestão de Estado | Yohan |
| 25 | Código do Browser/VScode | Trabalhar com VScode | Aprender a usar um editor de código | Usar Editor de Código VScode | Chris |
| 26 | Assistentes de IA | Trabalhar com IA | Aprender a construir o seu próprio assistente de IA | Projeto Assistente de IA | Chris |
O nosso currículo foi concebido com dois princípios pedagógicos fundamentais em mente:
- aprendizagem baseada em projetos
- quizzes frequentes
O programa ensina os fundamentos de JavaScript, HTML e CSS, bem como as últimas ferramentas e técnicas usadas pelos desenvolvedores web de hoje. Os alunos terão a oportunidade de desenvolver experiência prática construindo um jogo de digitação, um terrário virtual, uma extensão de browser ecológica, um jogo estilo invasores do espaço e uma app bancária para negócios. No final da série, os alunos terão adquirido uma sólida compreensão do desenvolvimento web.
🎓 Pode fazer as primeiras aulas deste currículo como um Caminho de Aprendizagem na Microsoft Learn!
Ao garantir que o conteúdo está alinhado com projetos, o processo torna-se mais envolvente para os alunos e a retenção de conceitos será aumentada. Também escrevemos várias aulas introdutórias aos fundamentos de JavaScript para introduzir conceitos, combinadas com um vídeo da coleção de tutoriais em vídeo "Série para Iniciantes em: JavaScript", alguns dos quais os autores contribuíram para este currículo.
Além disso, um quiz de baixo risco antes da aula define a intenção do aluno em aprender um tópico, enquanto um segundo quiz após a aula assegura uma retenção adicional. Este currículo foi desenhado para ser flexível e divertido e pode ser feito na totalidade ou em parte. Os projetos começam pequenos e tornam-se progressivamente mais complexos até ao final do ciclo de 12 semanas.
Embora tenhamos evitado propositadamente introduzir frameworks JavaScript para nos concentrarmos nas habilidades básicas necessárias como desenvolvedor web antes de adotar um framework, um bom próximo passo para completar este currículo seria aprender sobre Node.js através de outra coleção de vídeos: "Série para Iniciantes em: Node.js".
Visite as nossas diretrizes Código de Conduta e Contribuição. Agradecemos o seu feedback construtivo!
Pode executar esta documentação offline usando o Docsify. Faça um fork deste repositório, instale o Docsify na sua máquina local e depois, na pasta raiz deste repositório, escreva docsify serve. O site será servido na porta 3000 no seu localhost: localhost:3000.
Um PDF de todas as lições pode ser encontrado aqui.
A nossa equipa produz outros cursos! Veja:
Se ficar bloqueado ou tiver alguma pergunta sobre como construir aplicações de IA, junte-se a outros alunos e desenvolvedores experientes em discussões sobre MCP. É uma comunidade de apoio onde as perguntas são bem-vindas e o conhecimento é partilhado livremente.
Se tiver comentários sobre o produto ou erros durante a construção, visite:
Este repositório está licenciado sob a licença MIT. Veja o ficheiro LICENSE para mais informações.
Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução automática Co-op Translator. Embora nos esforcemos pela precisão, tenha em conta que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações erradas resultantes do uso desta tradução.


