|
|
4 months ago | |
|---|---|---|
| .. | ||
| 1-getting-started-lessons | 5 months ago | |
| 2-js-basics | 7 months ago | |
| 3-terrarium | 7 months ago | |
| 4-typing-game | 7 months ago | |
| 5-browser-extension | 7 months ago | |
| 6-space-game | 7 months ago | |
| 7-bank-project | 7 months ago | |
| 8-code-editor/1-using-a-code-editor | 7 months ago | |
| 9-chat-project | 7 months ago | |
| 10-ai-framework-project | 7 months ago | |
| Git-Basics | 7 months ago | |
| docs | 7 months ago | |
| lesson-template | 4 months ago | |
| memory-game | 7 months ago | |
| quiz-app | 7 months ago | |
| .co-op-translator.json | 4 months ago | |
| AGENTS.md | 4 months ago | |
| CODE_OF_CONDUCT.md | 7 months ago | |
| CONTRIBUTING.md | 7 months ago | |
| README.md | 4 months ago | |
| Roadmap.md | 6 months ago | |
| SECURITY.md | 7 months ago | |
| SUPPORT.md | 7 months ago | |
| _404.md | 7 months ago | |
| for-teachers.md | 7 months ago | |
README.md
Desenvolvimento Web para Iniciantes - Um Currículo
Aprenda os fundamentos do desenvolvimento web com o nosso curso abrangente de 12 semanas pelos Microsoft Cloud Advocates. Cada uma das 24 lições aprofunda-se em JavaScript, CSS e HTML através de projetos práticos como terrários, extensões de navegador e jogos espaciais. Participe em quizzes, discussões e tarefas práticas. Melhore as suas competências e otimize a retenção do conhecimento com a nossa pedagogia eficaz baseada em projetos. Comece a sua jornada de programação hoje!
Junte-se ao Discord do Azure AI Foundry e conheça especialistas e outros desenvolvedores.
Siga estes passos para começar a usar estes recursos:
- Fork o Repositório: Clique
- Clone o Repositório:
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git - Junte-se ao Discord do Azure AI Foundry e conheça especialistas e outros desenvolvedores
🌐 Suporte Multilíngue
Suportado via GitHub Action (Automatizado e Sempre Atualizado)
Arabic | Bengali | Bulgarian | Burmese (Myanmar) | Chinese (Simplified) | Chinese (Traditional, Hong Kong) | Chinese (Traditional, Macau) | Chinese (Traditional, Taiwan) | Croatian | Czech | Danish | Dutch | Estonian | Finnish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Kannada | Khmer | Korean | Lithuanian | Malay | Malayalam | Marathi | Nepali | Nigerian Pidgin | Norwegian | Persian (Farsi) | Polish | Portuguese (Brazil) | Portuguese (Portugal) | Punjabi (Gurmukhi) | Romanian | Russian | Serbian (Cyrillic) | Slovak | Slovenian | Spanish | Swahili | Swedish | Tagalog (Filipino) | Tamil | Telugu | Thai | Turkish | Ukrainian | Urdu | Vietnamese
Prefere Clonar Localmente?
Este repositório inclui mais de 50 traduções que aumentam significativamente o tamanho do download. Para clonar sem as traduções, utilize o checkout esparso:
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á-lhe tudo o que precisa para completar o curso com um download muito mais rápido.
Se desejar traduções adicionais, as línguas suportadas estão listadas aqui
🧑🎓 É estudante?
Visite a página Student Hub onde encontrará recursos para iniciantes, pacotes para estudantes e até formas de obter um voucher gratuito para certificado. Esta é a página que deve adicionar aos favoritos e consultar regularmente, pois o conteúdo é atualizado mensalmente.
📣 Anúncio - Novos desafios do modo GitHub Copilot Agent para completar!
Novo desafio adicionado, procure por "GitHub Copilot Agent Challenge 🚀" na maioria dos capítulos. Este é um novo desafio para completar usando o GitHub Copilot e o modo Agent. Se nunca usou o modo Agent antes, ele é capaz não só de gerar texto, mas também pode criar e editar ficheiros, executar comandos e mais.
📣 Anúncio - Novo Projeto para construir usando IA Generativa
Novo projeto de Assistente AI acabado de adicionar, veja o projeto
📣 Anúncio - Novo Currículo sobre IA Generativa para JavaScript acaba de ser lançado
Não perca o nosso novo currículo sobre IA Generativa!
Visite https://aka.ms/genai-js-course para começar!
- Lições que cobrem desde o básico até RAG.
- Interaja com personagens históricos usando GenAI e a nossa app acompanhante.
- Narrativa divertida e envolvente, irá viajar no tempo!
Cada lição inclui uma tarefa para completar, uma verificação de conhecimento e um desafio para guiá-lo na aprendizagem de tópicos como:
- Prompting e engenharia de prompts
- Geração de aplicações de texto e imagem
- Aplicações de pesquisa
Visite https://aka.ms/genai-js-course para começar!
🌱 Começar
Professores, incluímos algumas sugestões sobre como usar este currículo. Apreciaríamos o seu feedback no nosso fórum de discussão!
Alunos, para cada lição, comece com um quiz pré-enciclopédia e continue lendo o material da aula, completando as várias atividades e verificando a sua compreensão com o quiz pós-enciclopédia.
Para melhorar a sua experiência de aprendizagem, conecte-se com os seus colegas para trabalharem juntos nos projetos! São incentivadas discussões no nosso fórum de discussão onde a nossa equipa de moderadores estará disponível para responder às suas perguntas.
Para aprofundar os seus conhecimentos, recomendamos vivamente explorar Microsoft Learn para materiais de estudo adicionais.
📋 Configurar o seu ambiente
Este currículo tem um ambiente de desenvolvimento pronto a usar! Ao começar, pode optar por executar o currículo num Codespace (um ambiente baseado no navegador, sem necessidade de instalações), ou localmente no seu computador usando um editor de texto como o Visual Studio Code.
Crie o seu repositório
Para guardar facilmente o seu trabalho, é recomendado que crie a sua própria cópia deste repositório. Pode fazer isso clicando no botão Use this template no topo da página. Isto criará um novo repositório na sua conta GitHub com uma cópia do currículo.
Siga estes passos:
- Fork o Repositório: Clique no botão "Fork" no canto superior direito desta página.
- Clone o Repositório:
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
Executar o currículo num Codespace
Na sua cópia do repositório que criou, clique no botão Code e selecione Open with Codespaces. Isto vai criar um novo Codespace para si trabalhar.
Executar o currículo localmente no seu computador
Para correr este currículo localmente no seu computador, irá necessitar de um editor de texto, um navegador e uma ferramenta de linha de comandos. A nossa primeira lição, Introdução a Linguagens de Programação e Ferramentas do Ofício, irá guiá-lo por várias opções para cada uma destas ferramentas para que possa selecionar aquilo que funciona melhor para si.
A nossa recomendação é usar o Visual Studio Code como editor, que também tem um Terminal integrado. Pode descarregar o Visual Studio Code aqui.
-
Clone o seu repositório para o seu computador. Pode fazer isso 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
📂 Cada aula inclui:
- sketchnote opcional
- vídeo complementar opcional
- quiz de preparação 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, um total de 48 quizzes com três perguntas cada. Estão disponíveis aqui e a app de quizzes pode ser executada localmente ou implantada no Azure; siga as instruções na pasta
quiz-app.
🗃️ Aulas
| Nome do Projeto | Conceitos Ensinados | Objetivos de Aprendizagem | Aula Associada | Autor | |
|---|---|---|---|---|---|
| 01 | A Começar | Introdução à Programação e Ferramentas do Ofício | Conhecer os fundamentos básicos por trás da maioria das linguagens de programação e sobre software que ajuda os programadores profissionais | Intro às Linguagens de Programação e Ferramentas do Ofício | Jasmine |
| 02 | A Começar | Noções básicas de GitHub, incluindo trabalho em equipa | Como usar GitHub no seu projeto e como colaborar com outros numa base de código | Intro ao GitHub | Floor |
| 03 | A Começar | Acessibilidade | Aprender os conceitos básicos sobre acessibilidade web | Fundamentos de Acessibilidade | Christopher |
| 04 | Noções de JS | Tipos de Dados em JavaScript | Os fundamentos dos tipos de dados em JavaScript | Tipos de Dados | Jasmine |
| 05 | Noções 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 | Noções de JS | Tomar Decisões com JS | Aprender a criar condições no seu código usando métodos de tomada de decisão | Tomar Decisões | Jasmine |
| 07 | Noções de JS | Arrays e Loops | Trabalhar com dados usando arrays e ciclos em JavaScript | Arrays e Loops | Jasmine |
| 08 | Terrário | HTML na Prática | Construir o HTML para criar um terrário online, focando na criaçã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 nos conceitos básicos de CSS, incluindo tornar a página responsiva | Introdução ao CSS | Jen |
| 10 | Terrário | Fechos em JavaScript, manipulação do DOM | Construir o JavaScript para fazer o terrário funcionar como uma interface drag/drop, focando em fechos e manipulação do DOM | Fechos em JavaScript, manipulação do DOM | Jen |
| 11 | Jogo da Digitação | Construir um Jogo de Digitação | Aprender como usar eventos do teclado para conduzir a lógica da sua aplicação JavaScript | Programação Orientada a Eventos | Christopher |
| 12 | Extensão Verde para Navegadores | Trabalhar com Navegadores | Aprender como funcionam os navegadores, sua história e como estruturar os primeiros elementos de uma extensão para navegador | Sobre Navegadores | Jen |
| 13 | Extensão Verde para Navegadores | Construir um formulário, chamar uma API e armazenar variáveis no armazenamento local | Construir os elementos em JavaScript da sua extensão de navegador para chamar uma API usando variáveis armazenadas localmente | APIs, Formulários e Armazenamento Local | Jen |
| 14 | Extensão Verde para Navegadores | Processos em segundo plano no navegador, desempenho web | Usar os processos em segundo plano do navegador para gerir o ícone da extensão; aprender sobre desempenho web e otimizações para melhorar performance | Tarefas em Segundo Plano e Desempenho | Jen |
| 15 | Jogo Espacial | Desenvolvimento de Jogos Mais Avançado 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 | Detecção de colisões | Fazer elementos colidirem e reagirem uns com os outros usando pressões de tecla e fornecer uma função cooldown para garantir o desempenho do jogo | Detecção de Colisões | Chris |
| 19 | Jogo Espacial | Contar pontos | Realizar cálculos matemáticos baseados no estado e desempenho do jogo | Contagem de Pontos | Chris |
| 20 | Jogo Espacial | Terminar e reiniciar o jogo | Aprender sobre terminar e reiniciar o jogo, incluindo limpar recursos e redefinir valores das variáveis | Condição de Termino | Chris |
| 21 | App Bancário | Templates HTML e Rotas numa App Web | Aprender como criar a estrutura de um website multipágina usando rotas e templates HTML | Templates HTML e Rotas | Yohan |
| 22 | App Bancário | Construir um Formulário de Login e Registo | Aprender sobre construir formulários e gerir rotinas de validação | Formulários | Yohan |
| 23 | App Bancário | Métodos para Obter e Usar Dados | Como os dados entram e saem da sua aplicação, como obtê-los, armazená-los e descartá-los | Dados | Yohan |
| 24 | App Bancário | Conceitos de Gestão de Estado | Aprender como a sua aplicação retém estado e como geri-lo programaticamente | Gestão de Estado | Yohan |
| 25 | Código Browser/VScode | Trabalhar com VScode | Aprender a usar um editor de código | Usar o Editor de Código VScode | Chris |
| 26 | Assistentes AI | Trabalhar com AI | Aprender a construir o seu próprio assistente AI | Projeto Assistente AI | Chris |
🏫 Pedagogia
O nosso currículo foi desenhado 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 ferramentas e técnicas mais recentes usadas pelos desenvolvedores web atuais. Os alunos terão a oportunidade de ganhar experiência prática construindo um jogo de digitação, um terrário virtual, uma extensão de navegador ecológica, um jogo ao estilo invasores do espaço e uma aplicação bancária para empresas. No final da série, os alunos terão adquirido um sólido entendimento 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 em JavaScript para introduzir conceitos, acompanhadas de um vídeo da coleção de tutoriais em vídeo "Série para Iniciantes em: JavaScript", alguns dos quais os seus 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 maior retenção. Este currículo foi desenhado para ser flexível e divertido e pode ser feito total ou parcialmente. Os projetos começam pequenos e tornam-se progressivamente mais complexos até ao fim do ciclo de 12 semanas.
Embora tenhamos evitado intencionalmente introduzir frameworks JavaScript para nos concentrar nas habilidades básicas necessárias como desenvolvedor web antes de adotar um framework, o 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 de Código de Conduta e Contribuições. Agradecemos o seu feedback construtivo!
🧭 Acesso Offline
Pode executar esta documentação offline usando Docsify. Faça um fork deste repositório, instale o Docsify na sua máquina local e depois, na pasta raiz deste repositório, digite docsify serve. O website será servido na porta 3000 no seu localhost: localhost:3000.
Um PDF de todas as lições pode ser encontrado aqui.
🎒 Outros Cursos
A nossa equipa produz outros cursos! Veja:
LangChain
Azure / Edge / MCP / Agentes
Série de IA Generativa
Aprendizagem Central
Série Copilot
Obter Ajuda
Se ficar preso ou tiver alguma dúvida sobre como criar aplicações de IA. Junte-se a outros aprendizes e programadores experientes em discussões sobre o MCP. É uma comunidade solidária onde as perguntas são bem-vindas e o conhecimento é partilhado livremente.
Se tiver feedback sobre o produto ou encontrar erros durante o desenvolvimento, visite:
Licença
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, por favor tenha em atenção que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes da utilização desta tradução.


