Vorteile | Nachteile |
Große Projekte: Strukturierung erhöht Übersichtlichkeit und ermöglicht Wiederverwendung in anderen Projekten | Kleine/Einzel Projekte: Zuviel „Overhead“ Viel Anfangsarbeit |
Volle Kontrolle, komplett anpassbar | LOC ... |
„Zusammklick Anwendung“ *VISION* | Erfordert aktiviertes Java-Script |
Die Entwicklung einer Anwendung mittels JSF ist dann ratsam, wenn es sich zum einen um ein umfangreiches Projekt handelt und zusätzlich zu erwarten ist, dass das komplette Projekt oder wenigstens Teile davon später für kommende Projekte wiederverwendet werden können. Für Anwendungsentwicklungsfirmen kann die Arbeit mit dem JSF-Framework daher interessant sein, da einmal entworfene Komponenten für alle Kunden eingesetzt werden können. Zusätzlich sind durch die Rollenverteilung gute Strukturierungsmöglichkeiten vorhanden. Für Einzelprojekte oder kleinere Anwendungen scheint JSF jedoch aufgrund des großen Anfangsaufwands eher ungeeignet.
Der optimistische Ansatz, dass Anwendungen durch entsprechende Tools und mittels umfangreicher Komponentendatenbanken nur noch „zusammengeklickt“ werden können scheint noch in weiter Ferne zu sein. Das Produzieren von länglichem Code ist bei Java bekannt, viel Tipparbeit wird allerdings von Entwicklungsumgebungen wie Eclipse abgenommen. Obwohl aktiviertes JavaScript heutzutage zum Standard bei Browsern gehört, kann es deaktiviert werden, wodurch eine JSF-Anwendung nicht mehr lauffähig sein würde.
Das Oberflächenframework JSF kommt ohne weitere Funktionalität, kann aber durch die Verwendung anderer Frameworks leicht ergänzt werden. Im Folgenden werden für Aufgabenbereiche bekannte Frameworks vorgeschlagen.
Mittels Apache Torque oder Hibernating
Ajax4JSF Framework liefert Ajax Komponentenerweiterung der JSF Komponenten
Das Framework JSF-Spring liefert eine Anbindung von JSF an Spring und auch Spring unterstützt von Haus aus die Verwendung von JSF zur Darstellung.
bietet differenziertere Aktionselemente und ist weit verbreitet. Eine leichte Migration von Struts zu JSF-Anwendungen durch Einsetzen beider Frameworks ist möglich.
Zum einen gibt es das Facelets Framework für Templating-Mechanismen. Zum anderen kann Tobago eingesetzt werden, um „Desktop-look-and-feel Anwendungen“ zu entwickeln.