Cosa ne pensi di GWT? [chiuso]


11

Da quando sto imparando Java in questo periodo e ho appena finito i tutorial, penso di essere pronto per iniziare a contribuire a un progetto (dal momento che so per esperienza questo è il modo migliore per imparare davvero).

Ho visto GWT, sembra interessante, quindi ho pensato di provarlo. Sto pensando comunque, dal momento che GWT distribuisce le applicazioni Java in JavaScript perché dovrei imparare GWT quando invece potrei imparare la cosa reale (questo è JavaScript). La mia domanda: ne vale la pena? Qualcuno non sarebbe meglio di imparare JavaScript se volesse creare applicazioni JS, invece di usare Java e GWT? Mi rendo conto che potrebbe essere più semplice costruire determinate cose con GWT ma alla fine ne vale la pena?

Grazie.


3
Eppure le persone imparano direttamente C invece di programmare sistemi nel codice macchina.
haylem,

Risposte:


6

GWT è essenzialmente un compilatore per codice nativo, proprio come Visual Studio compila i sorgenti in codici byte o linguaggio macchina.

Ciò consente al programmatore di sottrarre le differenze nell'architettura sottostante, proprio come gli utenti di Visual Studio non devono preoccuparsi delle differenze nella lunghezza delle parole, del numero di registri e delle convenzioni esatte per chiamare il sistema operativo quando codificano per 32-bit o 64 -po.

Questa è una buona cosa, in quanto ti consente di spostare alcuni degli oneri di manutenzione su altri. Dato che si tratta di Google, sai che hanno più risorse di sviluppo di quelle che hai, quindi essenzialmente stai introducendo risorse umane gratuite.


2
Un altro vantaggio è il debug in modalità host. In questo modo è possibile eseguire il debug della logica della propria applicazione, sia sul lato client che sul lato server e con tutti gli strumenti del passaggio attraverso il debugger.
Jeremy,

5

Non mi piace

Tutto ciò che puoi fare con esso puoi fare più pulito senza di esso.


Essere d'accordo. Ma stai scrivendo pagine con più immagini con un file per immagine. Destra ?

1
@Rocket: non capisco cosa significhi "più immagini, un file per immagine" .
Josh K,

4
@Rocket: non riesco a vedere quali immagini hanno a che fare con GWT. Se vuoi abilitare gli sprite puoi, altrimenti sì hai più immagini.
Josh K,

1
@Josh La mia ipotesi è che stai aggiungendo piccole animazioni ecc. Piuttosto che scrivere un grande complesso. C'è un motivo per cui i linguaggi di scripting sono limitati a piccole attività e i linguaggi tipizzati staticamente vengono utilizzati per attività più grandi.
mP01

2
In una parola strumenti. Nessuno ha scritto un vero editor comparabile per JavaScript rispetto ai molti disponibili per Java.
mP01

2

La vera ragione per cui GWT ha preso Java come linguaggio di origine è perché JS (Ecmascript) è disumanomente difficile con cui lavorare. GWT è solo un bel modo per portare la programmazione su Web / browser dove prima non era possibile.

Prima di GWT c'erano inutili tentativi di programmare qualcosa nei browser (Ajax, dojo, javascript semplice). Ma le forze della natura sono troppo violente lì, quindi tutto cade a pezzi (i browser cambiano, non sono mai gli stessi, le persone parlano lingue diverse, le persone pensano che 15 immagini dovrebbero essere in realtà 15 file ecc.).

Quindi la risposta è: se dovessi codificare per Internet Ocean Caldaia (che non è il mio lavoro), sceglierei GWT.

PS Un altro pensiero. Il JS è realizzato da Netscape. La compagnia è morta da molto tempo ma la lingua rimane incompiuta e in decomposizione


6
-1 ECMAScript è costantemente sviluppato; ECMAScript 5 è appena uscito l'anno scorso e ActionScript, il linguaggio di Flash, è ECMAScript.

16
-1. JavaScript non è "disumanamente difficile" da programmare. Trovi JavaScript difficile, molto probabilmente non molto intelligente. Prima di GWT c'erano persone che sapevano cosa stavano facendo. Dopo GWT ci sono persone che non possono codificare JavaScript (e usare GWT) e quelle che possono (e non usano GWT). Inoltre, JavaScript è esploso oltre il browser, guarda Node.js e MongoDB. Utilizzare SpiderMonkey o V8 per scrivere script indipendenti dalla piattaforma.
Josh K,

3
@Josh K. Considero anche Visual Basic 6 ancora più difficile da programmare rispetto a JS. Java è più semplice di circa 50 volte rispetto a Basic. E CSharp è più facile potrebbe essere 2 volte di Java. Per difficoltà intendo realizzare applicazioni pratiche complesse che sono gestibili, create in team, vendute ai clienti. Non mi importa delle differenze nello zucchero sintattico. E penso che se devi essere molto intelligente per usare la lingua, allora qualcosa non va nella lingua.

3
JavaScript è molto facile da progettare applicazioni gestibili di grandi dimensioni costruite dai team. L'ho fatto. Non c'è nulla di difficile nello scrivere un codice modulare, tranne le persone che decidono di non farlo.
Josh K,

Non confondere DOM con JavaScript. Non è JS il problema.
Andrew T Finnell,

2

Alcuni motivi che è buono per recuperare il ritardo con GWT:

  • Ogni tecnologia ha un ciclo di vita. GWT è al suo apice. Imparare GWT ti darà il vantaggio tecnologico per un periodo più lungo di tempo futuro.
  • GWT usando Java, porta struttura all'applicazione web. JavaScript è più adatto per gli script. Supportato da Java, GWT è più adatto per applicazioni di grandi dimensioni. Se hai notato i framework / toolkit in cima a JavaScript, puoi concludere come faccio io che JavaScript da solo non è sufficiente per progetti seri. Tutti questi framework portano strutture allo sviluppo delle applicazioni. GWT è uno di quei framework ed è quello che prevarrà.
  • L'applicazione mobile è una rivoluzione nel mondo del software. La rivoluzione è al suo stadio iniziale proprio ora. Sempre più software si sposteranno su piattaforme mobili. GWT è ora lo strumento di sviluppo di applicazioni multipiattaforma più completo che puoi trovare.

Detto questo, GWT non è in realtà strettamente correlato ai framework dei servizi Web di Google o Sun (servlet). Gli strumenti integrati si concentrano maggiormente sull'integrazione con i loro server, a causa della natura aziendale di google o sun. Per sfruttare la potenza tecnologica di GWT, si dovrebbe più o meno ignorare parte dell'hyper di integrazione del server. Usa GWT come strumento per l'applicazione client, dovrebbe essere più vantaggioso per la tua carriera futura.


1

Dipende da cosa vuoi fare (come per la maggior parte degli strumenti).

Se vuoi entrare nei dettagli dello sviluppo web, utilizzare molti trucchi (a volte diversi) dell'ambiente del browser e le loro funzionalità più recenti, devi avere il coraggio di combattere con piccoli trucchi che rendono la tua app Web "accattivante", GWT sarà sempre sulla tua strada: se hai il tempo e l'esperienza, puoi fare tutto e di più con le tue mani. E sì, ci sono molti altri toolkit che ti aiuteranno lungo la programmazione in JavaScript.

Tuttavia, se si desidera creare una GUI "non troppo elaborata", ma stabile per l'applicazione che "dovrebbe", e nella maggior parte dei casi fare davvero lo stesso, e apparire uguale in vari browser senza trucchi, GWT è una buona scelta, la migliore che io conosca. Spiegazione: Google è decisamente motivato a mantenerlo sincronizzato con la maggior parte dei browser e le tecnologie più recenti e ha sicuramente risorse sufficienti per farlo. Sì, aderisci a un altro gigante invece di fare le tue cose. Domanda: che lavoro fai? Fornire lo stesso servizio alla più ampia rabbia degli utenti attraverso un'interfaccia Web con il minimo sforzo o creare un portale Web brillante ed eccezionale che abbia le funzionalità più interessanti sulle piattaforme più recenti.

Motivo +1: penso che sia utile mantenere l'applicazione in una base di codice e in una lingua. Potresti fare un bel trucco negli script del database, ma ti blocchi a quel server db. Puoi fare cose esterne con script di shell o file batch, ma ti blocchi al sistema operativo. È possibile implementare parte della logica del controller in JavaScript per fornire una ricca interfaccia client in un browser, ma è possibile bloccarsi in un browser. In tutti i casi, non è facile mantenerli sincronizzati con la struttura e i requisiti dei dati dell'applicazione principale (e forse il più difficile è il browser in costante evoluzione + l'ambiente degli strumenti JS). Sono convinto che se l'applicazione principale è in Java, tutte le cose dovrebbero essere in Java - con una piccolissima frazione di casi in cui devi davvero inserire una parte della logica in un altro ambiente.

Ho scelto GWT per le mie risposte alle domande precedenti - e fa quello che volevo fare: in circa 2 settimane dopo l'installazione avevo un'interfaccia web accettabile per un sistema di monitoraggio interno del server - sebbene avessi esperienza con Swing. (No, non ho usato l'aspetto predefinito e sì, ho usato CSS e classi per presentare informazioni logiche :-))

Controlla le tue attività attuali e pianificate e scegli lo strumento giusto per loro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.