# Zurück zum Desktop, aber welches Framework?



## Bergtroll (15. Jun 2012)

Hallo liebe Java Gemeinde,

nach längerem (vor 2009 oder so) bin ich mal wieder am Schreiben einer Java Desktop App und sehe mich nun der Frage gegenübergestellt "Mit was mach ich es"? Ziel ist ein Replacement für die Frankiersoftware StampIt der Deutschen Post, die mittlerweile eingestellt wurde. Funktional habe ich die Einzelteile alle beisammen:

- WebServiceClient mittels Axis2 und JiBX Bindings
- Auslesen der Produktliste im CSV Format mittels SuperCSV Library (Angepasst da fieser bug)
- PDF Erzeugung mit iText, Ergebnis wird per externem Viewer mittels Desktop.open angezeigt.
- Diverse Apache commons zum File downloaden, unzippen, etc.

Ich habe jetzt pro Forma ein GUI mittels MigLayout zusammengeschraubt und mal wieder das BSAF ausgepackt, aber dabei festgestellt, dass sich da nix mehr tut und SAF iss ja komplett tot. War es wohl damals schon, aber jetzt so richtig irgendwie :-/. Und mittlerweile bin ich ja auch bissi verwöhnt von Web Application Frameworks und frage mich, was es für den Desktop Application Markt so gibt.

- Spring RPC? Scheint verödet...
- Eclipse RPC? Hab schon damit gearbeitet, aber mittlerweile vermutlich das meiste wieder vergessen. Viel Try & Error, iwie wenig Doku (gefühlt)...
- Netbeans RPC? Meine irgendwo gelesen zu haben, dass es mit einer Fülle an Antipatterns glänzt und deshalb häufig zu seltsamen Designs zwingt???
- Doch BSAF? Mit zusätzlichen Libraries? Mit Guice?

P.S. Ich würde ja auch gerne mal Maven lernen und in was auch immer ich es umsetze, wäre cool mal eine entsprechende funktionierende Config für mein Projekt zu haben. Da das Projekt teilsubventioniert ist, wäre für das Aufsetzen der notwendigen, kommentierten Maven files und ne kurze Skype Tour in der wir die dann mal gemeinsam durchgehen oder noch besser ein Screencast eine Entlohnung drin. Files und Doku sollten dann zu einem öffentlichen Tutorial werden. Jemand Interesse? 

Viele Grüße,

Bergtroll


----------



## Ullenboom (15. Jun 2012)

Muss es wirklich eine pure Desktop-Anwendung werden? Vielleicht gefallen dir sonst auch GWT und ganz speziell Vaadin. Auch wenn es nur lokal sein soll: Jetty startet webapp mit GWT, Desktop#open den Browser. Gaaaanz was neues ist auch JavaFX, aber dafür gibt es noch keine MVP-Frameworks.


----------



## Bergtroll (15. Jun 2012)

Hi Christian, 

erstmal Danke für die Anregung UND GANZ VIEL Danke für dein Buch, es begleitet mich seit... meinen ersten Java Tagen auf jeden Fall . Nein muss es nicht, aber irgendwie klingt das so viel, noch nen Webserver dafür aufzusetzten? Und ich habe mich auch noch nie selbst um eine Jetty Konfiguration gekümmert. Andererseits wäre das ja ziemlich cool, dann könnte ich die Sache gleich als Service hosten, sofern es die Post AGB zulassen.  Vaadin gefällt mir ziemlich gut, bin da aber auch erst in der ersten Kennenlernphase.


----------



## Ullenboom (15. Jun 2012)

Danke für die positive Rückmeldung 

Jetty ist dafür perfekt geeignet: Jetty/Tutorial/Embedding Jetty - Eclipsepedia. Es sind nur ein paar Zeilen. Für den eigenen Desktop ist das prima, und wenn man die Webanwendung dann doch noch hosten möchte, ist das auch einfach. Zudem passt GWT und die Google App Engine auch gut zusammen, also kann man so umsonst seine Java Web Apps hosten.

Auf der Serverseite nutzte ich auch Guice für einfache Anwendungen, dass kann man dann später Richtung CDI und einer Enterprise-Anwendung ausbauen, wenn das nötig ist.


----------



## Bergtroll (15. Jun 2012)

Also ich versuchs gerade mit Vaadin, macht richtig Spass, zumindest bis jetzt . Du weisst nicht zufällig, wie man bei der Verwendung eines BeanItemContainers der als Datenquelle für eine Tabelle dient, die Ausgabe formattiert? Ich würde gerne den Geldwert, das als Centbetrag per Integer gespeichert ist, als Eurobetrag mit Komma ausgeben. Ich finde aber nicht, wie ich das dem Tabellen Rendering beibringen kann.

EDIT
Ich habe eine Möglichkeit gefunden, man scheint bis Vaadin 6.8 die Methode formatPropertyValue() überschreiben zu müssen. Irgendwie unelegant :-/. Ab Vaadin 7.0 wirds tolle Converter geben.


----------



## Gast2 (17. Jun 2012)

Kannst dir noch eclipse rcp 4.1 anschauen da ist Dependeny Injection schon dabei.
Für PDF-Erzeugung gibt Eclipse Birt.


----------



## Bergtroll (20. Jun 2012)

Hi SirWayne,

danke auch für diese Rückmeldung. BIRT sieht ganz cool aus, insbesondere, weil ich auch viel so BI Zeugs mache und jetzt hatte ich endlich mal genügend Zeit + Motivation, mir das ein wenig anzuschauen. Kannst für für Eclipse RCP 4 ein gutes Buch empfehlen? Ich habe irgendwie nach wie vor den Eindruck, dass es an allen Ecken und Enden an Doku fehlt. Hatte für JSciVision (2010 rum) u.a. dieses Bauch vom Daum (oder Daun??) ausgeliehen und ein paar andere, aber die waren alle veraltet, kaum eines ging aufs neue Command Framework ein, etc...


----------



## Gast2 (25. Jun 2012)

Soll bald eins rauskommen, aber keine Ahnung wie das ist...
Eclipse 4.x ist ja auch noch nicht solange released
Eclipse 4 - Rich Clients mit dem Eclipse 4.1 SDK - Buch


----------

