GWT Review

Preamble


One of the main goal of the application development is efficient. In principle, we can do everything for infinite time and vast of money. This phrase is outside of reality. Resources is the main part of success. We are living in limited world. All what we are doing is bound by time and money. Software development is not an exception. In most cases what we want supplying to a customer is a COMPLEX application. Developing such applications we have to care about resources limitation mentioned above. Generally the development process has the following phases:

  • Design - how to do
  • Development - do it
  • Debugging and testing - try and fix what was done
  • Support and modification - keep up what was done


That what costs money, that what requires time. “How much” depends on the way we are following: either it is going to be WEB Application or Java Application. In first case we get long-term development because of the WEB nature - no programming language, no extendible components in a browser model are available, debugging is tricky, support and modification are nightmare. It is true since WEB technology has never ever been considered as a platform for a user application development, particularly for complex applications.



Today Google is a leader on the WEB development market. So it makes sense to take a look and try to understand if the famous company is able to provide a solution which makes WEB development world much better. To do it I have reviewed Google Widgets Toolkit, toolkit which can or can’t breath new life in WEB development.

GWT Disadvantages

  • GWT uses not even small, but tiny part of the Java Platform. Generally Java is far superior language comparatively to Java Script. It makes impossible a mapping between Java and script. Script != Language
    • Two packages “java.lang” and “java.util” GWT supports only a small subset of the classes available in the Java 2 Standard and Enterprise Edition libraries, as these libraries are quite large and rely on functionality that is unavailable within web browsers. To find out exactly which classes and methods are supported for core Java runtime packages, see the API reference for java.lang and java.util, which lists supported classes and contains notes on behavioural differences from the standard Java runtime.
    • No synchronization, thread concurrency support. Java Script supports single thread mode only.
    • Reflection, Serialization
  • GWT UI components are still based on the standard provided by a browser. Impossibility of extending its behaviour is a nature of the components. So if you need a specific GWT components you have to know JavaScript.
  • Writing a GWT application from time to time you have to put HTML string in Java Code.
  • We cannot re-use huge number of technologies, libraries which is standard for a Java Application today.
  • Rumour says it has not been used by Google itself. The project Open Source project is supposed to attract developers attention, collect ideas and get and understanding where we are with the WEB.

Summary:
This is very interesting project, which helps first of all to understand reality of the WEB development. New initiatives, new names - AJAX, WEB 2.0 - just a mascaraed around old boy - DHTML which we have and we had for ages.

GWT Advantages

  • Debugging in Hosted Mode.
  • Simplicity