Minha experiência maior é com desenvolvimento backend, seja sistema web clássico (SSR), APIs (REST e SOAP) ou jobs agendados. Tenho apenas 1 experiência em que fui dev mobile (React Native) e 1 em que fui fullstack (o frontend era Angular).
No caso de desenvolvimento mobile, assim como desenvolvimento desktop, não há o que discutir. É absolutamente necessário um framework desses pra desenvolver.
No caso de desenvolvimento web, só em 2 situações que senti a necessidade de um framework frontend desses. A primeira foi o projeto em Angular, que mencionei.
A segunda foi em um projeto ASP.NET MVC (que é SSR clássico), em que uma determinada tela precisava da criação de elementos na DOM de maneira dinâmica e dependendo dos inputs. Implementei isso com o jQuery (que já vem no boilerplate do ASP.NET MVC), mas foi um sacrifício, muito complicado.
Lembro que pensei que se estivesse usando um framework desses, essa ação seria muito mais simples. Porém, optei por não adicionar nenhum pois complicaria o restante do sistema só por conta dessa tela.
Não conhecia o htmx na época, mas teria sido muito mais simples adicionar o htmx só nessa tela pra fazer isso.
Muito interessante, acho que você viu ambos os casos que citei, onde um framework era necessário e onde talvez uma biblioteca menor fosse o ideal. É interessante ver como em muitos casos equipes escolhem um grande framework para projetos que como o seu em Asp apenas requerem uma tela de certa interatividade. E gostei muito da sua consideração sobre htmx para esse caso.
Foi o uso de htmx e Alpine js que me fizeram realizar essa pergunta já verdade. Utilizá-los para substituir um framework em um grande projeto comercial foi uma grande decisão pra mim e que teve impactos positivos muito maiores do que eu imagiva.
Muito obrigado por compartilhar sua experiência!
Quem usa JQuery nos dias de hoje gosta de sofrer, não vejo ele mais necessário há mais de 5 anos!
Porém, optei por não adicionar nenhum pois complicaria o restante do sistema só por conta dessa tela.
Vue e React são Progressivos, ou seja, se você quiser adicionar em apenas uma tela, ou até em apenas uma div vc consegue. Não é algo trivial, vai importar uma bazooka para matar uma formiga, mas em um caso que daria muito estresse vamos de bazooka mesmo!