# زبان های اسکریپتی > JavaScript و Framework های مبتنی بر آن > Google Web Toolkit (GWT)‎ >  آموزش GWT

## ali.akhbary

با سلام.
اولش بگم كه خودم هم در اين زمينه تازه كار هستم.

مشكل ترين قسمت: دستيابي به بخش كد توي سايت گوگل هست. اونم به خاطر اينه كه گوگل اون رو به روي ايراني ها بسته.


البته اگه از يك IP پ ر و ك س ي استفاده كنيد مشكلتون حل ميشه.
همين قدر كه IP شما ايراني تشخيص داده نشه كفايت مي كنه.
البته اينو هم بگم كه سرعت مياد پايين. ولي ارزش داره. اونقدر امكانات توي وب برا استفاده گذاشته كه خدا ميدونه.

خوب. اگه تو صفحه اصلي گوگل به قسمت MORE و سپسEVENMORE بريد مي تونيد محصولات و خدمات گوگل رو مشاهده كنيد.


و از اين قسمت مي تونيد به گوگل كد دسترسي پيدا كنيد.
اينم آدرس مستقيم

بازم ميگم حتما بايد از IP بر وكسي استفاده كنيد.

----------


## ali.akhbary

البته گوگل كد فقط GWT نيست.

واقع هرچي دستش اومده به عنوان محصولات عرضه كرده.
مثلا شما مي تونيد *انواع نمودارهاي آماري* رو به صورت هاي مختلف با رنگ و پارامترهاي مختلف، فقط و فقط با يه آدرس بدست بياري و اونو تو صفحات وب خودتون استفاده كنيد.  :کف کرده!: 

حالا فرض كنيد اين امكان نبود. بايد از كامپوننت هاي سروري استفاده مي كرديد يا اينكه خودتون اون تصاوير رو مي ساختيد.!!!!

----------


## ali.akhbary

يكي از قابليت هاي فوق العاده اي است كه قرار است در GWT 2 اضافه شود. براي روشن شدن دليل اينكه چراتيم توسعه GWT تصميم گرفته است چنين قابليتي را به GWT اضافه كند ، ابتدا توضيحي در مورد مشكلات موجود داده مي شود سپس در باره كليات اين قابليت جديد توضيحاتي آورده مي شود.

برنامه هاي AJAX بيشتر كارهاي خود را با استفاده از جاوااسكريپت انجام مي دهند و اين سبب مي شود كه حجم كدهاي جاوااسكريپت برنامه بالا رفته و تاثير مستقيمي برروي زمان اجراي اوليه برنامه بگذارد.
اگر به خروجي كامپايلر GWT توجه كرده باشيد ، اين كامپايلر به ازاي هر مرورگر (و زبان هاي كه برنامه شما از آن پشتيباني مي كند) يك فايل جاوااسكريپت با قالب نام XXXXXXXXXXXXXXXXXXXXXXX.cache.html براي شما ايجاد مي كند. زماني كه حجم كدهاي برنامه شما كم است اين فايل ها حجمي حدود 100 تا 150 كيلوبايت دارند كه بايد در زماني كه كاربر اولين درخواست مشاهده برنامه شما را داد برروي مرورگر كاربر بارگزاري شود. اما وقتي حجم كدهاي برنامه شما افزايش مي يابد حجم اين فايل ها نيز زياد مي شود (در بعضي موارد حتي بيشتر از 500 كيلوبايت ) در اينصورت كاربر براي مشاهده برنامه شما بايد بايد مدت زمان زيادي منتظر باشد.
CodeSplitting به شما اين امكان را مي دهد در زمان نوشتن برنامه با استفاده از دستور GWT.runAsync مكانهايي كه مي خواهيد برنامه split شود را مشخص كنيد. با اين كار قسمت هايي از برنامه كه با اين روش مشخص كرده ايد در زمان كامپايل درون يك فايل جداگانه كامپايل مي شود و در زمان اجرا نيز در هنگام بارگزاري اوليه برنامه برروي مرورگر كاربر بارگزاري نمي شود بلكه در صورت نياز بارگزاري مي شود.

به مثال زير توجه كنيد:
public class Hello implements EntryPoint {
 public void onModuleLoad() {
   Button b = new Button("Click me", new ClickHandler() {
     public void onClick(ClickEvent event) {
       Window.alert("Hello, AJAX");
     }
   });

   RootPanel.get().add(b);
 }
}فرض كنيد مي خواهيم اين برنامه را طوري split كنيم كه كدهاي فراخواني Window.alert جداگانه كامپايل شود ، براي اين كار كد بالا را بصورت كد زير بازنويسي مي كنيم:
public class Hello implements EntryPoint {
 public void onModuleLoad() {
   Button b = new Button("Click me", new ClickHandler() {
     public void onClick(ClickEvent event) {
       GWT.runAsync(new RunAsyncCallback() {
         public void onFailure(Throwable caught) {
           Window.alert("Code download failed");
         }

         public void onSuccess() {
           Window.alert("Hello, AJAX");
         }
       });
     }
   });

   RootPanel.get().add(b);
 }
}با اضافه شدن اين قابليت در GWT 2 شما مي توانيد بر حجم فايل هاي جاوااسكريپت ارسالي براي كاربران كنترل داشته باشيد.
http://saeedzarinfam.blogspot.com/20...splitting.html

----------


## ali.akhbary

اينم ار كتاب آموزشي GWT
البته بگم كه خودم نخوندم. ولي يه نيگاه كه انداختم جالب بود.

----------


## ali.akhbary

Google Web Toolkit مخفف GWT یک فریم ورک به زبان جاوا است برای برنامه نویسانی که میخواهد براحتی برنامه هایی بر پایه تکنولوژی آجاکس بوجود آورند.این تولکیت محصول گوگل است و نمونه های برنامه های آجاکس معروف در وب Gmail و Google Maps می باشند.

Google Web Toolkit مخفف GWT یک فریم ورک به زبان جاوا است برای برنامه نویسانی که میخواهد براحتی برنامه هایی بر پایه تکنولوژی آجاکس بوجود آورند.این تولکیت محصول گوگل است و نمونه های برنامه های آجاکس معروف در وب Gmail و Google Maps می باشند.

امروزه یکی از مشکلات برنامه نویسان که وقت بسیاری از آنها در حین نوشتن یک پروژه تلف میکند ، نبود یک استاندارد کامل در زبان جاوا-اسکریپت است که تمام مرورگر ها آن را پشتیبانی کنند. این کمبود باعث میشود برنامه نویس مجبور به تست برنامه تحت وب خود در مرورگرهای مختلف باشد. Google web toolkit شمارا از این مشکل نجات میدهد.

با کمک GWT کافیست برنامه خود را در زبان برنامه نویسی Java بنویسید و از کامپایلر GWT برای تبدیل کلاس های جاوای خود به کدهای html و javaScript استفاده کنید.
● مراحل کار در GWT بصورت زیر است :
۱) با IDE جاوایی مورد علاقه تان (Eclipse, IntelliJ, JProfiler, JUnit) ، برنامه خود را نوشته و دیباگ کنید (با استفاده از کتابخانه های جاوای GWT که برایتان مفید خواهند بود)
۲) با استفاده از کامپایلر Java-to-JavaScript در پکیج GWT برنامه نوشته شده شما به فایل های html و Javascript ترجمه میشوند که در هر سروری قابل اجرا هستند.
۳) مطمئن شوید که برنامه شما در تمام مرورگر ها کار میکند . البته این کار معمولا انجام شده است و نیازی به اضافه کاری نیست. اما جهت اطمینان برنامه تان را تست کنید.
http://www.aftab.ir/articles/compute...toolkit_p1.php

----------


## ali.akhbary

ابزار های جانبی دیگری نیز توسط چند شرکت دیگر بر پایه GWT نوشته شده است که امکانات آجاکس GWT را بیشتر میکند . از جمله VistaFei for Google Web Toolkit که توسط شرکت wirelexsoft ارائه شده است.
● کتابخانه‌های جاوا اسکریپت ajax
▪ Suggest Framework - کلاس‌های جاوا اسکریپتی که کارکردی مشابه سیستم Google Suggest دارد
▪ مثالهای AJAX - تکنیک‌های مختلف دسترسی به دیتا به کمک جاوا و جاوا اسکریپت. حاوی یک PowerPoint درباره مشکلات برنامه نویسی با AJAX
▪ AJAX Proxy - یک HTTP Proxy برای شبیه سازی تاثیر کندی و قطع شدن ارتباط شبکه بر روی کارکرد یک برنامه ای‌جکس
▪ AJForm - یک Toolkit مناسب که اطلاعات یک فرم HTML را می‌گیرد و به هر تابع جاوا اسکریپتی مورد نظر ارسال می‌کند
▪ CGI::Ajax - این Toolkit کار نوشتن برنامه‌های AJAX با Perl را آسان می‌کند
▪ Prototype - یک فریم ورک جاوا اسکریپتی اپن سورس و شیء گرا (OOP) که از AJAX نیز پشتیبانی می‌کند
▪ Rico - یک کتابخانه جاوا اسکریپتی جالب با پشتبانی کامل از AJAX
▪ Sajax - یک Toolkit ساده
▪ Script.aculo.us - یک کتابخانه جاوا اسکریپتی مرتبط با فریم ورک Prototype
▪ Alternative AJAX techniques - آلترناتیوهای ای‌جکس - AJAX بدون XMLHttpRequest و عناصر وابسته
▪ XHRConnection - مدیریت شیء XMLHttpRequest
http://www.aftab.ir/articles/compute...toolkit_p1.php

----------


## saeed_Z_F

سلام
امروز تصادفی دیدم که توی برنامه نویس یه جایی برای GWT گذاشتن خیلی خوشحال شدم. امیدوارم قسمت پرباری باشه.

----------


## Sadebodan

سلام بچه ها

دوستان تو رو خدا بیاین اینجا دوباره ادامه بدین. من بدجوری علاقه پیدا کردم به این GWT.
ممنون میشم

----------


## sina_oonline

میدونم تاپیک قدیمیه ولی اگه دوستان پایه باشن بیاین با هم یادگرفتنشو شروع کنیم منم به موضوع علاقه مند شدم

----------


## parsianpool

خیلی خوب بود

----------


## mojtabagm

با سلام. من یک کد جاوا دارم که با برنامه eclipse یک web application ایجاد کرده ام و این کد رو تو پکیج client قرار دادم حالا بسیاری از کتابخانه های java برای gwt قابل شناسایی و استفاده نیستند. حال باید چیکار کنم؟
با تشکر

----------

