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

PACOTES NO NPM (aproximado, 2024)
React
~120.000
Vue
~50.000
Svelte
~8.000
Angular
~35.000

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

ReactSvelte
shadcn/uishadcn-svelte
Radix UIMelt UI, Bits UI
Chakra UISkeleton UI
Material UISmelte (abandonado)
Ant Design
Headless UIHeadless Svelte

Forms

ReactSvelte
React Hook FormSuperforms
Formikfelte
Zod + RHFZod + Superforms

Estado

ReactSvelte
ReduxStores nativos
ZustandStores nativos
JotaiStores nativos
TanStack QueryTanStack Query (funciona!)

Tabelas

ReactSvelte
TanStack TableTanStack Table (funciona!)
AG GridAG Grid (funciona!)
React Tablesvelte-headless-table

Animação

ReactSvelte
Framer MotionTransições nativas + Motion One
React Springsvelte/motion (spring/tweened)
GSAPGSAP (funciona!)

Ícones

ReactSvelte
React Iconssvelte-icons, lucide-svelte
Heroicons ReactHeroicons (direto)
Phosphor ReactPhosphor 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)

VAGAS - Plataformas de emprego (Global)
React
~85.000
Vue
~25.000
Angular
~30.000
Svelte
~3.000

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

SATISFACAO (% que usaria novamente)
Svelte
89%
Solid
88%
Qwik
84%
React
71%
Vue
70%
Angular
53%

Interesse em Aprender

INTERESSE (% que quer aprender)
Svelte
73%
Solid
71%
Qwik
65%
React
47%

Quando Escolher React

✅ Escolha React quando:

  1. Ecossistema é crítico

    • Precisa de componentes muito específicos
    • Integração com ferramentas enterprise (Salesforce, etc)
  2. Time grande com rotatividade

    • Mais fácil encontrar devs
    • Mais recursos de aprendizado
  3. Requisitos corporativos

    • Empresa exige “frameworks estabelecidos”
    • Compliance/auditoria prefere maior adoção
  4. Projeto existente em React

    • Migração raramente vale a pena
  5. React Native necessário

    • Svelte Native existe mas é menos maduro

Quando Escolher Svelte

✅ Escolha Svelte quando:

  1. Performance importa

    • Landing pages (conversão!)
    • E-commerce
    • Mobile web
    • Mercados emergentes (conexões lentas)
  2. Bundle size importa

    • Widgets embeddable
    • Micro-frontends
    • Progressive Web Apps
  3. DX é prioridade

    • Projeto greenfield
    • Time pequeno/médio
    • Prototipação rápida
  4. Menos boilerplate desejado

    • Startups movendo rápido
    • MVPs
    • Projetos pessoais
  5. Projeto fullstack

    • SvelteKit é excelente para SSR
    • Mais simples que Next.js

Migração: É Possível?

React → Svelte

ESTRATEGIAS DE MIGRACAO

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

TEMPO PARA PRODUTIVIDADE

Dev React aprendendo Svelte

~1-2 semanas

(conceitos similares, sintaxe mais simples)

Dev Svelte aprendendo React

~3-4 semanas

(hooks, Virtual DOM, mais conceitos)

Dev iniciante aprendendo Svelte

~2-3 semanas

Dev iniciante aprendendo React

~4-6 semanas

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:

  1. Aprenda Svelte primeiro — conceitos mais fáceis
  2. Depois aprenda React — mais vagas, mais recursos
  3. Resultado — você entende ambas abordagens

✅ Desafio da Aula

Reflexão

Responda mentalmente (ou escreva):

  1. Seu contexto atual:

    • Trabalha com qual framework?
    • Está buscando emprego ou mantendo projeto?
    • Time pequeno ou grande?
  2. Seu próximo projeto:

    • Requisitos de performance?
    • Precisa de biblioteca específica?
    • Prazo apertado?
  3. 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