Indeed GWT is not a panacea. But it can definitely be called a general-purpose programming environment for client/server applications, with the client running as a browser application on a broad base of browsers without any browser-specific coding required. It is also true that because it is general-purpose, the programmer must create "data-bindings" from widgets to database tables explicitly, if his application requires this. But how should it be done differently, if GWT is supposed to be the basis of Google Mail, Google Office applications and any other application one can think of running inside a browser ? GWT is not just a database-based framework, but a very generic widget-based programming infrastructure from which programmers can build whatever they can think of.