Domanda

Mi interessa la possibilità che GWT potrebbe servire come base per il mio intero strato di presentazione.

Sarei interessato a sapere se qualcuno ha provato con successo - successo - e in grado di indurre o unpersuade mi da di tentare questo.

È stato utile?

Soluzione

Ho lavorato con GWT circa un anno fa. Al momento c'è sembrata una grande idea, con una serie di avvertimenti:

  • ho avuto "Beccato" problemi con alcune parti della API, che sono stati probabilmente legata al fatto che si sta codifica come se sei in java, quando in realtà si sta effettivamente scrivendo per un ambiente compilato separatamente che agisce come Java, in modo da rendere alcuni presupposti non corretti (in questo caso, il passaggio di valori nidificati al front-end). Credo che ci fosse un altro è stato riscrivendo i miei script ant di utilizzare una JVM a 32-bit per il gwt compilazione.
  • Ho passato un po 'di tempo a cercare di modificare l'apparenza - non abbiamo mai implementato un progetto finito, quindi non sono sicuro di quanto lavoro questo avrebbe preso per arrivare a un livello professionale, ma sembrava (logicamente) di simile 'd essere paragonabile a perfezionare un'interfaccia oscillazione. forse un po 'più ingombrante, visivamente, di html.
  • Poiché l'Ajax è così nascosto da voi nel prodotto finale, ho avuto alcune preoccupazioni circa che cosa potrei fare se la prestazione è stata scarsa.

Detto questo, sembra sicuramente vale la pena giocare con, e le mie esperienze erano molto, molto tempo fa, in anni di Internet, specialmente dato che è probabilmente molto più maturo ora. Vale anche la pena sottolineare che si tratta di un modo molto diverso (e rinfrescante) di sviluppare codice della GUI dalla maggior parte dei framework MVC, e vale la pena dare un'occhiata se per nessun altro motivo che quello.

La mia sensazione è che se si sta costruendo un sito professionale ad alto carico con i requisiti grafici molto esigenti GWT non è probabilmente una buona scelta, altrimenti ok.

Altri suggerimenti

Lei ha detto che GWT avrebbe gestito lo strato di presentazione. Staresti facendo lo strato di business in Java troppo? Se questo è il caso, mi piacerebbe puntare verso IT Mill Toolkit , che fa esattamente questo: E 'un toolkit che usa GWT per rendere i suoi componenti GUI, che consente di fare le applicazioni interamente in Java. Penso che il termine si sta cercando di moneta è "server guidato RIA".

Io vengo da un background di PHP, ma immediatamente è venuto a come il toolkit. Ma forse è meglio che io non dirò nulla di più e consentono di fare le tue decisioni.

Disclamer:. Faccio lavorare a IT Mill, anche se questo è irrilevante per le mie opinioni

GWT è relativamente nuovo. Il processo di compilazione tende ad ottenere un pò lento come la vostra base di codice cresce. Quando abbiamo lavorato con essa abbiamo trovato molti problemi con il layout e il rendering dei widget più sofisticati, e l'emulatore agito totalmente diverso dal real server. Inoltre, abbiamo avuto problemi con i18n per le lingue da destra a sinistra ...

Tutto sommato, GWT ha (il solito?) Problemi dei giovani tecnologie. Tuttavia, lo fa fare certe cose davvero semplice, come Ajaxifying come avete chiamato esso.

Abbiamo fatto questo per un progetto molto grande, e come sapete è limiti, punti di forza e di debolezza e le grandi opere.Stranamente presentazione è stato l'ultimo dei nostri problemi, come abbiamo appena scuoiate di esso, proprio come si farebbe con qualsiasi altra pagina HTML, utilizzando i CSS.Il progetto è andato in diretta, e girava senza problemi quindi non ho lamentele.

Le insidie ho scoperto che con esso si possono trovare qui:

Più grande GWT Insidie?

Abbiamo sviluppato un'applicazione di grandi dimensioni HR Portal con l'intero livello di presentazione fatto in GWT. Il backend è primavera. Tutto funziona molto bene e l'interfaccia utente è stata molto ben accolta dagli utenti. Molto importante è facile per noi per aggiungere nuove funzionalità e mantenere l'applicazione. Penso che sarebbe molto più difficile da fare qualcosa di paragonabile e gestibile utilizzando librerie Javascript.

Avete bisogno di una sorta di quadro lato client o si finirà per scrivere uno (come abbiamo fatto noi!): La nostra applicazione è costruita su GWT portlet (gratuito e open source).

Usiamo frammenti HTML per la scuoiatura l'applicazione per le diverse implementazioni e la disposizione di ogni "pagina" è memorizzato in un file XML.

alcune utili informazioni su circa che in questo video raible: http://raibledesigns.com/rd/ ingresso / my_drunk_on_software_interview

GWT in, di per sé è una libreria di miglioramento dell'interfaccia utente, non un quadro. Se lo si utilizza con Google App Engine quindi si ha un quadro di base. (Questa è una storia diversa, e mentre lo guardavo, ho deciso di non includere tale nella nostra architettura).

Si tratta di una grande biblioteca, abbiamo fatto alcune cose spettacolari con esso. Come è una biblioteca tuttavia, è solo buono come la vostra architettura permette di essere.

Per quanto riguarda ANT va senza problemi con un compilatore a 64 bit.

<- dir.GWTCompile è la directory che contiene GWT ->      classpath                            

Per quanto riguarda il codice generato, è tutto lì nella vostra guerra, se si vuole guardare attraverso di esso. (E 'anche open source, in modo da poter vedere le cose lì.)

Cosa GWT fa durante il processo di compilazione: Si crea diverse copie di librerie JS per diversi set di browser (uno dei motivi che può richiedere alcuni minuti per compilare), è possibile aggiungere / rimuovere questi, se necessario. Questo riduce il pacchetto JS che deve essere scaricato e aumenta la velocità non deve avere quelle brutte se (EI) questo else if (FF) che. Tuttavia, quando il vostro fare il debug locale (almeno in Eclipse) non c'è bisogno di aspettare, permettendo di lasciare che per il server build (o quando è necessario per creare e distribuire (manualmente neanderthal)).

Il lato negativo di GWT. Come è un lato client javascript (quasi esclusivamente), non è possibile utilizzarla per le cose che non lo supportano, o sostengono una delle versioni. Così, per le cose come iPad e iPhone si può incorrere in alcuni problemi se non si utilizza librerie aggiuntive progettate per colmare quelle lacune (come mgwt).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top