Google has released GWT - a java window toolkit which converts your java applications (using the toolkit API) to javascript (incl. AJAX) and HTML. Google a publié GWT - une fenêtre d'outils Java qui convertit vos applications java (en utilisant la boîte à outils API) à JavaScript (AJAX y compris) et HTML. What follows is a brief review of the features and some thoughts. Ce qui suit est un bref examen des caractéristiques et des éléments de réflexion. But first lets see why Google thinks it is important. Mais d'abord, permet de voir les raisons pour lesquelles Google pense que c'est important.


Java technologies offer a productive development plaform, and with GWT, they can instantly become the basis of your AJAX development platform as well. Java technologies offrent un développement productif plaform, et avec GWT, ils peuvent instantanément devenir la base de votre plate-forme de développement AJAX ainsi. Here are some of the benefits of developing with GWT: Voici quelques-uns des avantages de mettre en oeuvre avec GWT:

  • You can use all of your favorite Java development tools (Eclipse, IntelliJ, JProfiler, JUnit) for AJAX development. Vous pouvez utiliser tous vos outils de développement Java (Eclipse, IntelliJ, JProfiler, JUnit) pour le développement AJAX.
  • Static type checking in the Java language boosts productivity while reducing errors. Typage statique dans le langage Java augmente la productivité tout en réduisant les erreurs.
    Common JavaScript errors (typos, type mismatches) are easily caught at compile time rather than by users at runtime. JavaScript commune erreurs (fautes de frappe, type de décalages) sont facilement pris au moment de la compilation plutôt que par les utilisateurs au moment de l'exécution.
  • Code prompting/completion is widely available. Code incitant / d'achèvement est largement disponible.
  • Automated Java refactoring is pretty snazzy these days. Automated Java refactoring est assez snazzy ces jours-ci.
  • Java-based OO designs are easier to communicate and understand, thus making your AJAX code base more comprehensible with less documentation. Basée sur Java OO dessins sont plus faciles à communiquer et à comprendre, ce qui rend votre base de code AJAX plus compréhensible avec moins de la documentation.

There are several good reasons why Il ya plusieurs bonnes raisons GWT is an irrelevant technology. est une technologie sans pertinence.

Google assumes developing AJAX applications are “difficult and error prone”. Google prend en développement d'applications AJAX sont "difficiles et erreurs". That is far from reality. C'est loin de la réalité. 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. Il existe plusieurs outils de haute qualité disponibles pour le développement d'applications AJAX aujourd'hui comme DWR (pour Java), SAJAX (pour PHP, Ruby etc), prototype.js (JS Toolkit), Dojo (pour les effets) et douzaine d'autres.

GWT doesn’t really simplify the development life-cycle. GWT ne pas vraiment simplifier le développement du cycle de vie. 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). Pages mai être acquise dans la mise au point en pur Java (s'il en existe un important gain de compensation après la courbe d'apprentissage, au moins dans un premier temps) est très susceptible d'être compensé au cours de tests d'intégration (après compilation).

Most of AJAX/Javascript provide high level of transparency into the process thereby allowing you to debug any problems easily. La plupart d'AJAX / Javascript fournir niveau élevé de transparence dans le processus ce qui vous permet de déboguer les problèmes facilement.

Transparency is something which we will be sorely missing in GWT. La transparence est quelque chose qui nous sera cruellement défaut dans GWT. You have to rely on Google to deliver defect free product to base your business upon. Vous devez compter sur Google défaut de fournir gratuitement des produits de base sur votre entreprise. I have used several windowing toolkits and I know how difficult it is to make them defect free. J'ai utilisé plusieurs outils de fenêtrage et je sais combien il est difficile de faire défaut à disposition de tous. If I have to choose Java windowing toolkits my obvious preference will be swing or swt. Si je dois choisir des outils Java de fenêtrage mon évidente préférence sera Swing ou 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. Pour des applications web Je préfère mess avec le langage HTML et Javascript (avec ou dire Prototype SAJAX ou DWR) plutôt que de générer des Google Creation pour moi.

GWT machine-generates Javascript from your Java code. GWT machine génère le Javascript de votre code Java. IMO that is a dangerous path to take. Que l'OMI est une voie dangereuse à prendre. The generated code (in javascript to boot) is always very painful to debug when required. Le code généré (en javascript pour démarrer) est toujours très douloureux de débogage en cas de besoin. And trust me it will be required for any decent web application that does anything significant. Et croyez-moi, il sera nécessaire pour toute application Web décent que rien ne significatif.

You can also run GWT in hosted mode. Vous pouvez également exécuter GWT en mode hébergé. In hosted mode, your application is run as Java bytecode within the Java Virtual Machine (JVM). En mode hébergé, votre demande est géré comme bytecode Java dans la Java Virtual Machine (JVM). This is beneficial for sdevelopment. Cela est bénéfique pour 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. Toutefois, il n'est évidemment pas un choix clair au-dessus de Javascript / interface html car il nécessite l'intégration de contrôle d'un navigateur (Internet Explorer un contrôle sur Windows ou un Gecko / Mozilla contrôle sur Linux) avec des crochets dans la JVM.

The somewhat good news is GWT ships with the complete source code for the library under an open source license. Le peu de bonnes nouvelles GWT est livré avec le code source complet de la bibliothèque sous une licence open source. However considering the nature of the beast I doubt you will gain much from going under the hood of the generator. Toutefois compte tenu de la nature de la bête, je doute vous gagnerez beaucoup d'aller sous le capot du générateur. I wish you best of luck on that. Je vous souhaite bonne chance à ce sujet.

For some strange reason the following makes me very uncomfortable: Pour quelque étrange raison, la suite me fait très mal à l'aise:

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 la classe de GWT bibliothèque ne répond pas à vos besoins, vous pouvez mélanger la main JavaScript dans votre code source Java en utilisant notre JavaScript Native Interface (JSNI).

And then the privacy issue: Et puis la vie privée parution:

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. Lorsque vous utilisez Google Web Toolkit est hébergé navigateur Web, l'application envoie une demande de retour les serveurs de Google pour vérifier pour voir si vous utilisez la dernière version du produit. 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. Dans le cadre de cette demande, Google enregistre des données d'utilisation, y compris un timestamp de la date et l'heure que vous avez téléchargé Google Web Toolkit et l'adresse IP de votre ordinateur.

In conclusion I think it is a decent attempt to simplify web development and they deserve kudos for that. En conclusion, je pense que c'est une tentative décent pour simplifier le développement Web et ils méritent félicitations pour cela. However I don’t think it will make much impact in web application development landscape. Cependant, je ne pense pas qu'il fera un grand impact dans le développement d'applications Web paysage. On a different note I am happy to see Google commitment to Java and acknowledging Java technologies offer a productive development plaform. Sur une note différente, je suis heureux de voir l'engagement de Google à Java et en reconnaissant les technologies Java offre un développement productif plaform.