معماری برنامه های تولید شده با استفاده از GWT
معماری کلی برنامه های تولید شده توسط GWT بر اساس معماری Client-Server می باشد . در سمت کلاینت کدهای AJAX (Javascript , HTML , CSS )قرار دارند و در سمت سرور منطق برنامه که براساس مفاهیم Java-servlet پیاده سازی شده اند قرار دارد .زمانی که در سمت کلاینت کاربر با استفاده از رابط کاربری AJAX درخواست اطلاعاتی را از سمت سرور می کند قسمت فراخوانی توابع از راه دور (Remote Procedure Call) برنامه بصورت غیر همزمان (Asynchron)و بدون اینکه صفحه مرورگر referesh شود توابع پیاده سازی شده در سمت سرور را فراخوانی کرده و اطلاعات مورد نظر را از سمت سرور آورده و به کاربر نمایش می دهند . یکی از مزایای اصلی GWT در این است که دو جزء اصلی معماری Client-Server با استفاده از یک زبان برنامه نویسی (Java) تولید می شوند که این امر باعث بالاتر رفتن سرعت توسعه و همچنین تمرکز بیشتر برروی مفاهیمی مانند کیفیت ، تحلیل و ... می شود .
اجزای اصلی GWT
GWT شامل 4 جزء اساسی است که که این 4 جزء با همکاری یکدیگر سبب شده اند چهارچوبی (Framework) قدرتمند برای توسعه برنامه با تکنیک AJAX در اختیار توسعه دهندگان قرار بگیرد .

1. کامپایلر (Java-to-Javascript) : ما از این کامپایلر برای ترجمه برنامه های GWT نوشته شده خود (با زبان برنامه نویسی جاوا) به کدهای Javascript استفاده می کنیم . برنامه AJAX تولید شده فقط شامل صفحات HTML و کدهای Javascript می باشد که می تواند برروی سرور وب قرار بگیرد .
2. Hosted Web Browser (Hosted mode): این قسمت از معماری GWT در زمان توسعه و تست نرم افزار بسیار مفید است . Hosted Web Browser به توسعه دهنده این امکان را می دهد بدون اینکه برنامه خود را به کدهای Javascript کامپایل کند برنامه خود را اجرا کنند و خروجی را مشاهده نماید (به این نوع اجرا اصطلاحا اجرای برنامه در حالت Hosted mode می گویند ) . GWT برای این منظور یک مرورگر توکار مخصوص به خود را دارد.
3. نسخه شبیه سازی شده کتابخانه های زمان اجرای جاوا (JRE emulation library ( : این جرء معماری شامل پیاده سازی Javascript اکثر کلاسهای مورد استفاده در پکیجهای java.lang و java.util نسخه استاندارد جاوا برای استفاده در سمت کلاینت می باشد . نکته مهم این است که توسعه دهندگان در برنامه نویسی سمت سرور هیچ محدودیتی در استفاده از کتابخانه های مختلف جاوا ندارند .
4. کتابخانه رابط کاربری تحت وب (Web UI class library ) : این قسمت شامل مجموعه ای کامل از اجزا رابط کاربری مورد استفاده در وب مانند : دکمه ، فرم و... می باشد (که اصطلاحا widget نامیده می شود)