Google has released GWT - a java window toolkit which converts your java applications (using the toolkit API) to javascript (incl. AJAX) and HTML. Google ha rilasciato GWT - una finestra java toolkit che converte il vostro applicazioni Java (usando il toolkit API) a javascript (incl. AJAX) e HTML. What follows is a brief review of the features and some thoughts. Quello che segue è una breve rassegna delle caratteristiche e alcune riflessioni. But first lets see why Google thinks it is important. Ma prima lascia vedere il motivo per cui Google pensa che è importante.


Java technologies offer a productive development plaform, and with GWT, they can instantly become the basis of your AJAX development platform as well. Java tecnologie offrono uno sviluppo produttivo plaform, e con GWT, essi possono immediatamente diventare la base della vostra piattaforma di sviluppo AJAX come bene. Here are some of the benefits of developing with GWT: Ecco alcuni dei vantaggi in via di sviluppo con GWT:

  • You can use all of your favorite Java development tools (Eclipse, IntelliJ, JProfiler, JUnit) for AJAX development. È possibile utilizzare tutti i tuoi preferiti strumenti di sviluppo Java (Eclipse, IntelliJ, JProfiler, JUnit) per lo sviluppo AJAX.
  • Static type checking in the Java language boosts productivity while reducing errors. Statica tipo di controllo in linguaggio Java incrementa la produttività, riducendo al tempo stesso gli errori.
    Common JavaScript errors (typos, type mismatches) are easily caught at compile time rather than by users at runtime. JavaScript comuni errori (errori di battitura, digitare l'inadeguatezza) sono facilmente catturati in fase di compilazione, piuttosto che dagli utenti in fase di esecuzione.
  • Code prompting/completion is widely available. Codice richiesta / conclusione è ampiamente disponibile.
  • Automated Java refactoring is pretty snazzy these days. Java refactoring automatizzato è piuttosto snazzy questi giorni.
  • Java-based OO designs are easier to communicate and understand, thus making your AJAX code base more comprehensible with less documentation. Basato su Java OO disegni e modelli sono più facili da comprendere e comunicare, rendendo il tuo AJAX base di codice più comprensibile a meno documentazione.

There are several good reasons why Ci sono molte buone ragioni per le quali GWT is an irrelevant technology. è un irrilevante tecnologia.

Google assumes developing AJAX applications are “difficult and error prone”. Google assume in via di sviluppo di applicazioni AJAX sono "difficile e inclini errore". That is far from reality. Che è ben lungi dall'essere realtà. There are several high quality toolkits available for developing AJAX applications today like DWR (for Java), SAJAX (for PHP, Ruby etc.), prototype.js (JS Toolkit), Dojo (for effects) and dozen others. Ci sono diversi kit di strumenti di alta qualità disponibili per lo sviluppo di applicazioni AJAX oggi come DWR (per Java), SAJAX (per PHP, Ruby, ecc), prototype.js (JS Toolkit), Dojo (per gli effetti) e decine di altri.

GWT doesn’t really simplify the development life-cycle. GWT non realmente semplificare lo sviluppo del ciclo di vita. What may be gained in developing in pure Java (assuming there is a significant gain after offsetting the learning curve, at least initially) is very likely to be offset during integration testing (post-compilation). Che cosa può essere acquisita in via di sviluppo in puro Java (supponendo che non vi è un notevole guadagno di compensazione dopo la curva di apprendimento, almeno inizialmente) è molto probabile che sia compensata nel corso di test di integrazione (post-elaborazione).

Most of AJAX/Javascript provide high level of transparency into the process thereby allowing you to debug any problems easily. La maggior parte di AJAX / Javascript fornire elevato livello di trasparenza nel processo consentendo così di eseguire il debug di eventuali problemi facilmente.

Transparency is something which we will be sorely missing in GWT. La trasparenza è qualcosa che saremo duramente manca in GWT. You have to rely on Google to deliver defect free product to base your business upon. Dovete fare affidamento su Google di consegnare prodotto gratuito difetto di basare la tua attività commerciale su. I have used several windowing toolkits and I know how difficult it is to make them defect free. Ho utilizzato varie finestre toolkit e so quanto sia difficile renderli difetto libera. If I have to choose Java windowing toolkits my obvious preference will be swing or swt. Se devo scegliere Java finestre toolkit mio evidente preferenza verrà swing o swt. For web applications I would rather mess with HTML and Javascript (with say Prototype or SAJAX or DWR) rather than have Google generate some thingamajig for me. Per applicazioni web vorrei piuttosto pasticcio con HTML e JavaScript (a dire prototipo o SAJAX o DWR) piuttosto che di Google hanno generare alcuni Experiment per me.

GWT machine-generates Javascript from your Java code. GWT macchina da Javascript genera il tuo codice Java. IMO that is a dangerous path to take. IMO che è una pericolosa strada da percorrere. The generated code (in javascript to boot) is always very painful to debug when required. Il codice generato (in JavaScript per fare il boot) è sempre molto doloroso per il debug quando richiesto. And trust me it will be required for any decent web application that does anything significant. E la fiducia che mi verrà richiesto per dignitose qualsiasi applicazione web che fa nulla significativo.

You can also run GWT in hosted mode. Si può anche eseguire GWT ospitato in modalità di attesa. In hosted mode, your application is run as Java bytecode within the Java Virtual Machine (JVM). Ospitato in modalità di attesa, la vostra applicazione viene eseguito come bytecode Java all'interno della Java Virtual Machine (JVM). This is beneficial for sdevelopment. Questo è utile per sdevelopment. However it is obviously not a choice above plain Javascript / html interface because it requires embedding a browser control (an Internet Explorer control on Windows or a Gecko/Mozilla control on Linux) with hooks into the JVM. Tuttavia, non è ovviamente una scelta di cui sopra pianura Javascript / html interfaccia perché è necessario un browser che incastona di controllo (un controllo di Internet Explorer su Windows o un Gecko / Mozilla controllo su Linux) con ganci in la JVM.

The somewhat good news is GWT ships with the complete source code for the library under an open source license. Un po 'la buona notizia è GWT fornita con il codice sorgente completo per la libreria in virtù di un licenza Open Source. However considering the nature of the beast I doubt you will gain much from going under the hood of the generator. Tuttavia considerando la natura della bestia dubito sarà molto da guadagnare andando sotto la cappa del generatore. I wish you best of luck on that. Vi auguro buona fortuna a questo.

For some strange reason the following makes me very uncomfortable: Per qualche strana ragione la seguente mi rende molto a disagio:

If GWT’s class library doesn’t meet your needs, you can mix handwritten JavaScript in your Java source code using our JavaScript Native Interface (JSNI). GWT se la libreria di classi non soddisfa le tue esigenze, è possibile mescolare a mano JavaScript nel vostro codice sorgente Java utilizzando il nostro JavaScript Native Interface (JSNI).

And then the privacy issue: E poi la questione della privacy:

When you use the Google Web Toolkit’s hosted web browser, the application sends a request back to Google’s servers to check to see if you are using the most recent version of the product. Durante l'uso di Google Web Toolkit ospitato browser web, l'applicazione invia una richiesta ai server di Google per controllare per vedere se si sta utilizzando la versione più recente del prodotto. As a part of this request, Google will log usage data including a timestamp of the date and time you downloaded the Google Web Toolkit and the IP address for your computer. Come parte di questa richiesta, Google registra i dati di utilizzo tra cui un timestamp di data e ora è stato scaricato il Google Web Toolkit e l'indirizzo IP per il computer.

In conclusion I think it is a decent attempt to simplify web development and they deserve kudos for that. In conclusione credo che sia un dignitoso tentativo di semplificare lo sviluppo web e che meritano Kudos per questo. However I don’t think it will make much impact in web application development landscape. Tuttavia non credo che farà molto impatto in applicazione web sviluppo dell'UE. On a different note I am happy to see Google commitment to Java and acknowledging Java technologies offer a productive development plaform. Su un altro atto sono felice di vedere l'impegno di Google a Java e Java riconoscendo tecnologie offrono uno sviluppo produttivo plaform.