One of the main reasons I switched to Neovim was the advertised Remote Plugin architecture. From that link:
Extensibility is a primary goal of Nvim. Any programming language may be used to extend Nvim without changes to Nvim itself. This is achieved with remote plugins, coprocesses that have a direct communication channel (via |RPC|) with the Nvim process.
I’ve never really liked Vim Script, tho admittedly I never spent too much time to learn it. And there are a million reason why, which I won’t get into here.
Well one language I use daily is Typescript, but setting it all up can be confusing. So I created a little boilerplate repository with everything setup so all you have to do is get to coding !
The code and instructions are over here.