Le principali differenze tra web front-end (come Spring MVC) e rich client (e RIA come JavaFX) è che per il web front-end server-side la logica viene eseguita nella stessa JVM del framework Web mentre per i rich client la logica lato server e il client sono in esecuzione su 2 JVM separate, una sulla macchina server e una sulla macchina client.
I client di solito vengono scaricati/installati completamente prima che l'utente possa eseguirlo, mentre per i front-end Web ogni pagina HTML viene eventualmente creata prima in modo dinamico e quindi inviata all'utente in base alle esigenze.
Poiché l'utente di solito ha già il rich client completo dall'inizio, solo i dati effettivi (DTO) vengono inviati avanti e indietro utilizzando un tipo di servizio remoto, ad esempio Web Services.
Questo significa che il client JavaFX non può accedere agli oggetti del server (ad esempio entità JPA collegate). È necessario avvolgere i dati e inviarli al client JavaFX utilizzando un tipo di servizio (vedere i modelli di progettazione di Facade Facade e DTO).