actually, you can do everything with js
js web api-s have become so powerful (web animation instead of css)
of course you have to know what dom is (and there is cssom as well, modifiable via js)
but it took me some time to realize all you need is js (and understand what js-async really is)... actually I love the js async model for UI
the only problem is that js is a scripting language... some may use typescript for stronger types but what I would love to have and will never come since all web API is for js is a new language...
however, you can use webassembly for critical frontend tasks (like stockfish chess engine on lichess) or actually last time I checked V8 was so optimized that good js code was practically not inferior to webassebly or native...