Muito tempo atrás, quando precisei fazer algumas interfaces para web, e mobile, aprendi javascript (e typescript), um pouco de Html e css (e sass,less,etc...). O problema é que eu nunca gostei muito da forma de programar para a web. Com o tempo, eu passei a entender como as coisas funcionavam e, mesmo não gostando das regras e limitações, acabei desenvolvendo algumas aplicações pequenas, e alguns projetos pessoais. Typescript me ajudou um pouco a conseguir atingir os objetivos, e poder usar typescript para desenvolver para mobile foi uma experiência muito gratificante. Depois de alguns meses, ainda coloquei um aplicativo ionic em um ambiente electron, para gerar os aplicativos desktop.
Alguns anos depois, resolvi tentar aprender a usar um framework, para ver como eu me saíria. Olhei para react, mas a sintaxe e quantidade de boilerplate realmente me deixaram confuso. Não conseguia entender como as coisas funcionavam. Depois fui para VUE e descobri uma forma mais simples, e interessante de se fazer as coisas. nesse framework eu ainda podia importar os componentes de forma gradual, o que para mim, na época, foi uma coisa muito boa de se usar. Fiz algumas aplicações, e tentei usar, mas para mim ainda estava fora da minha realidade como desenvolvedor (back-end e console applications).
Mas, como programar web está na minha lista de desejos, eu preciso aprender, pelo menos uma forma de cosneguir programar para essa plataforma. Então ouvi falar de svelte, e fiquei intrigado em saber um pouco mais sobre como isso funciona. E para minha surpresa, svelte não é um framework que é executado no browser, mas um compilador. E ele gera um código em otimizado, e pronto para publicar.
Além de tudo isso, ele ainda tem funções para animação, e as animações são geradas em CSS, sem usar js (mas, voê sempre pode colocar a sua função, e executar em js se quiser).
Como ele compila as coisas, você também não precisa se preocupar com as classes não usadas, porque ele remove, mantendo sempre o menor código possível.
Agora vem uma coisa interessante: Ele é muito mais rápido que react, e quando eu digo muito eu quero dizer MUITO. Ele não trabalha com virtual dom, mas com o dom real, só que de uma forma muito otimizada.
No meu próximo fim de semana, eu vou montar um projeto simples para entender como isso tudo funciona, e como eu posso colocar esse processo de build diretamente em um CI/CD, já hosteando em algum lugar como netlify. Isso deve ser o suficiente para conseguir continuar com o projeto madeira, ainda que esteja na fase inicial, este pode ser um modo muito interessante de se criar as interfaces.