JBOSS vs ZK

Status
Nicht offen für weitere Antworten.

hacpro

Mitglied
hallo liebe gemeinde..
ich habe ne frage.. kan mich nicht zwischen zk oder jboss entscheiden..
für welches tendiert ihr eher??lege grossen wert auf euere meinung :)

danke danke viel mals schon im voraus!!
 

robertpic71

Bekanntes Mitglied
Der Hauptunterschied besteht da wohl in der Komplexität. Richfaces ist ein Zusatz, welcher das ohnehin schon komplexe JSF noch etwas komplexer macht. Wenn man Ajax-Funktionalität will, geht das mit ZK etwas direkter.
Ich fasse mal zusammen:

JSF + Richfaces

- gewisse Grundkomplexität durch JSF
- Mix Actions für JSF, Events für Ajax-Zusätze
- XML Hell (mehrere Namesspaces...)
+ JSF praktisch schon Industriestandard
- für Ajaxzusätze von JSF ist das Rennen auch noch offen
+ breitere Unterstützung anderer Hersteller/Frameworks
+ freie Lizenz

ZK
+ einfach, versteckt die Komplexität vor dem Programmierer (Ajax-Kommunikation)
+ viele und teilweise sehr mächtige Komponenten (FCKEditor, Paging mit einem Schlüsselwort..)
+ nicht zwingend ein Html/JSP Aufsatz, XML-Beschreibung dadurch einfacher/kürzer wie JSF+Ajax
+ XML-GUI Beschreibung = Java-API (<Textbox value="x" > = textbox.setValue("x"))
+ auch XML-lose GUI-Programmierung, ganz im Stil von Swing/SWT/GWT möglich
+ Desktop Programmiermodel
+ integriert auch viele andere Libs (z.B. Comet für Serverpush)
+ ScriptVariante (zscript) --> GUI-Änderung + Java in zscript ohne Serverrestart (Prototyping!)
- Dual Licence wie MySQL: 1xGPL 1xKommerziell
- fremde Frameworks machen von sich aus keine ZK-Anbindung (muss immer von ZK-Team/Community) erstellt werden (derzeit Hibernate, EJB, Seam, Spring)

Für mich persönlich hat der Mix aus XML-Gui-Beschreibung und Desktopprogrammiermodell das Original (Swing) überholt. So kann ich Events im Controller/Composer allein durch die Namensvergabe holen:
Code:
<window>
Inputtext:
<textbox id="input"/>
Ausgabe der Ajaxrespone
<label id="repeater"/>
<button id="home" label="Index"/>
</window>
Code:
public void onChange$input() {    // Event $ ComponentId = autowired Events
  // wenn die Textbox input geändert wurde
..
public void onClick$home() { // mit Event
  // wenn auf den Button home gedruckt wurde

Ich könnte natürlich auch im klassischen Swingstil ein Event beim Button registrieren oder auch auf eine Methode im zscript verweisen, welche dann interpretiert wird (d.h. testen ohne Restart, Speichern + Browser aktualisieren).

Code:
<textbox onChange="change()"/>
..
<zscript>
void change() {
    repeater.value = input.value;
}
</zscript>

/Robert

PS. Ich habe Vor- und Nachteile welche beide Frameworks gleich betreffen weggelassen (z.B. Serverlast..)
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben