2.7 — Ecossistema e Mercado de Trabalho
Uma análise honesta de quando escolher cada framework.
Objetivos da Aula
- Comparar ecossistemas de bibliotecas
- Analisar mercado de trabalho
- Entender quando escolher Svelte vs React
Tamanho dos Ecossistemas
Mas Quantidade ≠ Qualidade
O ecossistema Svelte é menor, porém:
- Mais curado — menos bibliotecas abandonadas
- Svelte geralmente não precisa de muitas bibliotecas
- Bibliotecas JS vanilla funcionam facilmente
Bibliotecas Essenciais: Equivalências
UI Components
| React | Svelte |
|---|---|
| shadcn/ui | shadcn-svelte |
| Radix UI | Melt UI, Bits UI |
| Chakra UI | Skeleton UI |
| Material UI | Smelte (abandonado) |
| Ant Design | — |
| Headless UI | Headless Svelte |
Forms
| React | Svelte |
|---|---|
| React Hook Form | Superforms |
| Formik | felte |
| Zod + RHF | Zod + Superforms |
Estado
| React | Svelte |
|---|---|
| Redux | Stores nativos |
| Zustand | Stores nativos |
| Jotai | Stores nativos |
| TanStack Query | TanStack Query (funciona!) |
Tabelas
| React | Svelte |
|---|---|
| TanStack Table | TanStack Table (funciona!) |
| AG Grid | AG Grid (funciona!) |
| React Table | svelte-headless-table |
Animação
| React | Svelte |
|---|---|
| Framer Motion | Transições nativas + Motion One |
| React Spring | svelte/motion (spring/tweened) |
| GSAP | GSAP (funciona!) |
Ícones
| React | Svelte |
|---|---|
| React Icons | svelte-icons, lucide-svelte |
| Heroicons React | Heroicons (direto) |
| Phosphor React | Phosphor Svelte |
O Que Svelte Tem Nativamente
<!-- Coisas que React precisa de biblioteca, Svelte tem built-in -->
<!-- Transições e Animações -->
{#if visible}
<div transition:fade>Aparece suavemente</div>
{/if}
<!-- Motion (spring/tweened) -->
<script>
import { spring } from 'svelte/motion'
const coords = spring({ x: 0, y: 0 })
</script>
<!-- Stores (estado global) -->
<script>
import { writable, derived } from 'svelte/store'
</script>
<!-- CSS com escopo -->
<style>
/* Escopo automático */
</style>
<!-- Two-way binding -->
<input bind:value={name} />
<!-- Tratamento de promessas -->
{#await fetchData()}
<Spinner />
{:then data}
<Data {data} />
{:catch error}
<Error {error} />
{/await} Mercado de Trabalho
Vagas (dados aproximados 2024)
Realidade do Mercado Svelte
Menos vagas, mas:
- Menos concorrência por vaga
- Empresas que usam Svelte são mais modernas
- Salários competitivos (às vezes maiores)
- Projetos geralmente mais interessantes
Empresas usando Svelte:
- The New York Times
- Apple (algumas ferramentas)
- Spotify (alguns projetos)
- IKEA
- Rakuten
- Square
- IBM
- GoDaddy
- Philips Hue
- 1Password
Satisfação dos Desenvolvedores
State of JS Survey 2023
Interesse em Aprender
Quando Escolher React
✅ Escolha React quando:
Ecossistema é crítico
- Precisa de componentes muito específicos
- Integração com ferramentas enterprise (Salesforce, etc)
Time grande com rotatividade
- Mais fácil encontrar devs
- Mais recursos de aprendizado
Requisitos corporativos
- Empresa exige “frameworks estabelecidos”
- Compliance/auditoria prefere maior adoção
Projeto existente em React
- Migração raramente vale a pena
React Native necessário
- Svelte Native existe mas é menos maduro
Quando Escolher Svelte
✅ Escolha Svelte quando:
Performance importa
- Landing pages (conversão!)
- E-commerce
- Mobile web
- Mercados emergentes (conexões lentas)
Bundle size importa
- Widgets embeddable
- Micro-frontends
- Progressive Web Apps
DX é prioridade
- Projeto greenfield
- Time pequeno/médio
- Prototipação rápida
Menos boilerplate desejado
- Startups movendo rápido
- MVPs
- Projetos pessoais
Projeto fullstack
- SvelteKit é excelente para SSR
- Mais simples que Next.js
Migração: É Possível?
React → Svelte
1. Big Bang (Reescrever tudo)
- Risco alto
- Funciona para projetos pequenos
2. Strangler Pattern
- Novas features em Svelte
- Gradualmente substitui partes React
- Micro-frontends podem ajudar
3. Hibrido
- svelte-adapter-react permite usar Svelte em React
- Ou React em Svelte via Web Components
Curva de Aprendizado
Dev React aprendendo Svelte
(conceitos similares, sintaxe mais simples)
Dev Svelte aprendendo React
(hooks, Virtual DOM, mais conceitos)
Dev iniciante aprendendo Svelte
Dev iniciante aprendendo React
Investimento de Carreira
Se você só conhece React:
Aprender Svelte vai:
- ✅ Expandir sua visão de frameworks
- ✅ Tornar você melhor dev React (entende alternativas)
- ✅ Abrir portas para projetos interessantes
- ✅ Ser relativamente rápido (~2 semanas)
Se você está começando:
Recomendação:
- Aprenda Svelte primeiro — conceitos mais fáceis
- Depois aprenda React — mais vagas, mais recursos
- Resultado — você entende ambas abordagens
✅ Desafio da Aula
Reflexão
Responda mentalmente (ou escreva):
Seu contexto atual:
- Trabalha com qual framework?
- Está buscando emprego ou mantendo projeto?
- Time pequeno ou grande?
Seu próximo projeto:
- Requisitos de performance?
- Precisa de biblioteca específica?
- Prazo apertado?
Sua decisão:
- Svelte, React, ou ambos fazem sentido?
- O que você precisa aprender?
Para Pesquisar
- Verifique vagas de Svelte na sua região
- Veja se as bibliotecas que você usa têm versão Svelte
- Experimente converter um componente React pequeno para Svelte
📚 Recursos
Próxima aula: 2.8 — SvelteKit vs Next.js