Introdução ao React
Módulo 1: Fundamentos do React
História e Evolução do React
Como o React evoluiu desde 2011 até hoje
História e Evolução do React
Timeline do React
2011 - O Início
- Jordan Walke, engenheiro do Facebook, cria o primeiro protótipo
- Problema: Interface do Facebook estava ficando complexa demais
- Necessidade de uma solução para gerenciar estado de UI complexa
2012 - Desenvolvimento Interno
- React sendo usado internamente no Facebook
- Instagram é adquirido pelo Facebook e começa a usar React
- Primeiros testes em produção com milhões de usuários
2013 - Open Source
- Maio: React é open-sourced na JSConf US 2013
- Comunidade inicialmente cética sobre JSX
- Primeira versão pública: v0.3.0
2014 - Crescimento
- Introdução do React Developer Tools
- Primeira React Conference (ReactConf 2014)
- Netflix adota React para sua interface
2015 - React Native
- Março: Lançamento do React Native
- "Learn once, write anywhere"
- Mesmos princípios do React para mobile
2016 - Fiber (v15)
- React v15 introduz melhorias significativas
- Início do desenvolvimento do React Fiber
- Melhor suporte para componentes funcionais
2017 - Fiber Architecture (v16)
- Setembro: React v16 com nova arquitetura Fiber
- Melhor performance e capacidade de priorização
- Introdução de Error Boundaries
- Suporte para fragmentos
2018 - Hooks Revolution (v16.8)
- Fevereiro: Introdução dos React Hooks
- Revolução na forma de escrever componentes
useState,useEffecte outros hooks built-in- Componentes funcionais ganham superpoderes
2020 - Concurrent Features
- React v17 - Primeira versão "sem novas features"
- Foco na estabilidade e migração gradual
- Preparação para Concurrent React
2022 - React 18
- Março: React v18 com Concurrent Features
- Automatic Batching
- Suspense para Server-Side Rendering
startTransitionpara atualizações não urgentes
2023-2024 - React Server Components
- React Server Components em produção
- Next.js 13+ App Router
- Melhor integração servidor-cliente
Marcos Importantes
JSX - A Revolução Sintática
// Antes (JavaScript puro)
React.createElement('div', null,
React.createElement('h1', null, 'Hello World')
);
// Depois (JSX)
<div>
<h1>Hello World</h1>
</div>
Hooks - Mudança de Paradigma
// Antes (Class Components)
class Counter extends Component {
constructor(props) {
super(props);
this.state = { count: 0 };
}
render() {
return <div>{this.state.count}</div>;
}
}
// Depois (Hooks)
function Counter() {
const [count, setCount] = useState(0);
return <div>{count}</div>;
}
Impacto na Indústria
Mudança de Paradigma
- Popularizou componentes como unidade fundamental
- Influenciou Vue.js, Angular e outras bibliotecas
- Trouxe programação funcional para o mainstream
Ecossistema Robusto
- Redux - Gerenciamento de estado
- React Router - Roteamento
- Next.js - Framework full-stack
- Gatsby - Gerador de sites estáticos
- React Native - Desenvolvimento mobile
Adoção Empresarial
- Mais de 10 milhões de sites usam React
- 74% dos desenvolvedores front-end conhecem React
- Tecnologia mais amada segundo Stack Overflow Survey
Filosofia do React
Princípios Fundamentais
-
Composição sobre Herança
- Componentes pequenos e reutilizáveis
- Composição para criar UIs complexas
-
Unidirecional Data Flow
- Dados fluem de pai para filho
- Estado centralizado e previsível
-
Declarativo vs Imperativo
- Descreva o estado final desejado
- React cuida das atualizações
-
Learn Once, Write Anywhere
- Mesmos conceitos para web, mobile e desktop
- Transferência de conhecimento
O Futuro do React
Trends Atuais
- React Server Components: Renderização no servidor
- Concurrent Features: Melhor UX com atualizações inteligentes
- Suspense: Carregamento de dados mais elegante
- React Forget: Otimizações automáticas de performance
Próximos Passos
Na próxima aula, vamos colocar a mão na massa e configurar nosso ambiente de desenvolvimento para começar a programar em React!
Pesquisa: Empresas que Usam React
Atividade de pesquisa sobre empresas que utilizam React em produção
Atividade: Empresas que Usam React
Objetivo
Pesquisar e documentar empresas que utilizam React em suas aplicações, entendendo como a tecnologia é aplicada em diferentes contextos de negócio.
Instruções
Parte 1: Pesquisa (30 minutos)
Pesquise 5 empresas diferentes que utilizam React e documente as seguintes informações para cada uma:
- Nome da empresa
- Setor de atuação (e-commerce, streaming, redes sociais, etc.)
- Como utilizam React (site principal, painel administrativo, app web, etc.)
- Por que escolheram React (se houver informação disponível)
- URL do site/aplicação
Parte 2: Análise (15 minutos)
Para cada empresa pesquisada, visite o site/aplicação e observe:
- Performance: O site carrega rapidamente?
- Interatividade: Quais elementos são interativos?
- Design: Como é a experiência do usuário?
- Funcionalidades: Que recursos chamam atenção?
Parte 3: Reflexão (15 minutos)
Responda às seguintes perguntas:
- Que tipos de aplicações se beneficiam mais do React?
- Há algum padrão comum entre as empresas que usam React?
- Que funcionalidades você acha que seriam difíceis de implementar sem React?
- Qual aplicação mais te impressionou e por quê?
Empresas Sugeridas (caso precise de inspiração)
- Streaming: Netflix, Disney+, Amazon Prime Video
- Redes Sociais: Facebook, Instagram, WhatsApp Web
- E-commerce: Airbnb, Shopify, Mercado Livre
- Produtividade: Trello, Asana, Notion
- Financeiro: PayPal, Stripe, Nubank
- Educação: Khan Academy, Coursera, Udemy
- Tecnologia: GitHub, GitLab, Vercel
Formato de Entrega
Crie um documento (pode ser em markdown, Word, ou Google Docs) com o seguinte formato:
# Pesquisa: Empresas que Usam React
## Empresa 1: [Nome]
- **Setor**: [setor]
- **Uso do React**: [descrição]
- **Motivo**: [se disponível]
- **URL**: [link]
- **Observações**: [sua análise]
## Empresa 2: [Nome]
...
## Reflexões
1. **Tipos de aplicações que se beneficiam do React**:
[sua resposta]
2. **Padrões comuns**:
[sua resposta]
3. **Funcionalidades que dependem do React**:
[sua resposta]
4. **Aplicação mais impressionante**:
[sua resposta]
Recursos Úteis
- React Showcase - Site oficial do React
- BuiltWith React - Detector de tecnologias
- GitHub Topics: React - Projetos open source
- Stack Share - Empresas que usam React
Tempo Estimado
⏱️ 1 hora total
Próxima Aula
Na próxima aula, vamos configurar nosso ambiente de desenvolvimento e criar nossa primeira aplicação React!