I've been doing this for a while, after being sick of all those poor quality JavaScript frameworks and it works perfectly fine.
Usually the "main" JavaScript framework code is bloated, but kind of working, but as soon as you need some add-on or extension you are entering bug hell.
I'll just write the code in Scala, and have the assurance that it works without having to deal with unmaintained, bug-filled JavaScript libraries.
My server code is running Scala on the JVM on the server, which is JITted down with all the magic of the JVM into native, and running full steam.
My client code is cross compiled javascript that the browser does it's thing client side.
The magic is:
1) Both parts are the same codebase, I can share data objects and logic between platforms
2) I get actual static typing on everything. Not some kind of fake static typing like coffeescript. So just the fact that my code compiles makes my code roughly equal to a mess of Javascript with a bunch of tests hitting the happy path.
3) I get to write in an actual decent language, not Javasript, the worse language to ever write in.
Javascript is the new assembly. It's great, but I never want to touch it! If I can touch a higher level language, why wouldn't I?