I was recently looking into Google Web Toolkit and it seemed really interesting. I was curious what can I really do with it, can I simple register and login system or similar things?
That's an awfully broad question, isn't it?
From Wikipedia:
Google Web Toolkit (GWT /ˈɡwɪt/)) is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files. It is licensed under the Apache License version 2.0.1
...
Using GWT, developers can rapidly develop and debug AJAX applications in the Java language using the Java development tools of their choice. When the application is deployed, the GWT cross-compiler translates the Java application to standalone JavaScript files that are optionally obfuscated and deeply optimized.
For anything any more detailed, I think a more detailed question is needed.
You can write any kind of website with it:
Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications.
Translation:
GWT is a bunch of tools to help you make a website.
In short:
You can develop in a pretty easy way web AJAX applications in a desktop app way.
It is:
web AJAX application: page or bunch of pages that has Javascript and the like to communicate with the server and bring the data that changes (not all the data). Think in gmail or gmaps by example. Web that is pretty dynamic.
desktop-app way: using objects like panels, textboxes, events and event handlers, grids. Things you are used to use in a Window-app (like Swing, SWT, AWT, and the like).
Also tt helps a lot in: - optimizing javascript and loading of resources - making apps compatible with diferent browsers - maiking easy to build new components and re use them
Google Web Toolkit can be used in many ways:
- as a framework for building Rich Internet Applications (RIA) from scratch - the most common use, AFAICT. Examples include Google Wave, the Google AdWords advertiser interface or Lombardi's Blueprint,
- as a tool for building small (either code-wise or size-wise :)) Widgets to be included on a "regular" website. For example, you can build a nice, fully customized WYSIWYG editor in GWT and include it in your web page,
- as a base framework for a more complex/customized one - examples include Ext GWT/GXT and SmartGWT. This point is the reason why base GWT Widgets are simple and/or plain - GWT is meant to be tool for you to build your own more complex and customized Widgets. If you are not up to the "challenge" you can use the mentioned GWT-based frameworks. But note that these frameworks tend to be heavier/slower than pure GWT - the price for including everything, including kitchen sink ;)
- as a sort of in between solution - when you have some parts of your application (old, legacy stuff or something like that) in JavaScript, but you want to add new functionalities using GWT (and possibly, in the future, go with GWT all the way). JSNI and JavaScript overlay types allow mixing plain old JavaScript (POJS anyone?) with GWT Widgets and such,
- other uses include some extreme/'hackish' stuff (but in an awesome way), like:
- GWT Extreme
- gwtquery - "a jQuery-like API written in GWT"
... and many others. GWT is a very robust framework, IMHO. Maybe the question should be "Google Web Toolkit, what can't I do with it?" ;)