Domanda

Sono un grande fan dei framework javascript, in particolare di jQuery. Ho sempre desiderato progettare siti come " plurk.com " ma so che ha bisogno di enormi linee di javascript.Quindi mi ha spento. Ma da quando ho conosciuto GWT, voglio davvero testarlo e voglio chiederti se rende il nostro lavoro più facile sviluppare cose complesse che con javascript o i suoi framework. Quale preferiresti?

È stato utile?

Soluzione

Poche cose mi spaventano come "generato Javascript". The Law of Leaky Abstractions deve essere doppiamente vero in questi casi.

Scrivere javascript su più browser è un processo complicato di perfezionamento continuo. Cercare di decifrare dove qualche Javascript generato e oscurato sta andando storto è un grosso mal di testa. È abbastanza grave correggere bug nelle librerie JS pure.

Per me, GWT è un trucco volto a consentire agli sviluppatori back-end di scrivere codice nel browser nel front-end. Sfortunatamente, la realtà delle moderne app Web significa che devi solo conoscere Javascript e DOM. Qualcosa si romperà e dovrai sapere perché.

Penso che sia meglio scegliere una buona libreria javascript come jquery o prototipo e impararla bene. Quelle librerie astraggono il tipo di cose che DOVREBBERO essere astratte ed è improbabile che si rompano in casi limite, come le operazioni di array e le richieste AJAX.

Altri suggerimenti

Penso che alcune delle risposte a questa domanda siano piuttosto non informate e sospetto che le persone che le hanno risposto non abbiano mai usato GWT su progetti su larga scala. Sì, GWT è un ottimo modo per realizzare grandi siti Web AJAX e per siti complessi di grandi dimensioni, che coinvolgono anche un back-end, dà dei calci a cose come JQuery su e giù per il parco. Il modo in cui lo guardo sempre è che JavaScript da solo è ottimo per fare piccole cose sul lato client. Quando devi fare qualcosa di più complesso (come campi dinamici, popup, animazioni) porti qualcosa come JQuery o Prototype. Quando vuoi fare un passo avanti vai con GWT.

Le persone presumono che, poiché lo scrivi in ??Java, sia progettato per gli sviluppatori back-end per lo sviluppo del front-end. Non è. Java è semplicemente il linguaggio che hanno scelto, principalmente perché è ampiamente usato, tipizzato staticamente e ci sono molti buoni editor là fuori per questo.

Non compro neanche la teoria dell'astrazione che perde, non cerca di estrarre completamente gli elementi HTML, in quanto ti dà accesso diretto sia al javascript nativo che al DOM se scegli di usarli.

In breve abbiamo creato siti molto complessi (uno dei quali è stato descritto sul blog GWT) in GWT, e usando anche altre librerie come JQuery. Posso dirti con la certezza del 100% che una volta che hai la testa su GWT uccide quegli altri framework morti per compiti complessi. Ha anche delle grandi cose integrate che aiutano a migliorare le cose, e fa anche alcune cose che nessun altro framework supporta (come la magia che può fare con le immagini). Vedi questo post del blog per maggiori dettagli:

http://googlewebtoolkit.blogspot.com/ 2007/10 / epo-costruttore-built-con-gwt.html

Sì, poiché utilizzerai Java e non Javascript.

IDE superbi, analisi di codice statico, ricerca e refactoring: tutto ciò renderà la tua vita molto più semplice su grandi progetti.

No. Non

Non rimuove la complessità, ma ti consente solo di affrontarla da una prospettiva Java. Dal momento che questo ti dà tutti gli strumenti disponibili da Java ... che da soli potrebbe valerne la pena.

Gli IDE JavaScript stanno migliorando sempre di più, e in genere se stai usando un Framework come jQuery o Prototype, probabilmente lo troverai più facile che gestire un livello di astrazione pesante come GWT.

La mia preferenza personale è quella di adottare il puro approccio JavaScript, ma questo perché mi piace poter lavorare più da vicino con il metal, e sono abbastanza disciplinato da domare i miei gatti JavaScript.

Con GWT, in realtà non stai scrivendo JavaScript; la sua proposta di valore è che puoi scrivere Java che compilerà in JavaScript per te.

Sto lavorando a un progetto che ha utilizzato GWT per ottenere risultati piuttosto buoni. È una buona scelta per noi poiché siamo tutti principalmente sviluppatori Java che lavorano su strumenti interni. Non posso parlare di quanto sia utile per i siti di grandi utenti finali.

Un vantaggio che apprezzo particolarmente è la serializzazione e la deserializzazione senza soluzione di continuità degli oggetti. Non solo i dettagli di XML-RPC vengono sottratti, ma poiché lo stesso codice Java viene compilato in codice byte per il server e javascript per il browser, è possibile codificare quasi come se il server e il client fossero in esecuzione in caricatori di classi separati nella stesso JVM. Ad esempio, è possibile costruire un oggetto Java sul server, inviarlo al browser come valore di ritorno da una chiamata di servizio RPC e il codice del browser può quindi utilizzare la classe Java identica per manipolare l'oggetto appena restituito. Allo stesso modo, i parametri per le chiamate RPC possono essere costruiti come oggetti Java, con il server che riceve un oggetto Java identico sull'altra estremità. Tutto questo senza confusione nei dettagli della (de) serializzazione.

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