Well, the other end of things is that generally, what people are after with deeply complex Vision scripts is the ability to customize appearance - which is instantly easier in a web context thanks to CSS. With better support for custom themes on the way, it’s only going to get better - even over and above style classes, you’ll be able to provide a custom theme that automatically styles your entire project - and CSS can do customization far beyond just coloring elements.
For the other things, such as customizing behavior, yes, there are limitations - you aren’t able to totally customize things as you can in Vision - but, also keep in mind that Perspective/8.0 hasn’t even been out for a year, compared to Vision’s ~decade lifespan. If things go according to plan, we’ll soon have first-party components or combinations of settings that cover 99% of the functionality you would want to customize - and then for those rare exceptions, custom modules are still available to you.
And, for what it’s worth, if you know Python, JS isn’t a far leap - or, if you want a really nice experience, you can develop with TypeScript (which we use in Perspective) - it’s the dynamic nature of Python, but with many of the advantages of a strong type system like Java has.