Ich habe Tapestry 3 , Wicket , Echo und JSF ziemlich ausgiebig verwendet. Ich würde wirklich empfehlen, dass Sie sich diese ansehen und diejenige auswählen, die für Sie am einfachsten erscheint und die Ihrer Arbeitsweise am ehesten entspricht.
Von diesen war Wicket für mich aufgrund der Leichtigkeit der Komponentenerstellung und der Einfachheit der Seitenvorlagen am bequemsten zu bearbeiten . Das geht doppelt, wenn Sie Ihren eigenen Datenbankcode anstelle von Hibernate oder einem anderen Framework verwenden (ich war mit Wicket Hibernate oder Spring Integration nie ganz zufrieden).
Echo ist großartig, wenn es Ihnen nichts ausmacht, Ihr gesamtes Layout in Java zu schreiben. Ich weiß, dass das jetzt anders ist, aber ich denke immer noch, dass das Produkt eine ziemlich enge Nische bedient. Sie ändern das Entwicklungsmodell anscheinend auch mit jeder Hauptversion.
Tapisserie ist ein großartiges Produkt, aber es unterscheidet sich offensichtlich stark von den anderen in Bezug auf das Entwicklungsmodell, da es hauptsächlich von einem Typen geführt wird. Howard Lewis Ship ist zweifellos ziemlich schlau, aber ich bin enttäuscht von ihrer Entscheidung, die Abwärtskompatibilität mit jeder Veröffentlichung grundsätzlich zu vergessen. Für Ihre Bedürfnisse spielt dies jedoch möglicherweise keine Rolle, und ich fand es immer angenehm, gegen die Tapestry-Produkte zu arbeiten.
JSF ist seit Jahren unterwegs und fühlt sich immer noch wie etwas an, das ein Struts- Typ gebaut hat, um alle Probleme von Struts zu beheben. Ohne alle Probleme mit Struts wirklich zu verstehen. Es fühlt sich immer noch unvollendet an, obwohl das Produkt offensichtlich sehr flexibel ist. Ich benutze es und habe eine gewisse Vorliebe dafür, mit großen Hoffnungen auf seine Zukunft. Ich denke, die nächste Version (2.0), die in JEE6 ausgeliefert wird, wird sie mit einer neuen Vorlagensyntax (ähnlich wie Facelets) und einem vereinfachten Komponentenmodell (benutzerdefinierte Komponenten in nur einer Datei ... endlich) wirklich zur Geltung bringen.
Und natürlich gibt es eine Million kleinerer Frameworks und Tools, die ihre eigene Anhängerschaft haben ( Geschwindigkeit für Grundbedürfnisse, rohe JSPs , Struts usw.). Generell bevorzuge ich jedoch komponentenorientierte Frameworks.
Am Ende würde ich empfehlen, nur einen Blick auf Tapestry, Wicket und JSF zu werfen und nur den auszuwählen, der sich für Sie am besten anfühlt. Sie werden wahrscheinlich eine finden, die genau zu Ihrer Arbeitsweise passt.