Svelte - É ou não é um framework?
Recentemente fui convidado por uma empresa para trabalhar e aprender um pouco sobre o Svelte, famoso novo framework que tem mais ou menos 7 anos de vida!
Pra entender um pouco sobre o Svelte, aqui vai um breve resumo: Svelte é um framework JavaScript de código aberto criado por Rich Harris. Ele foi lançado em novembro de 2016, tornando-se público em março de 2017. Desde então, tem ganhado popularidade e se estabelecido como uma opção poderosa para o desenvolvimento de aplicações web interativas e de alto desempenho.
Ao contrário de muitos outros frameworks JavaScript, que executam a maior parte do trabalho em tempo de execução no navegador, o Svelte utiliza uma abordagem diferente chamada "compilação em tempo de construção" ou "compilação anticipada". Isso significa que o código Svelte é traduzido para JavaScript otimizado durante a etapa de compilação, gerando um resultado mais eficiente e leve em termos de desempenho.
O Svelte permite que os desenvolvedores criem interfaces de usuário reativas de maneira declarativa, utilizando sintaxe semelhante a HTML, JavaScript e CSS. Ele fornece recursos como estados reativos, propriedades, lógica condicional, laços de repetição e manipulação de eventos, facilitando o desenvolvimento de aplicações complexas.
A principal vantagem do Svelte é a redução do tamanho do pacote final da aplicação, uma vez que grande parte do trabalho pesado é feito em tempo de compilação. Isso resulta em carregamentos mais rápidos e melhor experiência do usuário. Além disso, o Svelte é compatível com a maioria das bibliotecas e frameworks JavaScript existentes.
Em resumo, o Svelte é um framework JavaScript moderno e eficiente para a construção de aplicações web reativas. Seu principal diferencial é a compilação anticipada, que traz vantagens de desempenho e facilidade de desenvolvimento ao criar interfaces de usuário interativas e responsivas.
Mas então, qual o sentido da minha pergunta visto que eu mesmo disse que é um framework JavaScript!? Existem visões diferentes sobre o assunto e até mesmo sobre essa questão?
E você, usa ou já usou o Svelte em projetos grandes e complexos?
Estou começando a estudar para utilizar em projetos no Hospital SUS onde sou Coordenador de TI / Programador, não tenho equipe de desenvolvimento e como preciso treinar meu supervisor comigo sera a equipe / dupla de desenvolvedores fora as demais atribuições, me interessei pelo Svelte em detrimento do ReactJS (até cogitei Flutter) porque o Svelte me parece mais fácil para treinar uma equipe com pouco ou nenhum conhecimento para desenvolvimento de sistemas internos de apoio. Principalmente pelo fato que pelo que já li usando SvelteKit posso desenvolver tanto frontend como backend. Ainda tenho algumas dúvidas sobre o SvelteKit por exemplo se no mesmo projeto posso ter o server e backend juntos e apenas separar um e outro durante o deploy, mas tenho que estudar mais. A intenção é integrar com o Keycloak para gerenciar autenticação e permissões e este integrado via LDAP com meu servidor de e-mail. A idéia é utilizar SvelteKit para todos sistemas internos de apoio do Hospital, como por exemplo gerenência e aprovação de transferência de colaboradores entre unidades de saúde. Assim que tiver algo mais consistente posto aqui para compartilhar com todos.
Atualmente estou usando svelte em 2 projetos. Um pequeno, profissional. E outro sideproject msmo. Estou gostando. Como vim do Angular, estou gostando mto da perfomance.
Outra lib que está me chamando mto a atenção é o HTMX. Tenho feito uns experimentos e me parece promissor.