java Desktop Application with spring and hibernate?

8.5k Views Asked by At

I have to develop a Java Desktop Application and I'm used to work in Java Web architectures using jsf spring jpa and hibernate.

So my question is what technology is the best to build a desktop application I was thinking about using JIDE with spring Rich client and built a tree layer architecture.

Can you people tell me what you think about it? any other good technology, tutorials a way to start etc thanks... =)

7

There are 7 best solutions below

4
On

This day and age, I would stay away from thick client's altogether. With the evolution of HTML5 I would move to a more AJAX solution. Check out GWT and Echo3. GWT is HEAVY, but provides a full range of tools, especially slick with the GXT toolset. Echo3 is very light, but lacks some of the industrial strength features you'd probably like to have. Echo3 also provides support for running their apps on a desktop.

3
On

Spring Rich Client: Last version released date: as 2009-06-23: Release 1.1.0. It is preferable to use libraries which are maintained regularly.

It is a horrible idea to develop/design custom Component or UI control using drag & drop tools. In long run, it will be just waste of time. It will become hard day by day to maintain those components. But obviously this is debatable.

Do you really think JIDE, it will be a good trade-off compare to the value JIDE can provide with the complexity to hard to maintain code?

For our Java Desktop application, we are using JGoodies FormLayout & BSAF(Better Swing Application Framework) API. Till now the application is performing nicely.

UPDATE

Don't forget to use Dependency Injector like Spring/Guice. Otherwise you will be living in hell, I believe.

A good starting point for BSAF might be: Using the Swing Application Framework & For JGoodies: PDF Document

1
On

Right now I would look into JavaFx. It looks very promising. I do not have personal experience with it, but I would have had it on my "to check" list if I was in your position. It's pretty new though so beware

0
On

Another option is the Eclipse Rich Client Platform. Imagine to remove from the Eclipse IDE everything is related to Java development: you get a skeleton app that can be customized as you like using the same libraries made by the Eclipse team. Your app will have a plugin architecture, perspectives, views, update capabilities and so on.

0
On

Technologies that you can look for are

Eclipse RCP (I guess this can also be easily converted to ajax application Eclipse RAP for browse if needed)

Adobe AIR (if you want to have a cool looking UI)

JavaFX

0
On

Another nice option for building desktop apps is Vaadin.

It provides a Swing-style programming model on top of GWT, a very nice component kit, lots of add-ons, and good professional support. They've been pushing the product hard at all the Java conferences lately. Certainly worth a try!

http://vaadin.com

0
On

I would encourage you to take a look at Eclipse RCP project.

But instead of taking the "Classic RCP" route, you would do much better to look at the Eclipse 4 and the e4 incubator project it has graduated from.

Eclipse 4 RCP should feel quite familiar to you in spirit if not in API, if you come from the Spring background.

It has service oriented architecture built on top of very excellent Equinox OSGi container, that feels a lot like Spring, if you use Declarative Services.

It has also very clean model based application layout definition that opens up flexibility and composability that can easily top any web framework I have ever worked with (which is admittedly not saying much).

When writing UI components, you can easily rely on easy and functional DI, allowing to keep coupling to the framework as low as absolutely necessary.