मैं यह कहकर शुरू करूंगा कि मैं एक विशाल GWT प्रशंसक हूं, लेकिन हां कई नुकसान भी हैं, लेकिन सबसे ज्यादा अगर हम दूर नहीं कर पाए तो:
समस्या: लंबा संकलन समय, जैसा कि आपकी परियोजना बढ़ती है, इसलिए इसे संकलित करने में जितना समय लगता है। मैंने 20 मिनट के संकलन की रिपोर्टें सुनी हैं, लेकिन मेरा औसत लगभग 1 मिनट है।
समाधान: अपने कोड को अलग-अलग मॉड्यूल में विभाजित करें, और चींटी को बताएं कि इसे बदलने पर ही इसका निर्माण करें। विकसित होते समय, आप केवल एक ब्राउज़र के लिए ही निर्माण करके सामूहिक समय को गति प्रदान कर सकते हैं। आप इसे अपने .gwt.xml फ़ाइल में डालकर कर सकते हैं:
<set-property name="user.agent" value="gecko1_8" />
जहाँ gecko1_8 Firefox 2+ है, अर्थात IE IE है, आदि।
समस्या: होस्टेड मोड बहुत धीमा है (ओएस एक्स पर कम से कम) और जब आप जेएसपी या रेल्स पेज जैसी चीजों को संपादित करते हैं और अपने ब्राउज़र में रीफ्रेश हिट करते हैं तो आपको मिलने वाले 'लाइव' परिवर्तनों के मिलान के करीब नहीं आते हैं।
उपाय: आप होस्ट किए गए मोड को अधिक मेमोरी दे सकते हैं (मैं आम तौर पर 512M के लिए मिला था) लेकिन यह अभी भी धीमा है, मैंने पाया है एक बार जब आप GWT के साथ पर्याप्त हो जाते हैं तो आप इसका उपयोग करना बंद कर देते हैं। आप परिवर्तनों का एक बड़ा हिस्सा बनाते हैं, फिर सिर्फ एक ब्राउज़र (आमतौर पर 20 के लायक संकलन) के लिए संकलन करें और फिर अपने ब्राउज़र में ताज़ा हिट करें।
अद्यतन: GWT 2.0+ के साथ यह अब कोई समस्या नहीं है, क्योंकि आप नए 'विकास मोड' का उपयोग करते हैं। इसका मूल रूप से मतलब है कि आप अपनी पसंद के ब्राउज़र में सीधे कोड चला सकते हैं, इसलिए गति का कोई नुकसान नहीं है, साथ ही आप इसे फायरबग / निरीक्षण कर सकते हैं, आदि।
http://code.google.com/p/google-web-toolkit/wiki/UsingOOPHM
समस्या: GWT कोड जावा है, और HTML पेज को बिछाने के लिए एक अलग मानसिकता है, जो HTML डिज़ाइन को लेता है और इसे GWT में बदल देता है
समाधान: फिर से आपको इसकी आदत हो जाती है, लेकिन दुर्भाग्य से HTML डिज़ाइन को GWT डिज़ाइन में परिवर्तित करना हमेशा ऐसा करने की तुलना में धीमा होता है जैसे HTML डिज़ाइन को JSP पेज में बदलना।
समस्या: जीडब्ल्यूटी आपके सिर को चारों ओर ले जाने में थोड़ा सा लेता है, और अभी तक मुख्यधारा नहीं है। मतलब कि ज्यादातर डेवलपर्स जो आपकी टीम में शामिल होते हैं या आपके कोड को बनाए रखते हैं, उन्हें इसे स्क्रैच से सीखना होगा
समाधान: यह देखा जाना चाहिए कि क्या GWT बंद हो जाएगा, लेकिन यदि आप एक कंपनी के नियंत्रण में हैं जिसे आप किराए पर लेते हैं, तो आप हमेशा ऐसे लोगों को चुन सकते हैं जो या तो GWT को जानते हैं या इसे सीखना चाहते हैं।
समस्या: जीडब्ल्यूटी एक स्लेजहैमर है, जो कि जक्वेरी या सिर्फ सादे जावास्क्रिप्ट जैसी किसी चीज की तुलना में है। यह एक जेएस फ़ाइल को शामिल करने की तुलना में बहुत अधिक सेटअप लेता है।
समाधान: पुस्तकालयों का उपयोग करें जैसे छोटे, सरल कार्य जो उन के अनुकूल हैं। जब आप AJAX में कुछ वास्तव में जटिल बनाना चाहते हैं, या जहां आपको RPC तंत्र के माध्यम से अपना डेटा आगे-पीछे करने की आवश्यकता है, तो GWT का उपयोग करें।
समस्या: कभी-कभी अपने GWT पेज को पॉप्युलेट करने के लिए, आपको पेज को पहले लोड करने पर सर्वर कॉल करना होगा। उपयोगकर्ता के लिए वहां बैठना और लोडिंग सिंबल देखना आपके लिए कष्टप्रद हो सकता है, जबकि आपको उस डेटा की आवश्यकता होती है।
समाधान: JSP पृष्ठ के मामले में, आपका पृष्ठ HTML बनने से पहले सर्वर द्वारा प्रस्तुत किया गया था, इसलिए आप वास्तव में अपने सभी GWT कॉल तब कर सकते हैं, और पृष्ठ पर उन्हें पूर्व-लोड कर सकते हैं, त्वरित लोड के लिए। विवरण के लिए यहां देखें:
अपने GWT कॉल को पूर्व-क्रमबद्ध करके पृष्ठ लोड करना तेज़ करें
मुझे कोई समस्या नहीं है सीएसएस मेरे विजेट स्टाइल कर रहा है, बॉक्स से बाहर, कस्टम या अन्यथा, इसलिए मुझे नहीं पता कि आप इसका क्या मतलब है?
प्रदर्शन के लिए, मैंने हमेशा पाया है कि एक बार संकलित GWT कोड तेज है, और AJAX कॉल लगभग पूरे पृष्ठ को ताज़ा करने की तुलना में लगभग हमेशा छोटा होता है, लेकिन यह वास्तव में GWT के लिए अद्वितीय नहीं है, हालांकि देशी आरपीसी पैकेट जो आपको उपयोग करते हैं। एक जावा पिछला छोर बहुत कॉम्पैक्ट है।