Ben büyük bir GWT hayranı olduğumu söyleyerek başlayacağım, ama evet birçok tuzak var, ama çoğu olmasa bile üstesinden gelebildik:
Sorun: Uzun derleme süreleri, projeniz büyüdükçe, derlemek için gereken süre de artar. 20 dakikalık derlemelerin raporlarını duydum, ama benimki ortalama 1 dakika.
Çözüm: Kodunuzu ayrı modüllere ayırın ve karıncaya yalnızca değiştirildiğinde değişiklik yapmasını söyleyin. Ayrıca geliştirirken, yalnızca bir tarayıcı için derleme yaparak derleme sürelerini büyük ölçüde hızlandırabilirsiniz. Bunu .gwt.xml dosyanıza koyarak yapabilirsiniz:
<set-property name="user.agent" value="gecko1_8" />
Gecko1_8, Firefox 2+, ie6 IE vb.
Sorun: Barındırılan mod çok yavaş (en azından OS X'te) ve JSP'ler veya Rails sayfaları gibi şeyleri düzenleyip tarayıcınızda yenile düğmesine bastığınızda aldığınız 'canlı' değişikliklerle eşleşmiyor.
Çözüm: Barındırılan moda daha fazla bellek verebilirsiniz (genellikle 512M için aldım) ama yine de yavaş, GWT ile yeterince iyi olduğunuzda bunu kullanmayı bırakıyorsunuz. Büyük bir değişiklik yığını yaparsınız, daha sonra yalnızca bir tarayıcı (genellikle 20s derleme) için derler ve ardından tarayıcınızda yenilemeye basarsınız.
Güncelleme: Yeni 'Geliştirme Modu'nu kullandığınız için GWT 2.0+ ile bu artık sorun değil. Temel olarak, kodu doğrudan tarayıcınızda çalıştırabileceğiniz anlamına gelir, bu nedenle hız kaybı olmaz, ayrıca kundaklama yapabilir / inceleyebilirsiniz, vb.
http://code.google.com/p/google-web-toolkit/wiki/UsingOOPHM
Sorun: GWT kodu java ve bir HTML sayfası hazırlamak için farklı bir zihniyete sahip, bu da HTML tasarımını almayı ve GWT'ye dönüştürmeyi zorlaştırıyor
Çözüm: Yine buna alışırsınız, ancak maalesef bir HTML tasarımını GWT tasarımına dönüştürmek, HTML tasarımını JSP sayfasına dönüştürmek gibi bir şey yapmaktan her zaman daha yavaş olacaktır.
Sorun: GWT, başınızı döndürmek için biraz zaman alıyor ve henüz ana akım değil. Bu, ekibinize katılan veya kodunuzu koruyan çoğu geliştiricinin onu sıfırdan öğrenmek zorunda kalacağı anlamına gelir
Çözüm: GWT'nin başlayıp başlamayacağı görülmeye devam ediyor, ancak kimin kiraladığınızı kontrol eden bir şirketseniz, her zaman GWT'yi bilen veya öğrenmek isteyen insanları seçebilirsiniz.
Sorun: GWT, jquery veya sade javascript gibi bir şeyle karşılaştırıldığında bir balyoz. Bunun gerçekleşmesi için sadece bir JS dosyası eklemekten çok daha fazla kurulum gerekir.
Çözüm: Bunlar için uygun olan daha küçük ve basit görevler için jquery gibi kitaplıklar kullanın. AJAX'ta gerçekten karmaşık bir şey oluşturmak istediğinizde veya verilerinizi RPC mekanizması aracılığıyla ileri geri aktarmanız gerektiğinde GWT'yi kullanın.
Sorun: Bazen GWT sayfanızı doldurmak için, sayfa ilk yüklendiğinde bir sunucu çağrısı yapmanız gerekir. İhtiyacınız olan verileri getirirken kullanıcının orada oturması ve bir yükleme sembolü izlemesi can sıkıcı olabilir.
Çözüm: Bir JSP sayfası söz konusu olduğunda, sayfanız HTML olmadan önce sunucu tarafından zaten oluşturulmuştur, böylece tüm GWT çağrılarınızı yapabilir ve anında yükleme için sayfaya önceden yükleyebilirsiniz. Ayrıntılar için buraya bakın:
GWT aramalarınızı önceden serileştirerek Sayfa Yüklemeyi hızlandırma
Herhangi bir sorunla karşılaşmadım, widget'larımı kutudan, özel veya başka bir şekilde şekillendirmedim, bu yüzden bir tuzak olarak ne demek istediğini bilmiyorum?
Performansa gelince, her zaman bir kez derlenmiş GWT kodunun hızlı olduğunu ve AJAX çağrılarının neredeyse tüm sayfayı yenilemekten daha küçük olduğunu fark ettim, ancak bu, kullandığınız yerel RPC paketleri olsa da, GWT'ye gerçekten benzersiz değil bir JAVA arka ucu oldukça kompakttır.