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 lanzado GWT - una ventana de herramientas de java que convierte sus aplicaciones java (utilizando el kit de herramientas API) para javascript (incl. AJAX) y HTML. What follows is a brief review of the features and some thoughts. Lo que sigue es una breve reseña de las características y algunas reflexiones. But first lets see why Google thinks it is important. Pero primero permite ver por qué piensa que Google es 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 tecnologías ofrecen un desarrollo productivo plaform, y con GWT, que puede instantáneamente convertirse en la base de su plataforma de desarrollo AJAX también. Here are some of the benefits of developing with GWT: Estos son algunos de los beneficios del desarrollo con GWT:

  • You can use all of your favorite Java development tools (Eclipse, IntelliJ, JProfiler, JUnit) for AJAX development. Puede utilizar todas sus favoritos herramientas de desarrollo Java (Eclipse, IntelliJ, JProfiler, JUnit) para el desarrollo AJAX.
  • Static type checking in the Java language boosts productivity while reducing errors. Static tipo de control en el lenguaje Java aumenta la productividad al tiempo que se reducen los errores.
    Common JavaScript errors (typos, type mismatches) are easily caught at compile time rather than by users at runtime. Los errores comunes de JavaScript (errores, desajustes tipo) son fácilmente capturados en tiempo de compilación en lugar de por los usuarios en tiempo de ejecución.
  • Code prompting/completion is widely available. Código llevó / la está ampliamente disponible.
  • Automated Java refactoring is pretty snazzy these days. Automatizado de Java refactoring es bastante snazzy estos días.
  • Java-based OO designs are easier to communicate and understand, thus making your AJAX code base more comprehensible with less documentation. Basadas en Java OO diseños son más fáciles de comunicar y entender, lo que hace AJAX su base de código más comprensible con menos documentación.

There are several good reasons why Hay varias buenas razones por las GWT is an irrelevant technology. es una tecnología irrelevante.

Google assumes developing AJAX applications are “difficult and error prone”. Google asume en desarrollo de aplicaciones AJAX es "difícil y propenso a errores". That is far from reality. Eso está muy lejos de la realidad. 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. Hay varias herramientas de alta calidad disponibles para el desarrollo de aplicaciones AJAX como hoy DWR (para Java), SAJAX (para PHP, Ruby, etc), prototype.js (JS Toolkit), Dojo (para efectos) y docenas de otros.

GWT doesn’t really simplify the development life-cycle. GWT realmente no simplificar el desarrollo del ciclo de vida. 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). Lo que puede ser adquirida en el desarrollo en Java puro (suponiendo que hay una importante ganancia después de compensar la curva de aprendizaje, por lo menos al principio) es muy probable que se compensará durante las pruebas de integración (después de la compilación).

Most of AJAX/Javascript provide high level of transparency into the process thereby allowing you to debug any problems easily. La mayor parte de AJAX / Javascript proporcionan un alto nivel de transparencia en el proceso lo que le permite depurar cualquier problema fácilmente.

Transparency is something which we will be sorely missing in GWT. La transparencia es algo que nos será muy desaparecidos en GWT. You have to rely on Google to deliver defect free product to base your business upon. Usted tiene que confiar en Google a entregar libre de defectos de productos a base de su negocio al respecto. I have used several windowing toolkits and I know how difficult it is to make them defect free. He utilizado varias ventanas de herramientas y sé lo difícil que es hacer de ellos libre de defectos. If I have to choose Java windowing toolkits my obvious preference will be swing or swt. Si tengo que elegir ventanas de herramientas Java evidente mi preferencia será 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. Para aplicaciones web y no quiero lío con HTML y Javascript (con decir Prototipo o SAJAX o DWR), en lugar de que Google generar algunos thingamajig para mí.

GWT machine-generates Javascript from your Java code. GWT-máquina genera el Javascript de su código Java. IMO that is a dangerous path to take. OMI, que es un camino peligroso para tomar. The generated code (in javascript to boot) is always very painful to debug when required. El código generado (en javascript para arrancar) es siempre muy doloroso para depurar cuando sea necesario. And trust me it will be required for any decent web application that does anything significant. Y créeme que será necesario para cualquier aplicación web decente que haga algo significativo.

You can also run GWT in hosted mode. También puede ejecutar GWT acogido en modo de espera. In hosted mode, your application is run as Java bytecode within the Java Virtual Machine (JVM). En el modo de anfitrión, su aplicación se ejecuta como bytecode de Java dentro de la Java Virtual Machine (JVM). This is beneficial for sdevelopment. Esto es beneficioso para 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. Sin embargo, obviamente no es una opción por encima de llanura Javascript / html interfaz, ya que requiere la integración de un navegador de control (control de Internet Explorer en Windows o un Gecko / Mozilla control en Linux) con ganchos en la JVM.

The somewhat good news is GWT ships with the complete source code for the library under an open source license. La buena noticia algo es GWT los buques con el código fuente completo de la biblioteca bajo una licencia Open Source. However considering the nature of the beast I doubt you will gain much from going under the hood of the generator. Sin embargo teniendo en cuenta la naturaleza de la bestia me cabe duda de que ganarán mucho de ir bajo la cubierta del generador. I wish you best of luck on that. Le deseo mucha suerte en eso.

For some strange reason the following makes me very uncomfortable: Por alguna extraña razón, el siguiente me hace muy incómodo:

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). Si GWT la biblioteca de clases no se ajusta a sus necesidades, puede mezclar a mano JavaScript en su código fuente Java usando nuestro JavaScript Native Interface (JSNI).

And then the privacy issue: Y entonces la cuestión de privacidad:

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. Cuando usted usa el Google Web Toolkit aloja navegador web, la aplicación envía una solicitud de nuevo a los servidores de Google para ver si está usando la versión más reciente del producto. 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. Como parte de esta petición, Google registra datos de uso incluyendo la fecha de la fecha y la hora en la que se descargó el Google Web Toolkit y la dirección IP de su ordenador.

In conclusion I think it is a decent attempt to simplify web development and they deserve kudos for that. En conclusión, creo que es un buen intento de simplificar el desarrollo web y que se merecen para que kudos. However I don’t think it will make much impact in web application development landscape. Sin embargo no creo que hará mucho impacto en el desarrollo de aplicaciones web paisaje. On a different note I am happy to see Google commitment to Java and acknowledging Java technologies offer a productive development plaform. En una nota diferente Me alegra ver a Google compromiso con Java y Java reconociendo tecnologías ofrecen un desarrollo productivo plaform.