# ICEfaces



## Akeshihiro (19. Juni 2009)

Moin ^^

Also die Situation: Ich habe von einem Betrieb, wo ich vor paar Wochen mein Praktikum absolviert habe, einen Vorschlag für einen Ferienjob im Sommer bekommen. Die Aufgabe von dem Team, das wohl aus vier Leuten bestehen wird, soll ein bereits existierendes System quasi neu entwickeln, da das alte veraltet ist und somit auch kaum benutzerbar. Anstatt sich mit dem alten Kram zu beschäftigen und sich mehr Arbeit zu machen als nötig, soll das jetzt also komplett neu gemacht werden und zwar mit neuen Technologien.

Zur Verfügung stehende Technologien wären:
FLEX
Silverlight
ICEfaces

So, mir gehts jetzt bei diesem Thema nur um ICEfaces, aber wenn ihr auch mit den anderen beiden Technologien gearbeitet habt und was dazu sagen könnt, dann wär das umso besser.

Ich wollte an dieser Stelle einfach mal fragen, ob schon jemand mit ICEfaces gearbeitet hat und halt die Meinung hören, also gut/schlecht, warum, etc. Wie gesagt, wenn jemand auch schon mit FLEX oder Silverlight gearbeitet hat und somit Vergleiche ziehen kann, dann um so besser.

Hoffe es gibt reichlich Antworten ^^

mfg


----------



## Core-Dump (20. Juni 2009)

Ich kenne bloss Icefaces.
Das gute daran ist halt, dass JSF weit verbreitet ist und du dadurch auch viele Beispiele und Tutorials findest.
Icefaces hat auch viele nette Elemente wie Tabellen die zu csv/excel exportiert werden können, autocomplete Funktionalitäten, popup menüs etc etc, sowie 3 verschiedene Themes.
Aber eben, es ist halt JSF, du kämpfst dann also mit Beans, dem JSF Lifecycle, CSS etc.

Muss es denn unbedingt eine Web-Applikation sein?
Je nach Anwendungsfall tust du dich mit Swing oder RCP evt leichter.


----------



## rainwebs (21. Juni 2009)

Wir setzen ICEfaces in einem größeren Projekt seit Jahren ein und sind sehr zufrieden. Mittlerweile ist die Qualität so gut, daß es sich an die Spitze aller JSF-Implementierungen mit AJAX-Support setzen könnte. Besonders die Einfachheit des AJAX Push wird die nächsten Jahre ein Hauptthema sein. Allerdings könnte der Umfang an fertigen Komponenten etwas ausgeprägter sein. Daran wird sicher nach der Umstellung auf den neuen JSF 2.0 Standard gearbeitet werden. 

Man kann hier einiges mit Facelets ausgleichen.

Wer einen fertigen Software-Stack sucht, ähnlich dem AppFuse, aber mit ICEfaces Frontend sollte sich mal edoras anschauen. Die Schweizer hinter dem Projekt vertreten das Europa-Geschäft der ICEsoft aus Canada. Da mein ICEfaces Einsteiger-Buch noch nicht ganz fertig ist, besteht noch die Chance, daß edoras Berücksichtigung findet. Derzeit ist AppFuse schwerpunktmäßig im Beispielcode verbuddelt. Es gibt übrigens auch eine Adaption von ICEfaces an AppFuse von mir.

Da wir sehr komplexe Datenpräsentation brauchen, geht es bei uns seit einiger Zeit schon nicht mehr ohne Flash/Flex. Wir haben bereits eine Lösung entwickelt, die mit Hilfe von BlazeDS und einem Spring-Backend folgende Kombinationen zuläßt:


ICEfaces
ICEfaces + Flex
Flex
AIR

Die Umstellung einer Flex-Komponente auf AIR dauerte gerade mal eine halbe Stunde. Damit das ganze hinhaut, muß Spring in jedem Kontext eingesetzt werden, also z.B. auch bei den JSF-Backing-Beans. 

Einige Tips aus meinem Blog:

Einarbeitung in JSF
JSF und Spring (1, 2)
Spring/DI im Kontext von Flex/AIR
BlazeDS Basics
Einige Beispiele, warum Flex schon jetzt interessant ist


----------



## Akeshihiro (21. Juni 2009)

Danke schonmal für die Antworten. Ich werde sie dann morgen mal weiterreichen, vielleicht hilft das was.

@Core-Dump
Naja, was heißt Web-Applikation... Ich denke es muss nicht zwangsweise eine vollständige Web-Applikation sein, die momentane Fassung ist auch nur in JavaScript geschrieben. Die strotzt allerdings vor Fehlern, das Suchen und Beheben der Fehler macht kein Spaß, eine Dokumentation gibt es auch nicht und es gibt an keiner Stelle Kommentare. Da das Teil auch schon einige Jahre auf dem Buckel hat und von den verschiedensten Programmierern verschandelt wurde, macht es umso weniger Spaß sich damit zu beschäftigen, weil man 90% der Zeit nur am Haareraufen ist. Die Daten müssen zudem auch immer von Hand eingetragen werden, was bei wer weiß wie viel hundert oder sogar tausend Einträgen nicht viel Spaß macht. Der Chef wollte das an eine Datenbank andocken, was mit AJAX ja auch möglich wäre, aber wer weiß wo man dann wieder was ändern müsste und abgesehn davon würde man sich mehr ärgern als vernünftig arbeiten.

Wegen dem ganzen Chaos stand auf einmal die Frage "Warum machen wir das nicht komplett neu?" im Raum. Tja, gute Idee, aber womit? Anfangs grenzte man die möglichen Technologien auf Silverlight und FLEX ein. Ich habe eine Freund gefragt, was er bevorzugen würde und warum usw. und ohne zu überlegen sagte er, dass er FLEX nehmen würde, aber er was besseres kennen würde. Dieses etwas nannte sich ICEfaces und so habe ich das auch mal in die Runde geworfen, womit nun drei Technologien im Raum sind.

Da ich dazu aber nix sagen kann, da ich damit auch noch nicht gearbeitet habe, habe ich hier das Thema eröffnet und wollte einfach mal die Meinung anderer hören.


----------



## rainwebs (23. Juni 2009)

Vielleicht noch ein Hinweis zu dem Software-Stack:


ICEfaces und/oder Flex
Spring (u.a. Spring Security)
JPA
Hibernate oder TopLink
Datenbank

Habe leider meine Blog Postings zu dem Thema noch nicht fertig. Hier wird aber eine ähnliche Architektur aufgeführt, nur nicht mit ICEfaces im Zentrum:

http://www.slideshare.net/mwessendorf/advanced-jsf


----------



## rainwebs (26. Oktober 2009)

Das ICEfaces Buch wir in Kürze in Englisch verfügbar sein und einige Details mehr zu unserer Frage hier liefern können.


----------

