2010-10-16 14 views
11

मैं एक नया वेब एप्लिकेशन प्रोजेक्ट शुरू करना चाहता था और मैं जीडब्ल्यूटी (जावा) या लिफ्ट (स्कैला) के दो ढांचे के बीच उलझन में हूं। तो मैं आपकी राय चाहता हूं जिसे मैं चुनूं? दोनों मेरी परियोजना आवश्यकता के अनुसार अच्छे हैं। तो ढांचे की तुलना के आधार पर कृपया मुझे बताएं कि कौन सा अच्छा है?जावा/जीडब्ल्यूटी या स्कैला/लिफ्ट बेहतर फ्रेमवर्क कौन सा है?

+5

मैं उस व्यक्ति को चुनूंगा जो मुझे जावा से "दूर" जाने देता है। केवल मेरे दो सेंट्स। –

+2

जावा के साथ क्या गलत है? आप जीडब्ल्यूटी के साथ पायथन या जावा का उपयोग कर सकते हैं। – randomguy

+0

शायद हम बेहतर सलाह दे सकते हैं अगर आपने हमें एक स्पष्ट विचार दिया कि आपकी परियोजना आवश्यकताओं क्या है। –

उत्तर

18

मुझे क्लाइंट पक्ष के लिए एक बेहद प्रभावी तकनीक होने के लिए जीडब्ल्यूटी मिल गया है, और सर्वर-साइड पर जावा और स्कैला के संयोजन का उपयोग करें।

जीडब्ल्यूटी आकर्षक है क्योंकि यह आपको जावा में अपने वेब एप्लिकेशन को सामने से पीछे लिखने की अनुमति देता है; आप जावा में कोड; और आप ग्रहण में अपने प्रोग्राम को डीबग करते हैं, जो क्लाइंट कोड से सर्वर-साइड कोड पर लगातार कदम उठाते हैं और फिर से वापस आते हैं। यह वास्तव में एक अद्भुत बात है।

स्कैला एक सुंदर भाषा है, और मैं इसे हर किसी की तरह प्यार करता हूं। यदि केवल स्कैला के आधार पर एक जीडब्ल्यूटी संस्करण था! Some work has been done in that direction already। धीरे-धीरे, मैंने अपनी बड़ी संतुष्टि के लिए, मेरे अधिकांश सर्वर-साइड कोड को स्कैला में माइग्रेट कर दिया है।

यदि आप लिफ्ट का उपयोग करना चाहते हैं, तो आपको कितना जावास्क्रिप्ट कोडिंग करना होगा? क्या आप जावास्क्रिप्ट के साथ सहज हैं? आपके आवेदन के क्लाइंट-साइड व्यवहार कितना जटिल है? काफी सीधे-आगे क्लाइंट-साइड लॉजिक के लिए, मुझे यकीन है कि लिफ्ट संतोषजनक साबित होगी। यदि आप एक बहुत ही डेस्कटॉप जैसी एप्लिकेशन बनाना चाहते हैं, और/या आप विशेष रूप से अपने ऐप से गति की आखिरी बूंद निचोड़ने के लिए चिंतित हैं, तो जीडब्ल्यूटी के साथ जाएं। किसी भी तरह से, आप निराश नहीं होंगे; वे निवेश करने के लिए महान तकनीकें हैं।

विचार करें कि स्कैला के लिए आईडीई समर्थन अभी भी बहुत ही नवजात है। स्पष्ट रूप से, मुझे लगता है कि स्काला का उपयोग करने से मैंने जो उत्पादकता हासिल की है, वह ग्रहण के लिए स्कैला आईडीई के साथ विभिन्न समय-बर्बाद संघर्षों पर खो गया है। आईडीईए में कहानी मामूली रूप से बेहतर हो सकती है, लेकिन ज्यादा नहीं।

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

+4

मेरा व्यक्तिगत अनुभव (और मुझे नहीं लगता कि मैं अकेला हूं) यह है कि इंटेलिजे के साथ कोडिंग करते समय आईडीई अनुभव ग्रहण के मुकाबले काफी बेहतर है, यह केवल मामूली नहीं है। –

+0

हां, केविन। अब मैं इंटेलिजे आईडीईए में स्थानांतरित हो गया हूं, और पाया कि स्काला समर्थन के मामले में ग्रहण से काफी बेहतर है। – David

5

वे दोनों एक वेब ऐप तैयार करते हैं, लेकिन प्रकृति में विभिन्न ढांचे हैं, इसलिए मुझे नहीं लगता कि उनकी तुलना कैसे की जा सकती है। जब आप "अच्छा" कहते हैं, तो आपके मन में क्या मानदंड है?

संपादित:

अनुमापकता और प्रदर्शन लेनदेन और डेटा बैकएंड के प्रकार पर निर्भर है, लेकिन सभी बातों के समान, आप लिफ्ट/स्काला के साथ बेहतर मौका होगा।

@dpp's interview से:

  • लिफ्ट किसी भी अन्य वेब ढांचे से धूमकेतु के लिए बेहतर समर्थन हासिल है ... और यही कारण है नोवेल पल्स सामने के अंत के लिए लिफ्ट का फैसला किया है।
  • लिफ्ट में उत्कृष्ट अजाक्स समर्थन है।
  • लिफ्ट दृढ़ता से अज्ञेयवादी है, इसलिए यह आपके मौजूदा जावा मॉडल ऑब्जेक्ट्स और व्यावसायिक तर्क के साथ काम करता है।
  • लिफ्ट का आरईएसटी समर्थन किसी अन्य जेवीएम वेब ढांचे में आरईएसटी समर्थन से कहीं अधिक लचीला और सुरक्षित है।
+0

मेरे दिमाग में मानदंड यह है कि कौन सा ढांचा सर्वश्रेष्ठ प्रदर्शन के अनुसार, स्केलेबल और बहुत स्थिर है। – Rupeshit

6

यह न भूलें कि स्काला (स्काला पर सर्वर साइड कोड और जावा पर ग्राहक के पक्ष) के साथ GWT का उपयोग कर सकते है।

इन combos में सबसे अच्छा क्या है में कुछ अंतर भी है। उदाहरण के लिए, लिफ्ट में उबर धूमकेतु का समर्थन है और जीडब्ल्यूटी समृद्ध ग्राहकों के लिए बेहतर है और सर्वर अनुरोधों की संख्या को कम कर सकता है।

मैं लिफ्ट को तब तक चुनूंगा जब तक कि आपको वास्तव में समृद्ध ग्राहक पक्ष या भारी स्केलेबिलिटी (उदा। कोई सत्र, क्लाइंट कैशिंग आदि के बहुत सारे) की आवश्यकता न हो।

5

व्यक्तिगत रूप से, मैं लिफ्ट की सलाह दूंगा। लेकिन यह पूरी तरह मानव-संचालित सिफारिश है और दो ढांचे के सापेक्ष तकनीकी गुणों से कोई लेना देना नहीं है।

तथ्य यह है कि आप इस प्रश्न से पूछने के लिए भी जानते हैं कि आप पहले ही स्कैला को जानते हैं, और शायद भाषा का आगे उपयोग करना चाहते हैं। इस मामले में, यदि आप जावा में एक एप्लिकेशन लिखने के लिए बाध्य थे, तो मुझे लगता है कि आप जल्दी निराश हो जाएंगे।

हालांकि स्कैला जीडब्ल्यूटी के साथ उपयोग किया जा सकता है, आप पाएंगे कि लिफ्ट के कुछ स्कैला की अच्छी सुविधाओं (यानी कलाकार) के लिए बहुत बेहतर समर्थन है। तो इस कारण से मैं लिफ्ट का पक्ष लेगा।

आप स्काला के लिए वैकल्पिक वेब ढांचे के रूप में स्केलत्रा और प्ले की जांच भी कर सकते हैं।

4

मैं स्वयं एक वेब यूआई प्रोजेक्ट शुरू करने वाला हूं, इसलिए मुझे यह धागा बहुत उपयोगी पाया गया। मुझे पता है कि मूल पोस्ट जीडब्ल्यूटी बनाम लिफ्ट के संबंधित गुणों की तुलना करने के लिए था, लेकिन आपको वाडिन (http://vaadin.com/home) को देखने में भी रुचि हो सकती है। यह ब्राउज़र में प्रतिपादन के लिए जीडब्ल्यूटी का उपयोग करता है, लेकिन अधिकांश यूआई संरचना और तर्क सर्वर के पक्ष में लागू किया जाता है। सर्वर साइड कोड किसी भी जेवीएम भाषाओं में लागू किया जा सकता है (इसलिए आप स्कैला का उपयोग कर सकते हैं)। तो यदि आप एक स्कैला प्रशंसक हैं तो यह आपके लिए उपयुक्त समाधान हो सकता है।

+0

यह बहुत अच्छा लिंक है, और मेरे लिए यह मेरी नई परियोजना में वाडिन का उपयोग करने के लिए एक महान अवसर है –

संबंधित मुद्दे