2011-01-04 4 views
10

दोनों जीडब्ल्यूटी और विकेट राज्यव्यापी, जावा ऑब्जेक्ट उन्मुख आधारित हैं। जीडब्ल्यूटी पूरी तरह से क्लाइंट जावास्क्रिप्ट अनुकूलन, सीएसएस अनुकूलन जैसी सुविधाओं के आधार पर है, और मैं अपाचे विकेट के लिए काफी नया हूं।जीडब्ल्यूटी बनाम अपाचे विकेट

जितना अधिक मैं विकेट के बारे में पढ़ता हूं उतना ही यह जीडब्ल्यूटी को लगता है।

तो मुझे लगता है कि सवाल यह है - जीडब्ल्यूटी और विकेट के बीच अंतर क्या हैं? या मैं संतरे से सेब की तुलना कर रहा हूँ?

+0

डुप्लिकेट: http://stackoverflow.com/questions/3569402/wicket-vs-gwt-advice-needed – Karussell

उत्तर

8

यह संतरे के लिए बहुत अधिक सेब है।

यह wiki entry कुछ समानताएं और मतभेदों का सारांश देता है, और उन्हें एक साथ उपयोग करने की रणनीति की शुरुआत, जो मुझे लगता है कि एक दिलचस्प विचार है।

विकेट मुख्य रूप से एक सर्वर-साइड तकनीक है जिसमें कुछ अंतर्निहित अजाक्स समर्थन और अधिक अजाक्स में तारों के लिए हुक है। यह जीडब्ल्यूटी जैसे जावास्क्रिप्ट को जावा में अनुवाद नहीं करता है। यह राज्य सर्वर-पक्ष को बनाए रखता है जहां जीडब्ल्यूटी ग्राहक पर राज्य बनाए रखता है।

दोनों घटक-आधारित हैं और मेरे पास स्विंग विकास की भावना है (हालांकि विकेट कम से कम एक अन्य उत्तरदाता को स्विंग की तरह महसूस नहीं कर रहा है)।

0

विकेट सर्वर आधारित ढांचा है .. यह जीडब्ल्यूटी की तुलना में जेएसएफ के समान है। जीडब्ल्यूटी स्वाभाविक रूप से स्विंग के समान है, मैं पूर्व स्विंग डेवलपर हूं, स्विंग से gwt में माइग्रेट करना बहुत आसान है। लेकिन मैं विकेट या जेएसएफ के लिए एक ही बात नहीं कह सकता ..

25

मैं अब कई वर्षों के लिए एक बड़ी परियोजना पर दोनों GWT (1.x और 2.x) और विकेट (1.4, 1.5) का उपयोग किया गया है, और दोनों चौखटे के अपने फायदे और कमियां हैं। उनमें से दोनों शांत और अच्छे हैं, यदि उनका उपयोग के लिए किया गया है, तो उनके लिए उपयोग किया जाता है। लेकिन आप दोनों को सर्वश्रेष्ठ से मिलाकर आसानी से ले सकते हैं।

  • विकेट पेज डिजाइन (एचटीएमएल) और जावा कोड के बीच एक अच्छा जुदाई के साथ वास्तव में अच्छा और CRUD वेबसाइटों के लिए शक्तिशाली है,। जब तक आपको शक्तिशाली क्लाइंट क्षमताओं की आवश्यकता नहीं होती है, यह थोड़ा सा कोड-वर्बोज़ होने के पुरस्कार पर बहुत अच्छी तरह से काम कर रहा है: लेकिन होने का भुगतान करने का पुरस्कार दृढ़ता से टाइप किया गया: कोई "जादू" नहीं है; और घटकीकरण एक आकर्षण की तरह काम करता है। बड़ी परियोजनाओं के लिए यह आसानी से को decoupled किया जा सकता है और अच्छी टीमों के साथ अच्छी तरह से डिजाइन किया गया है: लोग मुख्य घटक का एक अच्छा सेट, प्रस्तुति परत आदि पर एक अच्छा सेट प्रदान करने पर ध्यान केंद्रित कर सकते हैं ... केवल एक ही दोष जटिल के लिए है क्लाइंट साइड पर व्यवहार, आपको अभी भी मास्टर जावास्क्रिप्ट की आवश्यकता है और यह आसानी से विकेट और जावास्क्रिप्ट मिश्रण करने के लिए जटिल हो सकता है।

  • GWT अच्छा है जब आप वास्तव में अमीर व्यवहार अपने ग्राहक (जीमेल की तरह आवेदन) पर क्षमताओं की जरूरत है। जीडब्ल्यूटी के साथ मुख्य समस्या यह है कि यह कागज ("जावा में सबकुछ" प्रतिमान) पर बहुत अच्छा लग रहा है, लेकिन यह इसके वादे को पूरा नहीं करता है।यह अच्छी तरह से स्केल नहीं करता: जीडब्ल्यूटी छोटे मॉड्यूल के लिए अच्छा है जो कार्यात्मकताओं का एक छोटा सा सेट प्रदान करता है, न कि बड़े अनुप्रयोगों के लिए। कोड/संकलन/डीबग चक्र काफी लंबा है, और जब मॉड्यूल का आकार बहुत बड़ा हो जाता है तो यह बोझ बन जाता है। इसके अलावा यह एक ही मॉड्यूल पर एक साथ काम कर रहे अच्छी तरह से बड़ी टीमों का समर्थन नहीं करता है।

संक्षेप में, मैं लोगों को चुनने के लिए होने सुझाव है:

  • उपयोग GWT किफ़ायत से जब यह वास्तव में जरूरत, मॉड्यूल आकार छोटे रखने है, और एक पूरी बड़ी आवेदन बनाने की कोशिश कभी नहीं पूरी तरह से इसके साथ;
  • बाकी के लिए विकेट का उपयोग करें (विकेट वास्तव में चट्टानों!)।
  • दोनों एक साथ मिश्रण करने के लिए, एक "विकेट रास्ता" में GWT कोड modularize को विकेट के शक्तिशाली घटक क्षमताओं का उपयोग (GWT मॉड्यूल विकेट घटकों एक विशेष प्रकार का होता जा रहा है), और फिर, GWT छोटे रहते हैं।
+5

क्षमा करें, लेकिन मैं इसके दृष्टिकोण के बारे में पूरी तरह से असहमत हूं, यह अच्छी तरह से स्केल नहीं करता है। हमारे पास बहुत बड़ा आवेदन था और 1200 से अधिक गतिशील पृष्ठों पर स्केलिंग में समस्या नहीं थी। हमने एमवीपी पैटर्न का उपयोग किया और तेजी से लोडिंग के लिए GWT.runAsync का उपयोग किया। मैंने विकेट भी इस्तेमाल किया है और ऐसा लगता है कि जीडब्ल्यूटी की तुलना में यह एक साथ ढंका हुआ ढांचा है। GetModel और getOriginalModel जैसी चीजें परेशान हैं, जो कि डोम के साथ काम करने में असमर्थता के साथ मिलती है, वास्तव में मुझे विकेट के बारे में बताता है। आईएमएचओ वाडिन विकेट से बेहतर विकल्प होगा क्योंकि 7.0 दोनों दुनिया के सर्वश्रेष्ठ प्रदान करता है लेकिन मैं जीडब्ल्यूटी के साथ रहूंगा। –

+0

मैं जो कह रहा हूं वह है कि एक जीडब्ल्यूटी ** मॉड्यूल ** अच्छी तरह से स्केल नहीं करता है। यदि आप मॉड्यूल आकार को बाधित रखते हैं, तो स्वयं से, जीडब्ल्यूटी मॉड्यूल गिनती गुणा करके स्केल कर सकता है। लेकिन मैं पुष्टि करता हूं कि जीडब्ल्यूटी मॉड्यूल का आकार बहुत बड़ा हो रहा है, यह तकनीकी और मानव दोनों कारणों से वास्तव में दर्दनाक है। बीटीडब्ल्यू मुझे नहीं लगता कि विकेट 'getOriginalModel() 'क्या है? –

+1

मॉड्यूल का आकार दर्दनाक क्यों है? सुपर देव मोड विकास के दौरान सब कुछ संकलित करने के लिए समाप्त होता है, और यहां तक ​​कि पुराने देव मोड भी इसके लिए बहुत अच्छा था। यदि मॉड्यूल का आकार डाउनलोड समय के लिए दर्दनाक है, तो डाउनलोड आकार को कम करने के लिए बहुत सारे विकल्प हैं। यदि जीडब्ल्यूटी मोबाइल जीमेल ऐप (एंड्रॉइड और आईओएस) के लिए अच्छा है, तो मुझे लगता है कि हम निष्कर्ष निकाल सकते हैं कि यह अपने आप पर बड़े जटिल अनुप्रयोगों को संभाल सकता है। [Google इनबॉक्स में मल्टी-प्लेटफ़ॉर्म कैसे करता है] (http://www.i-programmer.info/news/83-mobliephone/8010-how-google-does-multi-platform-in-inbox.html) –

1

यह धागा सक्रिय होने के बाद 6 साल हो गया है और जीडब्ल्यूटी अधिकतर स्थिर हो गया है। विकेट अधिक सक्रिय रूप से विकसित और समर्थित प्रतीत होता है। किसी के पास विकेट या अन्य विकल्पों के बारे में कोई नई राय है?

-1

विकेट सर्वर ढांचा है। यह आपको आवश्यक HTML बनाने की अनुमति देता है। यह परियोजना में भूमिकाओं को अलग करना संभव है। (वेब डिज़ाइन-> एचटीएमएल/सीएसएस-> जावा)।

यदि आप परियोजना के लिए जीडब्ल्यूटी का उपयोग करने पर विचार करते हैं, तो संभवतः वेब डिज़ाइनर की आवश्यकता नहीं है।
जीडब्ल्यूटी जावास्क्रिप्ट उत्पन्न करता है। अधिकांश तर्क ब्राउज़र पक्ष पर निष्पादित किया जा सकता है। स्केलेबल एप्लिकेशन के लिए जीडब्ल्यूटी बेहतर है।

+0

हाय, 'स्केलेबल एप्लिकेशन के लिए जीडब्ल्यूटी बेहतर क्यों'? –

+0

जीडब्ल्यूटी के साथ ब्राउज़र में तर्क को स्थानांतरित करना आसान है। इसके लिए क्लाइंट के लिए अधिक कंप्यूटिंग पावर की आवश्यकता होती है, लेकिन सर्वर के लिए कम कंप्यूटिंग पावर की आवश्यकता होती है। स्थिर जेएस फाइलों को कैश करने के लिए जीडब्ल्यूटी के साथ संभव है। – Dmitry

+0

कुछ मामलों में, स्थैतिक जेएस फ़ाइलों से पूरी तरह से आवेदन बनाना संभव है। स्केलिंग के लिए सबसे अच्छी स्थिति। – Dmitry