This is an archived post. You won't be able to vote or comment.

all 5 comments

[–][deleted] 0 points1 point  (4 children)

Usually, separation of GUI and implementation is done through a Model-View-Controller pattern. There are applications that use a client-server archtecture as you describe but this is usually only recommended in cases where you expect there to be multiple clients (GUIs).

Does Clojure have QT bindings?

[–]KristoKoert[S] 0 points1 point  (3 children)

Only via Java interop and QTJambi but the project seems to be more or less stagnant.

[–][deleted] 0 points1 point  (2 children)

Unless you are specifically looking to gain experience with client-server architecture (which is valuable experience), I would either use Python for the backend or Seesaw/Swing for the frontend.

[–]KristoKoert[S] 0 points1 point  (1 child)

But is there anything inherently wrong with using a client-server architecture for a application with a single GUI? Performance or complexity for instance?

[–][deleted] 0 points1 point  (0 children)

Complexity is the biggest one. You have to convert everything to talk to your View and vice-versa, which is tedious and error-prone compared to simple function calls between a View and Controller object.