Svelte

Svelte
AutorRich Harris
DesenvolvedoresMantenedores do Svelte e vários contribuidores. Incluindo Rich Harris, Conduitry, Tan Li Hau, Ben McCann e Simon Holthausen
Lançamento inicial26 de novembro de 2016 (9 anos)
Lançamento estável
5.38.3[1] Edit this on Wikidata / 23 agosto 2025
Repositóriosveltejs/svelte no GitHub
PlataformaWeb
TipoFramework para aplicações web
LicençaLicença MIT
Websitesvelte.dev

Svelte é um framework de software front-end baseado em componentes, livre e de código aberto, [2] e uma linguagem [3] criada por Rich Harris e mantida pela equipe do Svelte.[4]

Diferente de bibliotecas JavaScript monolíticas importadas por aplicações, o Svelte compila templates HTML em código especializado que manipula o DOM diretamente, o que pode reduzir o tamanho dos arquivos transferidos e melhorar o desempenho no cliente.[5] O código também é processado pelo compilador, que insere chamadas para atualizar dados automaticamente[2] e renderizar novamente os elementos da interface quando os dados dos quais eles dependem forem modificados.[6] Isso evita ainda problemas associados às camadas intermediárias de runtime (do inglês, "tempo de execução"), como o DOM virtual,[7] ao contrário dos frameworks tradicionais (como React e Vue) que executam grande parte do processamento em runtime, ou seja, diretamente no navegador durante a execução da aplicação.[5][6][4][8][2][7]

O compilador por si só é escrito em JavaScript,[9][8] possui licença MIT e seu código-fonte está disponível no GitHub.[8] Entre as bibliotecas front-end comparáveis, o Svelte apresenta um dos menores tamanhos de bundle, com apenas 2 KB.[10]

História

Antecessor do Svelte, o Ractive.js foi criado por Rich Harris em 2013.[11]

A versão 1 do Svelte, desenvolvida em JavaScript, foi lançada em 29 de novembro de 2016.[carece de fontes?] O nome "Svelte" (em tradução livre: "esbelto" ou "esguio") foi escolhido por Rich e seus colegas de trabalho da época no jornal britânico The Guardian.[carece de fontes?]

A versão 2 do Svelte foi lançada em 19 de abril de 2018, se propondo a corrigir o que os mantenedores consideravam como falhas da versão inicial, assim substituindo chaves duplas por chaves simples, por exemplo.[carece de fontes?]

A versão 3 do Svelte, desenvolvida em TypeScript, foi lançada em 21 de abril de 2019, trazendo uma nova forma de se pensar em reatividade ao usar um compilador para gerar um código sólido e entregar uma experiência de usuário superior. [2]

O metaframework SvelteKit foi anunciado em outubro de 2020 e entrou em fase beta em março de 2021.[12] O SvelteKit 1.0 foi lançado em dezembro de 2022 após dois anos de desenvolvimento.[13]

A versão 4 do Svelte foi lançada em 22 de junho de 2023. Considerada uma versão de manutenção, menor e mais rápida que a versão 3,[14] parte desse lançamento apresenta a migração do código interno, anteriormente escrito em TypeScript, de volta para JavaScript, incluindo agora anotações de tipagem através do JSDoc.[9] Essa mudança gerou confusão entre parte da comunidade de desenvolvedores, acarretando no criador do Svelte, Rich Harris, vindo a público explicar o caso e as mudanças na prática.[15][16]

A versão 5 do Svelte foi lançada em 19 de outubro de 2024 durante o evento Svelte Summit Fall 2024, com Rich Harris realizando o lançamento ao vivo junto de outros mantenedores do projeto. O Svelte 5 apresenta uma reescrita completa do Svelte, alterando conceitos centrais como reatividade e reutilização de código.[17] Sua principal novidade, as runes ("runas" em inglês), reformularam a forma como estados reativos são declarados e utilizados. Runes são macros que se comportam como funções e servem para declarar estados reativos ou trechos de código que dependem desses estados. O compilador utiliza essas runes para identificar valores que podem ser alterados e que são referenciados por outros estados ou pelo DOM.[18] O Svelte 5 também introduziu os Snippets, trechos de código reutilizáveis, definidos uma única vez e que podem ser reutilizados em qualquer parte de um componente.[19] Inicialmente, o Svelte 5 gerou controversas devido à introdução de mudanças significativas e descontinuações causadas principalmente pela adoção das runes. Contudo, a maior parte dessas críticas diminuiu após o anúncio inicial e o aprimoramento contínuo da nova versão.[carece de fontes?]

Também durante o Svelte Summit Fall 2024, o mantenedor Ben McCann anunciou o Svelte CLI, disponibilizado no npm sob o pacote "sv".[20]

o início de 2025, a equipe do Svelte anunciou o Asynchronous Svelte ("Svelte Assíncrono" em inglês), um conjunto experimental de recursos focado em reatividade assíncrona no Svelte, utilizando expressões expressões async/await.[21] A partir de agosto de 2025, esse recurso passou a estar disponível por meio de uma opção experimental do compilador,[22] coincidindo com o lançamento da versão experimental das funções remotas, recurso de RPC introduzido no SvelteKit.[23]

Entre os principais colaboradores iniciais do projeto estão Conduitry, que se juntou ao time no lançamento da primeira versão do Svelte, Tan Li Hau, que ingressou em 2019, e Ben McCann, em 2020.[carece de fontes?] Rich Harris e Simon Holthausen se juntaram à Vercel para trabalhar em tempo integral no Svelte em 2022,[24] e Dominic Gannaway entrou para a empresa em 2023, vindo da equipe principal do React, também para trabalhar integralmente no Svelte.[25]

Projetos associados

SvelteKit
Lançamento inicial14 de dezembro de 2022 (3 anos)
Lançamento estável
1.15.5[26][27] Edit this on Wikidata / 13 abril 2023
Repositóriosveltejs/kit no GitHub
PlataformaWeb
TipoMetaframework
LicençaLicença MIT
Websitesvelte.dev/docs/kit

Os mantenedores do projeto criaram ainda o SvelteKit como a forma oficial de desenvolver projetos com Svelte. Ele é um framework no estilo do Next.js que reduz drasticamente a quantidade de código enviada ao navegador. Antes do SvelteKit, os mantenedores haviam desenvolvido o Sapper, que serviu como seu antecessor.[28]

A equipe do Svelte também mantém diversas integrações oficiais sob a organização do Svelte, incluindo suporte para Vite, Rollup, Webpack, TypeScript, VS Code, Chrome DevTools, ESLint e Prettier.[29]

Além disso, vários projetos externos, como o Storybook, também oferecem suas próprias integrações com o Svelte e o SvelteKit.

Referências

  1. «svelte@5.38.3 - Github». 23 agosto 2025 
  2. a b c d Harris, Rich (22 de abril de 2019). «Svelte 3: Rethinking reactivity». svelte.dev (em inglês). Consultado em 7 de agosto de 2021 
  3. Harris, Rich (26 de novembro de 2018). «The truth about Svelte». GitHub Gist (em inglês). Consultado em 21 de dezembro de 2022 
  4. a b Krill, Paul (December 2, 2016). «Slim, speedy Svelte framework puts JavaScript on a diet». InfoWorld  Verifique data em: |data= (ajuda)
  5. a b «React vs. Svelte, the JavaScript build-time framework». react-etc.net 
  6. a b «Svelte 3 Front-End Framework Moves Reactivity into the JavaScript Language, Q&A with Rich Harris». InfoQ 
  7. a b Harris, Rich (27 de dezembro de 2018). «Virtual DOM is pure overhead». svelte.dev (em inglês) 
  8. a b c «GitHub - sveltejs/svelte: Cybernetically enhanced web apps». January 11, 2020 – via GitHub  Verifique data em: |data= (ajuda)
  9. a b «TS to JSDoc Conversion #8569». GitHub.com 
  10. Frontendeng.dev (1 de agosto de 2023). «Svelte vs React: Which framework is better?». frontendeng.dev (em inglês) 
  11. Świstak, Tomasz (19 de novembro de 2020). «About the Svelte JavaScript framework». Blog. ValueLogic (em inglês). Consultado em 10 de junho de 2021. Cópia arquivada em 27 de março de 2022 
  12. Harris, Rich (23 de março de 2021). «SvelteKit is in public beta». svelte.dev (em inglês). Consultado em 3 de agosto de 2021 
  13. «Accouncing SvelteKit 1.0». 14 de dezembro de 2022. Consultado em 16 de dezembro de 2022 
  14. team, The Svelte (22 de junho de 2023). «Announcing Svelte 4». svelte.dev (em inglês). Consultado em 8 de agosto de 2023 
  15. «TS to JSDoc Conversion». Hacker News (news.ycombinator.com). 10 de maio de 2023 
  16. «Lordy, I did not expect an internal refactoring PR to end up #1 on Hacker News. ...». Hacker News (news.ycombinator.com). 10 de maio de 2023 
  17. «Svelte 5 is alive». svelte.dev. 22 October 2024  Verifique data em: |data= (ajuda)
  18. «Introducing runes». svelte.dev. 20 September 2023  Verifique data em: |data= (ajuda)
  19. «{#snippet ...}». Docs. svelte.dev 
  20. McCann, Ben (24 de outubro de 2024). «Introducing the new Svelte CLI». svelte.dev (em inglês). Consultado em 20 de dezembro de 2024 
  21. Harris, Rich (28 de abril de 2025). «Asynchronous Svelte · sveltejs/svelte · Discussion #15845» 
  22. «await • Docs • Svelte». Consultado em 13 de agosto de 2025 
  23. Holthausen, Simon (17 de junho de 2025). «Remote Functions · sveltejs/kit · Discussion #13897» 
  24. Harris, Rich (Nov 11, 2021). «today is a big day for @sveltejs: i've joined @vercel to work on it full time!». Twitter (em inglês). Consultado em 4 de setembro de 2022 
  25. «trueadm/status/1640761270566633472». X (formerly Twitter) (em inglês). Consultado em 30 de setembro de 2023 
  26. «@sveltejs/kitTypeScript icon, indicating that this package has built-in type declarations1.15.5». Consultado em 26 novembro 2024 
  27. «@sveltejs/kit@1.15.5». Consultado em 26 novembro 2024 
  28. Harris, Rich (December 31, 2017). «Sapper: Towards the ideal web app framework». svelte.dev (em inglês). Consultado em 29 de novembro de 2022  Verifique data em: |data= (ajuda)
  29. «Svelte». GitHub (em inglês). Consultado em 3 de agosto de 2021