Discussion:
Web-Application oder Swing-GUI
(zu alt für eine Antwort)
Ulrich Cech
2005-08-23 10:04:11 UTC
Permalink
Hallo zusammen,

mich würde einmal Eure Meinung/Erfahrungen etc. zu folgendem Thema
interessieren:
Es geht bei der Entwicklung einer Serveranwendung um die Frage, ab
welcher Komplexität/bei welchen Kriterien es sich lohnt, anstelle einer
Web-Application (Stuts,JSF, JSP und Servlets... Technik ist eigentlich
nebensächlich) eine eigene (Swing)-GUI zu entwickeln, die dann anstelle
des Web-Browsers auf den einzelnen Clients läuft.

Vielen Dank und Gruß,
Ulrich
Christoph Dahlen
2005-08-23 10:09:23 UTC
Permalink
Post by Ulrich Cech
Es geht bei der Entwicklung einer Serveranwendung um die Frage, ab
welcher Komplexität/bei welchen Kriterien es sich lohnt, anstelle einer
Web-Application (Stuts,JSF, JSP und Servlets... Technik ist eigentlich
nebensächlich) eine eigene (Swing)-GUI zu entwickeln, die dann anstelle
des Web-Browsers auf den einzelnen Clients läuft.
Falls es zur Entscheidung Swing kommt, würde ich dann diese aber auch
per WebStart verteilen. Selber installieren ist irgendwie antik.

Christoph
Ulrich Cech
2005-08-23 10:16:34 UTC
Permalink
Wow, das ging ja rasend schnell...

Ja, WebStart käme dann auf jeden Fall zum Zuge.

Die Frage soll ein wenig darauf abzielen, wann es im Browser einfach
nicht mehr möglich ist, eine anständige Benutzerinteraktion zu schaffen
(Probleme mit den Back-Forward-Reload-Buttons, Validierungen,
Session-Management u.s.w.).
Auf der anderen Seite muss die "Serverkommunikation" natürlich in einer
"GUI-Application" händisch etabliert werden.

Gruß,
Ulrich
Post by Christoph Dahlen
Post by Ulrich Cech
Es geht bei der Entwicklung einer Serveranwendung um die Frage, ab
welcher Komplexität/bei welchen Kriterien es sich lohnt, anstelle
einer Web-Application (Stuts,JSF, JSP und Servlets... Technik ist
eigentlich nebensächlich) eine eigene (Swing)-GUI zu entwickeln, die
dann anstelle des Web-Browsers auf den einzelnen Clients läuft.
Falls es zur Entscheidung Swing kommt, würde ich dann diese aber auch
per WebStart verteilen. Selber installieren ist irgendwie antik.
Christoph
Christoph Dahlen
2005-08-23 10:23:17 UTC
Permalink
Post by Ulrich Cech
Post by Christoph Dahlen
Post by Ulrich Cech
Es geht bei der Entwicklung einer Serveranwendung um die Frage, ab
welcher Komplexität/bei welchen Kriterien es sich lohnt, anstelle
einer Web-Application (Stuts,JSF, JSP und Servlets... Technik ist
eigentlich nebensächlich) eine eigene (Swing)-GUI zu entwickeln, die
dann anstelle des Web-Browsers auf den einzelnen Clients läuft.
Falls es zur Entscheidung Swing kommt, würde ich dann diese aber auch
per WebStart verteilen. Selber installieren ist irgendwie antik.
[ToFu repariert] -> Ulrich, bitte http://learn.to/quote/ lesen!
Post by Ulrich Cech
Die Frage soll ein wenig darauf abzielen, wann es im Browser einfach
nicht mehr möglich ist, eine anständige Benutzerinteraktion zu schaffen
(Probleme mit den Back-Forward-Reload-Buttons, Validierungen,
Session-Management u.s.w.).
Auf der anderen Seite muss die "Serverkommunikation" natürlich in einer
"GUI-Application" händisch etabliert werden.
Das lässt sich nicht so einfach beantworten. Wenn Du die Zielplattform
kennst oder festschreibst, lässt sich mit modernen Browsern einiges
machen (nicht erst seit dem AJAX Hype). Auch andere Frameworks kennen
sicherlich seitenübergreifende State-Persistzenz (JSF vielleicht).

Vielleicht wäre JSF sogar der richtige Ansatz für Dich, da Du damit die
Techniken eines GUI wie Swing auf den Browser übertragen kannst.

Christoph
Thomas Porocnik
2005-08-23 10:19:40 UTC
Permalink
Post by Ulrich Cech
welcher Komplexität/bei welchen Kriterien es sich lohnt, anstelle einer
Web-Application (Stuts,JSF, JSP und Servlets... Technik ist eigentlich
nebensächlich) eine eigene (Swing)-GUI zu entwickeln, die dann anstelle
des Web-Browsers auf den einzelnen Clients läuft.
Hm, welche Kriterien, schwer zu definieren. Aber sicher nicht gut als
Web-Anwendung (Browser-basiert) zu implementieren, ist eine GUI für die
du sehr viele abhängige Elemente hast, und demnach sehr oft einen
Server-Roundtrip machen müsstest und /oder viel clientseitigen
Scriptcode brauchst.

jm2c

Thomas
--
Zu meiner Zeit gab es keine Windows und Icons und diesen ganzen
Schnickschnack. Wir hatten damals nur Nullen und Einsen. Manchmal nicht
einmal das: Ich musste mal eine ganze Datenbank nur mit Nullen
programmieren - Dilbert
Oliver Haupt
2005-08-23 11:04:49 UTC
Permalink
Post by Ulrich Cech
Hallo zusammen,
mich würde einmal Eure Meinung/Erfahrungen etc. zu folgendem Thema
Es geht bei der Entwicklung einer Serveranwendung um die Frage, ab
welcher Komplexität/bei welchen Kriterien es sich lohnt, anstelle einer
Web-Application (Stuts,JSF, JSP und Servlets... Technik ist eigentlich
nebensächlich) eine eigene (Swing)-GUI zu entwickeln, die dann anstelle
des Web-Browsers auf den einzelnen Clients läuft.
Ich perseonlich finde Web-Anwendungen schoener um eine Applikation
verteilt laufen zu lassen. Der Web-Container nimmt Dir sehr viel Arbeit
ab. Ferner gibt es keine Probleme bei der Installation.

Zumindest in der Theorie.

Problematisch wird es bei komplexen Masken, die in Standard-HTML nicht
darstellbar sind. Ist an sich alles moeglich, nur kann es schon sein,
dass man hier recht viel mit css/JavaScript umsetzen muss.
An diesem Punkt kommt zur abstrakten Designentscheidung noch die Frage
welche Technologien Du/die Entwickler primaer beherrschen.

Dazu komment noch einige Browserspezifische Schmankerl :(

Mein Resumee an dieser Stelle ist: Beide Moeglichkeiten bieten Vor-/
und Nachteile - entscheiden wuerde ich anhand der Kenntnisse der
Entwickler.

cu,

olli
Stefan Matthias Aust
2005-08-23 11:18:48 UTC
Permalink
Post by Ulrich Cech
mich würde einmal Eure Meinung/Erfahrungen etc. zu folgendem Thema
Es geht bei der Entwicklung einer Serveranwendung um die Frage, ab
welcher Komplexität/bei welchen Kriterien es sich lohnt, anstelle einer
Web-Application (Stuts,JSF, JSP und Servlets... Technik ist eigentlich
nebensächlich) eine eigene (Swing)-GUI zu entwickeln, die dann anstelle
des Web-Browsers auf den einzelnen Clients läuft.
Wenn es kein Problem ist, Software lokal zu installieren (Webstart,
Eclipse RCP, usw) und die Anwendung mehr Benutzerinteraktion erfordert
als sagen wir einmal die Amazon-Website, dann ist IMHO eine "rich
client" Anwendung die bessere Alternative aus Anwendersicht - einfach
weil sie viel komfortabler sein kann.

Wenn sofortiges Änderung einfacher Formulare wichtig ist oder die
Anwendung eher den Charakter eines Informationssystems hat denn
interaktiv ist, kann eine Webanwendung besser geeignet sein.

Ich würde allerdings weder Struts noch JSF noch JSP wählen, weil ich
diese Rahmenwerke als für zu umständlich und zu schwergewichtig halten
würde. Tue dir den Gefallen und bauen einen Prototyp mit etwas wie
Rails on Ruby, Wee (noch ein Ruby-Rahmenwerk), Django (der neue
Rails-Killer aus dem Python-Umfeld) oder Quichote (nochmal Python) und
miss dann die Java-Rahmenwerke an der Leichtigkeit, die diese
Rahmenwerke versprühen.

Ich hätte ja gerne mal was wie Wee oder Seaside (dem Smalltalk-Original,
aus dem Wee und andere Rahmenwerke portiert wurden) in Java, um damit
mehr Erfahrung zu sammeln. Bis dahin würde ich wohl zu Wicket tendieren,
einfach weil es einfacher ist als Tapestry (mein älterer Favorit) und
natürlich JSF (alles ist einfacher als JSF). Und komponentenbasiert
muss das Rahmenwerk IMHO schon sein. Alles andere (einfaches Struts
etwa) ist Steinzeit :)

Für eine komplexe rich client-Anwendung solltest du ansonsten einen
Blick auf Eclipse werfen. Die Lernschwelle ist zwar enorm, aber du
bekommst ein einheitliches mächtiges Rahmenwerk, welches unter Windows
1A aussieht, sich super anfühlt und ein mächtiges Plug-in-Konzept hat,
was dir helfen kann, die Anwendung modular zu gestalten und inkrementell
fertigzustellen und einzuführen. Eclipse kann dann automatisch seine
Plug-ins über's Netz aktualisieren, wenn du das willst.
--
Stefan Matthias Aust // Lassen Sie uns durch, wir sind Arzt!
Oliver Haupt
2005-08-23 15:42:45 UTC
Permalink
Stefan Matthias Aust schrieb:

[web vs. fat-client]
Ich würde allerdings weder Struts noch JSF noch JSP wählen, ...
Struts ist 'ganz ok' will sagen, wenn man einmal die Struktur
verinnerlicht hat lassen sich alle Forwards recht einfach einbauen.

Nett ist auch die direkte Validierung durch das validation.xml,
getrennt von der Kontet-Sensitiven Validiereung, die man selber
umsetzen kann.
... weil ich
diese Rahmenwerke als für zu umständlich und zu schwergewichtig halten
würde.
Was mir an struts missfaellt, ist die IMO etwas 'eigentuemliche'
Zugriffsmoeglichkeit auf Session Attribute innerhalb der struts Tags.

Ist irgendwie unschoen - wobei das nicht wild ist ( fuer mich ), da ich
diese dann einfach nicht in der struts Form nutze. Dadurch entfaellt
auch einiges der 'schwergewichtigkeit'.

Ohne JSP wuerde ich nicht mehr arbeiten, wobei ich diese mehr zum
dynamischen einbinden von inhalten verwende.
Tue dir den Gefallen und bauen einen Prototyp mit etwas wie
Rails on Ruby, Wee (noch ein Ruby-Rahmenwerk), Django (der neue
Rails-Killer aus dem Python-Umfeld) oder Quichote (nochmal Python) und
miss dann die Java-Rahmenwerke an der Leichtigkeit, die diese
Rahmenwerke versprühen.
Ich wittere Werbung ;)

Naja, vielleicht sollte ich mal selber nen BLick drauf werfen.
... weil es einfacher ist als [...] JSF (alles ist einfacher als JSF).
Konnte ich mich auch nicht mit anfreunden. Hat sich das eigentlich
durchgesetzt?
Für eine komplexe rich client-Anwendung solltest du ansonsten einen
Blick auf Eclipse werfen.
Diesen Tipp werde ich wohl selber mal im Hinterkopf behalten, wenn ich
ueber eine Fat-Client Applikation nachdenke(n muss).

cu,

olli
Norbert Schäfers
2005-08-23 12:31:04 UTC
Permalink
Post by Ulrich Cech
mich würde einmal Eure Meinung/Erfahrungen etc. zu folgendem Thema
Es geht bei der Entwicklung einer Serveranwendung um die Frage, ab
welcher Komplexität/bei welchen Kriterien es sich lohnt, anstelle einer
Web-Application (Stuts,JSF, JSP und Servlets... Technik ist eigentlich
nebensächlich) eine eigene (Swing)-GUI zu entwickeln, die dann anstelle
des Web-Browsers auf den einzelnen Clients läuft.
Hallo Ulrich,

das ist in einem weiten Bereich sicher Ansichtssache.
Ich persönlich verwende bei kleineren Sachen eher ein Web-Interface.
Je größer das Ganze wird, desto eher greife ich zu einem Rich-Client.

Gruß
Norbert


Java-Groupware: http://www.alphaagent.de
Michael Hüttermann
2005-08-23 16:21:57 UTC
Permalink
Post by Ulrich Cech
Hallo zusammen,
mich würde einmal Eure Meinung/Erfahrungen etc. zu folgendem Thema
Es geht bei der Entwicklung einer Serveranwendung um die Frage, ab
welcher Komplexität/bei welchen Kriterien es sich lohnt, anstelle einer
Web-Application (Stuts,JSF, JSP und Servlets... Technik ist eigentlich
nebensächlich) eine eigene (Swing)-GUI zu entwickeln, die dann anstelle
des Web-Browsers auf den einzelnen Clients läuft.
Vielen Dank und Gruß,
Ulrich
Das hängt u.a. auch davon ab, wie komplex das UI sein soll, welche
Funktionalität die visuellen Komponenten haben sollen und ob z. b.
Masseneingaben durchgeführt werden sollen. Hohe Komplexität oder
Funktionalität und/oder Masseneingaben sind Argumente für eine Java
Client-Anwendung.

Um ein Kommentar zu einem anderem Post zu geben: es ist auch möglich die
Java Client Anwendung mit einer eigenen Software-Verteilung auf die
User Desktops zu transferieren. Diese Verteilung könnte dann
beispielsweise auch Eigenschaften haben, die Java Webstart nicht leisten
kann. :-)
Sowohl manuelles installieren als auch Webstart sind antik. ;-)


Viele Grüsse

Michael
Stefan Matthias Aust
2005-08-24 14:59:51 UTC
Permalink
Post by Michael Hüttermann
Um ein Kommentar zu einem anderem Post zu geben: es ist auch möglich die
Java Client Anwendung mit einer eigenen Software-Verteilung auf die
User Desktops zu transferieren.
Logischerweise kann man so etwas machen - ist aber nicht trivial und
gerade so eine Komponente muss extrem stabil und robust sein. Ist daher
abzuwägen, ob man seine Energie nicht lieber in wichtigere Probleme steckt.
Post by Michael Hüttermann
Sowohl manuelles installieren als auch Webstart sind antik. ;-)
Auch webstart, wie es ihn in JDK 1.6.0 gibt? Da sieht zumindest
erstmals der Splashscreen nett und professionell aus und auch wird der
Benutzer nicht sofort durch merkwürdige Warnmeldungen verschreckt
sondern man hat die Meldungen dezenter formuliert und im Stil an
Microsofts Weg angepasst.
--
Stefan Matthias Aust // Lassen Sie uns durch, wir sind Arzt!
Peter Köker
2005-08-23 19:24:02 UTC
Permalink
Post by Ulrich Cech
Es geht bei der Entwicklung einer Serveranwendung um die Frage, ab
welcher Komplexität/bei welchen Kriterien es sich lohnt, anstelle einer
Web-Application (Stuts,JSF, JSP und Servlets... Technik ist eigentlich
nebensächlich) eine eigene (Swing)-GUI zu entwickeln, die dann anstelle
des Web-Browsers auf den einzelnen Clients läuft.
Wenn du viel Zeit und Geld, sowie genügsame Anwender, und beliebig
vermehrbare Ressourcen hast, dann mach eine Web-Anwendung.

Wenn du Anwender hat, die Ansprüche an Design, Ergonomie, Benutzbarkeit,
Performanz haben, wenn es einen knappen Zeitrahmen und begrenztes Budget
gibt, dann nimm Swing.

90% der Entwickler/Projektleiter/Kunden entscheiden sich vor diesem
Hintergrund für eine Web-Anwendung.


sagt, Peter
Timo Stamm
2005-08-23 19:44:33 UTC
Permalink
Post by Peter Köker
Post by Ulrich Cech
Es geht bei der Entwicklung einer Serveranwendung um die Frage, ab
welcher Komplexität/bei welchen Kriterien es sich lohnt, anstelle
einer Web-Application (Stuts,JSF, JSP und Servlets... Technik ist
eigentlich nebensächlich) eine eigene (Swing)-GUI zu entwickeln, die
dann anstelle des Web-Browsers auf den einzelnen Clients läuft.
Wenn du viel Zeit und Geld, sowie genügsame Anwender, und beliebig
vermehrbare Ressourcen hast, dann mach eine Web-Anwendung.
Wenn du Anwender hat, die Ansprüche an Design, Ergonomie, Benutzbarkeit,
Performanz haben, wenn es einen knappen Zeitrahmen und begrenztes Budget
gibt, dann nimm Swing.
90% der Entwickler/Projektleiter/Kunden entscheiden sich vor diesem
Hintergrund für eine Web-Anwendung.
Willst du damit sagen dass 90% der Entwickler/Projektleiter/Kunden sich
offensichtlich eine dämliche Wahl treffen?

Bei Kunden will ich das nicht ausschliessen, aber unter
Entwicklern/Projektleitern würde ich schon ein bisschen mehr Fähigkeit
zu sinnvollen Entscheidungen vermuten.

Dass man sich oft für Web-Anwendungen entscheidet hat durchaus Gründe.
Die Marktbarrieren liegen bei einer ASP-Lösung einfach niedriger. Bei
vielen Anwendungen ist es finanziell einfach interessanter, ein Produkt
zu "vermieten" anstatt es zu verkaufen. Ausserdem gibt es eine bessere
Kundenakzeptanz (nichts zu Installieren) und weniger Support (nur eine
Version) spart auch Geld.


Timo
Michael Hüttermann
2005-08-23 20:38:26 UTC
Permalink
Post by Peter Köker
Post by Ulrich Cech
Es geht bei der Entwicklung einer Serveranwendung um die Frage, ab
welcher Komplexität/bei welchen Kriterien es sich lohnt, anstelle
einer Web-Application (Stuts,JSF, JSP und Servlets... Technik ist
eigentlich nebensächlich) eine eigene (Swing)-GUI zu entwickeln, die
dann anstelle des Web-Browsers auf den einzelnen Clients läuft.
Wenn du viel Zeit und Geld, sowie genügsame Anwender, und beliebig
vermehrbare Ressourcen hast, dann mach eine Web-Anwendung.
Wenn du Anwender hat, die Ansprüche an Design, Ergonomie, Benutzbarkeit,
Performanz haben, wenn es einen knappen Zeitrahmen und begrenztes Budget
gibt, dann nimm Swing.
90% der Entwickler/Projektleiter/Kunden entscheiden sich vor diesem
Hintergrund für eine Web-Anwendung.
sagt, Peter
gefällt mir die Aussage. :-)
Ulrich Cech
2005-08-24 18:44:21 UTC
Permalink
Hallo zusammen,

ich möchte mich schon mal für die vielen Rückmeldungen bedanken.
Da Performance und Ergonomie auf jeden Fall eine mehr als zentrale Rolle
spielen wird, wird die Entscheidung wohl Richtung Rich-Client gehen. Mit
JSP, Servlets und JSF hatte ich bereits einige Erfahrungen gemacht, bin
aber an bestimmten Punkten an die Grenzen der Bedienerführung gestossen.

Eigentlich wollte ich die EclipseRCP meiden (Abhängigkeiten von SWT,
hoher Einarbeitungsaufwand...), aber nach reichlicher
Informationsbeschaffung die letzten beiden Tage ist es auf jeden Fall
einen Versuch wert.

Also, nochmals vielen Dank an alle,
Ulrich
Michael Paap
2005-08-26 11:26:58 UTC
Permalink
Post by Ulrich Cech
Eigentlich wollte ich die EclipseRCP meiden (Abhängigkeiten von SWT,
hoher Einarbeitungsaufwand...), aber nach reichlicher
Informationsbeschaffung die letzten beiden Tage ist es auf jeden Fall
einen Versuch wert.
Wo wir grad dabei sind... was empfiehlt sich denn so als aktuelle
Einstiegslektüre, wenn man Eclipse als Plattform verwenden möchte?

Gruß,
Michael
--
Die Adresse im From existiert, wird aber nicht gelesen. Sollte
eine Mail-Antwort auf ein Posting vonnöten sein, bitte folgende
Adresse verwenden: newsreply@<DOMAIN_AUS_DEM_FROM_DIESES_POSTINGS>.
Ulrich Cech
2005-08-27 07:15:47 UTC
Permalink
Post by Michael Paap
Wo wir grad dabei sind... was empfiehlt sich denn so als aktuelle
Einstiegslektüre, wenn man Eclipse als Plattform verwenden möchte?
Ich habe mir die Tutorials, Slideshows u.s.w. von
http://eclipse.org/rcp/ geladen.
Das Tutorial von DeveloperWorks darf natürlich nicht fehlen:
http://www-128.ibm.com/developerworks/edu/os-dw-os-rcp1-i.html

Die Eclipse-FAQ ist ebenfalls einen Besuch wert:
http://www.eclipsefaq.org/chris/faq/faq-list.html

Dann gab es ein Tutorial über EclipseForms
(http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/pde-ui-home/working/EclipseForms/EclipseForms.html).

Anschließend habe ich mir die RCP-Artikel in aus den Eclipse-Magazinen
angeschaut.

Und nicht zuletzt Lesen/Stöbern in der Eclipse-Newsgroup
(eclipse.platform.rcp).

Für den Einstieg bekommt man bereits einen guten Überblick, was alles
möglich ist (und zugegeben, es ist eine Menge möglich). Zugegeben, das
Framework ist sehr mächtig und komplex, und wie es dann in einer
konkreten Umsetzung aussieht, muss sich noch zeigen, aber bisher sieht
es wirklich gut aus.
In einigen Wochen sollten auch die beiden Bücher zu RCP erscheinen (ISBN
0321334612 und 3898643530).

Gruß,
Ulrich
Michael Paap
2005-08-27 09:13:37 UTC
Permalink
Ulrich Cech wrote:

[Eclipse-RCP Quellen]

Vielen Dank, ich fühle mich gut gefüttert. Das Verdauen kann ein wenig
dauern. ;-)

Gruß,
Michael
--
Die Adresse im From existiert, wird aber nicht gelesen. Sollte
eine Mail-Antwort auf ein Posting vonnöten sein, bitte folgende
Adresse verwenden: newsreply@<DOMAIN_AUS_DEM_FROM_DIESES_POSTINGS>.
Lesen Sie weiter auf narkive:
Loading...