mercoledì, giugno 06, 2012

Running Primefaces Mobile - Parte 1

Primefaces è a mio parere il miglior framework di componenti JSF. Già dalle varie presentazioni si capisce che c'e' qualcosa di diverso rispetto ai soliti IceFaces,Tomahawk,Tobago,Trinidad e RichFaces.
Prima di tutto la semplicità di integrazione e di utilizzo, secondo la varietà dei componenti messi a disposizione ce ne sono più di 100 tutti utilissimi e accattivanti. In questo post però vorrei soffermarmi su Primefaces Mobile.
Questa suite di componenti JSF sono ottimizzati per essere renderizzati in uno schermo di piccoli dimensioni come potrebbe essere un cellulare o un tablet e quindi visto che ormai la strada è spianata e l'era del web3.0 è iniziata, vale la pena spendere un post per spiegare come integrare il mobile in una nostra applicazione jsf.

Supponiamo di usare maven che nei miei progetti è onnipresente e inseriamo la dipendenza a primefaces: Fatto questo bisogna settare il render-kit in maniera tale che la view venga ottimizzata per il mobile. Qui si aprono due possibilità in base alla nostra applicazione.
1) Le applicazioni mobile/no mobile e di conseguenza le interfacce sono separate. Questo è il caso più semplice ed infatti basterà andare a settare il render-kit nel file faces-config.xml nella sezione <application>
2) Le applicazioni mobile/no mobile girano insieme e abbiamo la necessità di modificare dinamicamente il render-kit in base alla vista da presentare.
Per poter fare questo c'e' la necessità di sovrascrivere il metodo calculateRenderKitId del default ViewHandlerWrapper. Vediamo come fare. La parte più complicata ovviamente è capire quale tipo di dispositivo sta tentando di accedere alla nostra applicazione, se si tratta cioè di un dispositivo mobile o no e modificare on-the-fly la vista.
Per il riconoscimento del dispositivo ci faremo aiutare da Spring ed in particolare da spring-mobile-device

Nessun commento:

Posta un commento