2010-01-30 8 views
42

Ho appena iniziato a utilizzare JSF e ho tre domande relative a implementazioni JSF e librerie di componentiimplementazioni JSF e librerie di componenti

  1. Qual è la differenza tra JSF Implementazioni e Biblioteche dei componenti?

  2. Quali sono le varie implementazioni JSF (come Apache MyFaces) disponibili e qual è la differenza tra ciascuna di esse?

  3. Quali sono le varie librerie di componenti JSF (come facce ricche e facce di ghiaccio) disponibili e qual è la differenza tra ciascuna di esse?

Qualsiasi link pertinente che fornisce le informazioni esatte su questo sarebbe anche utile.

+0

Questo sito fornisce un confronto delle funzionalità di base delle librerie JSF: http://www.jsfmatrix.net/ _ (Nota: sembra che sia inattivo mentre pubblico questo post). _ – McDowell

+1

Vedere anche: http: // stackoverflow. it/questions/2095397/what-is-the-difference-between-jsf-servlet-and-jsp e http://stackoverflow.com/questions/2701094/java-ee-6-jsf-vs-servlet-jsp- should-i-bother-learning-jsf –

risposta

1

Un'implementazione è qualcosa che implementa la specifica JSF. Una libreria di componenti è qualcosa che aggiunge funzionalità extra (normalmente widget di UI extra) alle specifiche di base.

Suppongo che la differenza principale sia la conformità agli standard. Per quanto ne so, Glassfish è l'unico application server a supportare pienamente il nuovo standard JSF rilasciato come parte di Java EE 6.

Spiacente, non sono sicuro dell'ultima domanda.

85

Qual è la differenza tra implementazioni JSF e librerie di componenti?

implementazioni JSF attrezzi il JSF API Specification. Essi contengono almeno lo standard components per visualizzare uno qualsiasi degli elementi HTML di base disponibili ("plain vanilla").

librerie di componenti JSF aggiunge solo quel qualcosa in più in cima alla implementazione di base, spesso con più skinnability, ajaxability, enhanceability, eccetera, in modo che si può semplicemente programmare con un singolo componente, invece di un gruppo di componenti o personalizzati componenti, eventualmente insieme a un mucchio di codice JS/CSS correlato.


Quali sono le varie implementazioni JSF (come Apache MyFaces) che sono disponibili e qual è la differenza tra ognuno di loro?

Ci sono fino due implementazioni (maggiore) JSF, ovvero Oracle Mojarra e Apache MyFaces. Non c'è tecnicamente molta differenza in quanto entrambi devono rispettare le specifiche dell'API JSF. Piuttosto, guarda la robustezza, la disponibilità della documentazione, il livello di supporto, il grado di manutenzione (velocità di miglioramenti, correzioni di bug, rilascio, ecc.), Eccetera. Vedi anche: Difference between Mojarra and MyFaces


Quali sono le varie librerie di componenti JSF (come volti intensi e volti di ghiaccio) che sono disponibili e qual è la differenza tra ognuno di loro?

Ce ne sono molti, mi limiterò alle librerie più usate/conosciute. Se si desiderano ulteriori funzionalità di skinning, consultare PrimeFaces (demo), RichFaces (demo) o ICEFaces (demo). Se si desiderano maggiori capacità ajaxiche (diverse da quelle fornite da JSF 2.0), consultare PrimeFaces, RichFaces, ICEFaces, OpenFaces (demo) o Trinidad (demo). Se si desiderano componenti più specializzati/avanzati, consultare PrimeFaces, RichFaces, ICEFaces, OpenFaces, Trinidad o Tomahawk (demo). La differenza si trova principalmente nell'insieme di componenti disponibili e nel grado di personalizzazione.

Inoltre esiste anche una libreria di utilità JSF. Probabilmente ti riconoscerai reinventando/riscrivendo alcune classi FacesUtil, JSFUtils, ecc. Ogni volta e/o tag/componenti personalizzati per risolvere problemi tipici e ricorrenti di JSF. OmniFaces (demo) è progettato per colmare questa lacuna fornendo una libreria standard riutilizzabile di utilità JSF che può essere utilizzata in combinazione con ogni implementazione JSF e libreria di componenti.

+11

@Avinash Se ti piace la risposta potresti/dovresti "accettarla", dando punti all'autore – yegor256

+0

Non dimenticare di rivelare la tua relazione con OmniFaces;) – Stephan

+0

@Stephan: già in il mio profilo utente. – BalusC