9 pontos por GN⁺ 2023-09-21 | 4 comentários | Compartilhar no WhatsApp
  • O Svelte 5 introduz um recurso chamado Runes para melhorar a reatividade do JavaScript
  • Em 2019, o Svelte 3 transformou o JavaScript em uma linguagem reativa
    • Usando o compilador para converter componentes declarativos em JavaScript otimizado
  • O Runes aplica essa reatividade em todos os lugares
    • Aplicado em forma de função, como em let count = $state(0);
    • De reatividade em tempo de compilação para reatividade em tempo de execução
  • Com o Runes, a reatividade se expande além dos limites dos arquivos .svelte, simplificando o processo de encapsular lógica entre componentes para reutilização
  • A nova versão do Svelte funciona com base em Signals, como o Knockout usava no passado. A implementação é um pouco diferente por ser tratada como implementação interna, e não por ação direta
  • Introduz os runes $derived e $effect, que determinam as dependências das expressões quando são avaliados, melhorando a reatividade em tempo de execução
  • O Runes torna vários conceitos existentes desnecessários, simplificando o framework Svelte e facilitando a construção e manutenção de apps
  • O objetivo é ser um substituto viável para a maioria dos usuários, e os novos recursos poderão ser usados de forma opcional, garantindo que os componentes existentes continuem funcionando
  • A data de lançamento do Svelte 5 ainda não foi definida, e o trabalho continua em andamento

4 comentários

 
ryuheechul 2023-09-21
 
rjcnd105 2023-09-21

Parece que foi muito influenciado pelo Qwik

 
GN⁺ 2023-09-21
Comentários do Hacker News
  • O artigo discute o lançamento do Svelte 5 e, em especial, o novo recurso "Runes".
  • Alguns comentaristas comparam os novos recursos do Svelte com o estado e as variáveis derivadas/calculadas do Vue e do Solid.
  • Há um debate sobre os efeitos dos sinais reativos, e alguns argumentam que isso pode causar a confusão de mudanças que afetam outras mudanças.
  • Alguns usuários expressam preocupação com o novo recurso "Runes", argumentando que ele parece mais com código genérico do que antes e pode causar confusão.
  • Há um sentimento de desconforto com a mudança, e alguns usuários temem que o Svelte esteja ficando complexo demais e perdendo sua simplicidade.
  • Um comentarista sugere que o Svelte poderia manter a sintaxe tradicional e convertê-la em segundo plano para funcionar de forma semelhante ao novo recurso.
  • Há uma discussão sobre o ponto forte único do Svelte, de agir como uma linguagem com um compilador personalizado, e alguns se preocupam com o fato de ele estar se parecendo mais com frameworks JavaScript tradicionais.
  • Alguns usuários expressam frustração com o fato de outras bibliotecas estarem recriando independentemente os mesmos conceitos reativos, o que reduz a compatibilidade e torna mais difícil trocar de framework no futuro.
  • Alguns comentaristas dizem estar felizes com a remoção de $:, afirmando que isso ajudará usuários de Typescript e evitará confusão de sintaxe.
  • Há uma pergunta sobre como o Svelte lida com arrays longos e se apenas os elementos de visualização relevantes podem passar por recálculo/atualização granular.
  • Um usuário compartilha um link para comparação entre Svelte 4, Svelte 5 e outros frameworks.
  • Alguns usuários criticam a mudança de posição do Svelte em relação à "reatividade por padrão", dizendo que isso representa uma perda de confiança e um sintoma da tendência do ecossistema Node.js de reinventar e redescobrir coisas.
  • O comentário final sugere que o Svelte está se aproximando mais do React Hooks, mas usando uma etapa de compilação para otimizá-los.
 
wooseop 2023-09-21

Olhando por cima, parece que a direção também mudou em relação ao que existia antes e a sensação de estranhamento bate forte. Fico pensando se era mesmo necessário, e também parece menos conciso; assim como a reação no Hacker News, isso é uma parte que me preocupa um pouco.