You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
7.0 KiB
137 lines
7.0 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "947ca5ce7c94aee9c7de7034e762bc17",
|
|
"translation_date": "2025-10-22T23:07:41+00:00",
|
|
"source_file": "3-terrarium/3-intro-to-DOM-and-closures/assignment.md",
|
|
"language_code": "br"
|
|
}
|
|
-->
|
|
# Tarefa de Investigação de Elementos do DOM
|
|
|
|
## Visão Geral
|
|
|
|
Agora que você experimentou o poder da manipulação do DOM em primeira mão, é hora de explorar o mundo mais amplo das interfaces do DOM. Esta tarefa irá aprofundar seu entendimento sobre como diferentes tecnologias web interagem com o DOM, além de apenas arrastar elementos.
|
|
|
|
## Objetivos de Aprendizagem
|
|
|
|
Ao concluir esta tarefa, você será capaz de:
|
|
- **Pesquisar** e entender uma interface específica do DOM em profundidade
|
|
- **Analisar** implementações reais de manipulação do DOM
|
|
- **Conectar** conceitos teóricos a aplicações práticas
|
|
- **Desenvolver** habilidades em documentação técnica e análise
|
|
|
|
## Instruções
|
|
|
|
### Passo 1: Escolha sua Interface do DOM
|
|
|
|
Visite a [lista abrangente de interfaces do DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model) no MDN e selecione uma interface que lhe interesse. Considere escolher entre estas categorias para maior variedade:
|
|
|
|
**Opções para Iniciantes:**
|
|
- `Element.classList` - Gerenciamento dinâmico de classes CSS
|
|
- `Document.querySelector()` - Seleção avançada de elementos
|
|
- `Element.addEventListener()` - Manipulação de eventos além de eventos de ponteiro
|
|
- `Window.localStorage` - Armazenamento de dados no lado do cliente
|
|
|
|
**Desafios Intermediários:**
|
|
- `Intersection Observer API` - Detectando visibilidade de elementos
|
|
- `MutationObserver` - Monitorando mudanças no DOM
|
|
- `Drag and Drop API` - Alternativa à abordagem baseada em ponteiros
|
|
- `Geolocation API` - Acessando a localização do usuário
|
|
|
|
**Exploração Avançada:**
|
|
- `Web Components` - Elementos personalizados e Shadow DOM
|
|
- `Canvas API` - Gráficos programáticos
|
|
- `Web Workers` - Processamento em segundo plano
|
|
- `Service Workers` - Funcionalidade offline
|
|
|
|
### Passo 2: Pesquise e Documente
|
|
|
|
Crie uma análise abrangente (300-500 palavras) que inclua:
|
|
|
|
#### Visão Técnica
|
|
- **Defina** o que sua interface escolhida faz em uma linguagem clara e acessível para iniciantes
|
|
- **Explique** os principais métodos, propriedades ou eventos que ela oferece
|
|
- **Descreva** os tipos de problemas que ela foi projetada para resolver
|
|
|
|
#### Implementação no Mundo Real
|
|
- **Encontre** um site que utilize sua interface escolhida (inspecione o código ou pesquise exemplos)
|
|
- **Documente** a implementação específica com trechos de código, se possível
|
|
- **Analise** por que os desenvolvedores escolheram essa abordagem
|
|
- **Explique** como isso melhora a experiência do usuário
|
|
|
|
#### Aplicação Prática
|
|
- **Compare** sua interface com as técnicas que usamos no projeto do terrário
|
|
- **Sugira** como sua interface poderia melhorar ou expandir a funcionalidade do terrário
|
|
- **Identifique** outros projetos onde essa interface seria valiosa
|
|
|
|
### Passo 3: Exemplo de Código
|
|
|
|
Inclua um exemplo de código simples e funcional que demonstre sua interface em ação. Este exemplo deve ser:
|
|
- **Funcional** - O código deve funcionar corretamente quando testado
|
|
- **Comentado** - Explique o que cada parte faz
|
|
- **Relevante** - Conectado a um caso de uso realista
|
|
- **Acessível para iniciantes** - Compreensível para alguém que está aprendendo desenvolvimento web
|
|
|
|
## Formato de Submissão
|
|
|
|
Estruture sua submissão com títulos claros:
|
|
|
|
```markdown
|
|
# [Interface Name] DOM Investigation
|
|
|
|
## What It Does
|
|
[Technical overview]
|
|
|
|
## Real-World Example
|
|
[Website analysis and implementation details]
|
|
|
|
## Code Demonstration
|
|
[Your working example with comments]
|
|
|
|
## Reflection
|
|
[How this connects to our terrarium project and future applications]
|
|
```
|
|
|
|
## Rubrica de Avaliação
|
|
|
|
| Critério | Exemplar (A) | Proficiente (B) | Em Desenvolvimento (C) | Necessita Melhorar (D) |
|
|
|----------|---------------|----------------|----------------|----------------------|
|
|
| **Compreensão Técnica** | Demonstra compreensão profunda com explicações precisas e terminologia adequada | Mostra boa compreensão com explicações majoritariamente precisas | Compreensão básica com algumas falhas | Compreensão limitada com erros significativos |
|
|
| **Análise do Mundo Real** | Identifica e analisa detalhadamente uma implementação real com exemplos específicos | Encontra um exemplo real com análise adequada | Localiza um exemplo, mas a análise carece de profundidade | Conexão vaga ou imprecisa com o mundo real |
|
|
| **Exemplo de Código** | Código funcional, bem comentado, que demonstra claramente a interface | Código funcional com comentários adequados | Código funciona, mas precisa de melhor documentação | Código com erros ou explicação insuficiente |
|
|
| **Qualidade da Escrita** | Escrita clara e envolvente com estrutura adequada e comunicação técnica | Bem organizado com boa escrita técnica | Organização e clareza adequadas | Organização ruim ou comunicação confusa |
|
|
| **Pensamento Crítico** | Faz conexões perspicazes entre conceitos e sugere aplicações inovadoras | Mostra bom pensamento analítico e conexões relevantes | Alguma análise presente, mas poderia ser mais profunda | Evidências limitadas de pensamento crítico |
|
|
|
|
## Dicas para o Sucesso
|
|
|
|
**Estratégias de Pesquisa:**
|
|
- **Comece** com a documentação do MDN para informações confiáveis
|
|
- **Procure** exemplos de código no GitHub ou CodePen
|
|
- **Verifique** sites populares usando ferramentas de desenvolvedor do navegador
|
|
- **Assista** a vídeos tutoriais para explicações visuais
|
|
|
|
**Diretrizes de Escrita:**
|
|
- **Use** suas próprias palavras em vez de copiar a documentação
|
|
- **Inclua** exemplos específicos e trechos de código
|
|
- **Explique** conceitos técnicos como se estivesse ensinando a um amigo
|
|
- **Conecte** sua interface a conceitos mais amplos de desenvolvimento web
|
|
|
|
**Ideias para Exemplos de Código:**
|
|
- **Crie** uma demonstração simples que destaque os principais recursos da interface
|
|
- **Construa** com base nos conceitos do nosso projeto do terrário, quando relevante
|
|
- **Foque** na funcionalidade em vez do design visual
|
|
- **Teste** seu código para garantir que funcione corretamente
|
|
|
|
## Prazo de Entrega
|
|
|
|
[Insira o prazo aqui]
|
|
|
|
## Dúvidas?
|
|
|
|
Se precisar de esclarecimentos sobre qualquer aspecto desta tarefa, não hesite em perguntar! Esta investigação irá aprofundar seu entendimento sobre como o DOM possibilita as experiências interativas na web que usamos todos os dias.
|
|
|
|
---
|
|
|
|
**Aviso Legal**:
|
|
Este documento foi traduzido usando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos pela precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução. |