Будь-яке інтернет-додаток епохи WEB2 — це перш за все «багатий» і функціональний інтерфейс, виконаний з використанням технології Ajax, а отже, JavaScript.Его створення — досить непроста, вимагає скрупульозності завдання, на вирішення якої витрачаєш чимало време ні — на налагодження, забезпечення кросбраузерність сумісності, боротьбу з примхами JavaScript та інші речі, мало мають спільного з розробкою та проектуванням реалізації бізнес-логіки.На щастя, вже створено чимало інструментів, що полегшують це завдання.Фреймворк Google Web Toolkit нехай і не єдина призначена для цього середу, але вона вже встигла себе зарекомендувати полнофунк національним, працездатними RIA-додатками.Що це?Навіщо?На перше питання відповісти легко — це фреймворк-середу, набір засобів та API-інтерфейсів для розробки веб-прі ложении.Її відмінна особливість в тому, що вся розробка і, що суттєво, налагодження ведеться на Java з помо щью звичної IDE (зараз існують плагіни для Eclipce і NetBeans) з подальшою компіляцією готового додатку ня в HTML / JavaScript.Власне, реальність використан ня середовищ розробки частково є відповіддю на друге запитання.Створювати складне веб-додаток на строго типизированном ООП-мовою, з можливістю нормального проектування в улюбленій IDE, «людської» налагодженням, Unit тестуванням ще недавно здавалося недосяжною мрією.Google Web Toolkit багато в чому є втіленням цієї мрії в життя.Процес налагодження програми тут набагато більш легкий і ефективний, тому що найбільш поширеною ненние помилки в JavaScript тепер спливають під час компіляції, а не виконання, а такі помилки, як несоот ветствие типів або відсутність необхідних методів, виявив ляють ще на стадії написання коду.Підказки та автодом полнение — нормальний функціонал IDE, хоч і не життєво важливий, але досить істотно підвищує виробляй ність, а повноцінний рефакторинг (який також те пер доступний) в сучасних умовах просто необхідний.Окремо слід згадати про ООП-розробку.Реалізація цієї концепції в JavaScript викликає багато спра ведлівих нарікань і є причиною невиправданої складності розробки.У середовищі GWT ви програмуєте на Java, і ніяких проблем такого роду не виникає.