2011-11-07 22 views
7

Stiamo creando una grande applicazione aziendale (dozzine di moduli) con GWT e dobbiamo decidere se utilizzare ClientBundle o meno. Ero curioso di sapere quali pro/contro il punto di vista della community di StackOverflow GWT fossero gli autori delle negoziazioni e gli interruttori di affare per un simile caso d'uso.Utilizzare ClientBundle in una grande applicazione Enterprise?

Per quanto riguarda la vediamo attualmente:

Pro

  • Tutti i file immagini/css che occupano risorse del server per scaricare sono eliminati
  • carichi client più velocemente a causa di quanto sopra (ovvero gli URL di immagini con contorno)
  • I nomi CSS vengono offuscati, quindi le collisioni nello spazio dei nomi vengono eliminate
  • CSS is auto camente ottimizzato/verificati
  • classi CSS non utilizzati vengono eliminati (sopra)
  • Java riferimento a nomi di classe vengono sostituiti con interfacce CSS refactorable
  • UiBinder riferimento a nomi di classe sono sostituiti con interfacce CSS refactorable
  • Non più grande " main.css" non riesce, come le risorse sono fascio modulo specifico

Contro

  • Per la manutenzione CSS diventa o illeggibile in modalità offuscato, o estremamente dettagliato in modalità debug
  • Ulteriori misure necessarie per il lavoro di base di CSS (come classe aggiunta)
  • Tutti gli sviluppatori devono conoscere Java, CSS, HTML nuances
  • CSS3 e altre regole (es @ Font-face) non sono supportati da GWT nativamente
  • tempi di compilazione Aumento

Grazie!

risposta

8

Utilizzo intensamente il pacchetto client in m-gwt.

Una cosa che mi dava fastidio era lo styling per dispositivi che non avevano la modalità dev. Quindi lo styling potrebbe significare ricompilare l'app completa.

Principalmente tutte le regole CSS3 possono essere utilizzate in ClientBundle utilizzando la funzione letterale, quindi dovrebbe essere ok. Diventa un po 'più complicato con le query @media. È possibile iniettare il css come una semplice textresource come soluzione, ma il suo tipo di brutto.

Quando si parla di diversi moduli GWT, prendere in considerazione l'utilizzo di più clientbundles in modo da poter ancora utilizzare i punti di divisione per mantenere la dimensione del file di download sotto controllo (A seconda di quanto grande i file .js ottengono)

ho usato clientbundles in diverse grandi app gwt e per me compilare il controllo del tempo e il supporto refactoring batte le piccole stranezze che sono ancora in bundle client.

+0

Grazie Daniel! Questa era anche la mia speranza. Attualmente i professionisti sembrano superare gli svantaggi. Spero che tutti abbiano la stessa esperienza di te e che non ci siano troppi svantaggi. –

2

Solo due note aggiuntive:

  • c'è un utility disponibile in GWT che permette di creare automaticamente le interfacce per le CSSResources
  • E 'vero che il debug di stili può essere un po' ingombrante a causa della offuscato nomi. Ho avuto un buon successo usando Firebug per cambiare gli stili in dev-mode direttamente nel browser e quando sono soddisfatto li cambio nella mia app GWT.
+0

Grazie Timeu. Ho trovato quell'utilità ed è abbastanza utile. Forse se potesse essere completamente automatizzato per costruire quelle interfacce e rifattorizzare i file ui.xml che le usano ... allora la nostra gente UI non avrebbe bisogno di modificare una mezza dozzina di file per un cambio di classe. –

Problemi correlati