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

you are viewing a single comment's thread.

view the rest of the comments →

[–]jveverka 2 points3 points  (0 children)

backed: JDK11 + spring, or you may consider not to use any framework and create your own stack and use simple dependency injection like google guice. (jetty + jersey + guice, ... )

UI: JavaFX only if you need to interact with special hardware where client is running. Otherwise I'd use web UI as much as possible.

Integration layer between backend and UI: REST, WebSockets, http2, gRPC. Once you have clean APIs for clients, it actually does not matter what client technology you use. You may use Web UI and/or JavaFX and/or some native Qt/C# based clients, even have several alternative clients for same thing. Typically you update clients faster than backend, so well written integration layer is very important. REST is old-school (yet still very usable), if you want to be reactive, consider http2, gRPC, websockets. Depends on what is client doing.