2009-10-14 18 views
5

Non sono un artista/designer, quindi di solito le mie GUI sono buone, sai ... Ho lavorato un po 'con GWT e sono stato in grado di ottenere risultati ragionevoli, ma sento di aver usato metodi artificiali per ottenere quei risultati.GWT: quali sono le migliori pratiche per creare un'interfaccia web2.0 con GWT?

Se la comunità ritiene che questa domanda possa essere di aiuto: si prega di inserire una raccomandazione per risposta.

risposta

9

abbiamo individuato le migliori pratiche a seguito di alto livello per GWT 1.6/1.7 (solo dopo 3 mesi di ricerca e sviluppo):

  • l'utilizzo di design pattern (MVC/MVP, Comando per GWT-RPC, Composite per la composizione del widget, Observer per il bus eventi, ecc.);
  • Isolare la logica dell'applicazione con MVP estraendo le classi e le viste del widget utilizzando l'interfaccia di visualizzazione del presentatore e le interfacce caratteristiche GWT (come HasValue, HasText, ecc.);
  • Utilizzare l'iniezione delle dipendenze con gin su un client e Guice su un server (o attenersi al framework del server esistente come Spring);
  • Usa GWT Composite in combinazione con HTMLPanel per guidare le tue visualizzazioni con html, css e MVP;
  • Utilizzare test di simulazione basato sull'isolamento della logica dell'applicazione con MVP;
  • Implementare il bus eventi con GWT HandlerManager;
  • Utilizzare i moduli GWT per ottimizzare in modo efficace la compilazione del codice;
  • Utilizzare pacchetti client, condivisi e server durante l'organizzazione dei moduli GWT;
+0

Questo è un buon consiglio. Il tuo codice è disponibile per la lettura? –

+0

appena riesco a mettere insieme un blog su alcuni di questi ... Per ora, prova questo: http://googletesting.blogspot.com/2009/08/tott-testing-gwt-without-gwttest.html e http://www.zackgrossbart.com/hackito/tags-first-gwt/ e http://blog.hivedevelopment.co.uk/2009/08/google-web-toolkit-gwt-mvp-example.html – topchef

3
  • La pratica migliore è fare tutto da Java, quindi il tuo HTML agisce solo come segnaposto. Sì, odio dire questo, ma se stai ancora scherzando con l'HTML, questo ti rende la vita più miserabile.
  • Se hai ancora l'unica forma mentis web, che separa le applicazioni web in diverse pagine html, buttale via, prendi lo stile di costruzione del desktop (che funziona sul browser). Pensa a costruire app swing.
  • Se è necessario applicare lo stile ai componenti GWT, eseguire l'override delle classi css di GWT nel proprio CSS.
  • L'ultima procedura consigliata consiste nel disaccoppiare l'applicazione con the MVP pattern. Il motivo è perché in pratica è possibile scrivere l'intera applicazione in una classe Java, che ovviamente può portare a problemi di manutenzione e problemi se si lavora con più peer.
5

Abbiamo sviluppato un ampio portale HR con GWT. L'aspetto grafico di questa applicazione può essere personalizzato per diverse distribuzioni. Per fare ciò utilizziamo frammenti di HTML per generare parti della GUI, ad esempio i bit di HTML vengono inviati al client in DTO e quindi inseriti nei widget HTML. Questo approccio funziona bene per masthead, loghi, menu e così via.

Altre cose (ad esempio i moduli di acquisizione) vengono generate utilizzando il normale codice GWT.

Utilizziamo "pagine" (diversi token cronologici che identificano il punto in cui ci si trova) in quanto ciò consente agli utenti di utilizzare i segnalibri in modo significativo. Generiamo inoltre collegamenti a diverse parti del nostro sistema nelle e-mail e così via.

La nostra applicazione è composta da molti widget di "livello superiore" che chiamiamo "Portlet" organizzati in "pagine" definite in XML. Anche in questo modo è possibile personalizzare la funzionalità per una determinata installazione.

Tutto ciò viene eseguito utilizzando un framework (GWT Portlets) che abbiamo pubblicato come open source.

Problemi correlati