JavaFX code is compiled to
Java bytecode, then packaged into a jar file (on a dev computer, then transfered to the server). The jar file is then sent by the server to the browser.
It is executed on the client side, by the local JVM and automatically downloaded JavaFX runtime.
So, it is client side but users cannot see the JavaFX code, unlike JavaScript.
Books: I suggest to search Amazon or similar for JavaFX, there is now 3 or 4 books on the topic.
Tutorials: see
Learn JavaFX - FAQs, Tutorials, and APIs | Get Started with Java FX page for a good start, there are many other good tutorials and articles on the Web too.