Question

Im Tryinig to create a networking Java SE application with a user-friendly interface, im so confused about the GUI library (Swing, SWT, JavaFX) and also about the architecture of the application (MVC, PureMVC) can any one, with experience, give me a suggestion about all this, I would be so grateful.

I heard about Griffon but without a good documentation I can not get started.

PS: I google it but nothing interesting.

Was it helpful?

Solution

This are at least three question, a single answer is unlikely to cover all aspects

a) What about GUI-Lib

With any detailed information about your requirements it is hard to say which fits better and why. In short

Swing is pure Java, maybe some what slow, but running where java is fully available (not android for example)

SWT is os-aware, used by eclipse for example. Looks like the os appear and seems to be much faster. Good for Windows, Linux, Mac

JavaFX is not commonly used. As far I know it is required to learn a further language. I have never seen an JavaFX app

b) What about architecture and libs MVC could be a real good concept. However, there so many different opinions about what MVC really is.

pureMVC is a lib supporting an interpretation of MVC

c) What about Grail There are already answers about this aspect.

When you mean with "networking app", client server apps with browser front end, there are lots of technologies supporting this.

  • GWT
  • Captain Casa (JSF)
  • Wicket
  • IceFace (JSF) ... (I guess you will find about 40 technologies in the area)

However, the backend is no more Java SE in such cases.

The are no simple answer (no, there is NO "the best"), you have to investigate your needs, technical implication and than choose the right or better known technology.

This is a hard job without a short cut. Any other approach is gambling, you may win, but usually you lost

OTHER TIPS

Grails is a framework for creating web applications, so if you're trying to create a Java SE (desktop) application, you can forget about Grails.

However, there is a desktop application framework called Griffon that uses the same language as Grails (Groovy), which should be easier than using Swing or SWT.

Grails it's server side framework, designed to build web application. So, if you're making desktop app (event n-tier app, with some central server), it doesn't good here.

Anyway, you can find official Grails documentation here: http://grails.org/doc/latest/ (as for me it's very detailed)

Also, if you're really need a framework to build some server for your desktop app, I can suggest you to start with Spring Framework / Spring MVC. It's easy to make an REST JSON/XML/SOAP/Protobuf/etc/etc server based on it. Btw, it's much more low level, and you have to choose all other technologies and libraries that fits your needs. Like choosing JSON serializer, database mapper, etc

GUI: JavaFX is dead, don't use it. SWT is hairy and to low level - you won't use it. Swing is way to go (also you can customize is with L&F like substance) if you dislike built in Look&Feels like Metal.

Btw, every Grails application is an Spring MVC application, so every +1 you give to Spring MVC applies to Grails as well.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top