"ग्रूवी" और "ग्रेल्स" क्या हैं और उनका उपयोग करके किस प्रकार के एप्लिकेशन बनाए गए हैं?


100

आजकल मैं "ग्रूवी ऑन ग्रिल्स" के बारे में बहुत कुछ सुनता हूं और इसके बारे में अधिक जानना चाहता हूं:

  • ग्रूवी क्या है?
  • ग्रेल्स क्या है?
  • ग्रूल्स पर ग्रूवी का उपयोग करके किस तरह के एप्लिकेशन बनाए जाते हैं?

3
इसके अलावा, यह सिर्फ Grails है। ग्रिल्स पर ग्रूवी नहीं (इसका कोई मतलब नहीं है ..)। आप भाग्यशाली हैं मार्क पामर ने इस सवाल को नहीं देखा है :)
leebutts 22


1
दरअसल, "ग्रूवी ऑन रेल्स" मॉनिकर के आसपास काफी कुछ विवाद था, यही वजह है कि ग्रिल्स को ग्रूवी ऑन द रेल्स नहीं कहा जाता है। इट्स जस्ट ग्रेल्स।
मथियास

3
हां, 5 साल पहले 2006 में रूबी ऑन रेल्स लोगों ने शिकायत की थी और फ्रेमवर्क जिसे 'ग्रूवी ऑन रेल्स' कहा गया था, का नाम बदलकर सिर्फ ग्रेल्स कर दिया गया। यह भ्रमित भर्तियों और उनके पीड़ितों को छोड़कर ग्रिल्स पर ग्रोवी कभी नहीं कहा गया।
बर्ट बेकविथ

जवाबों:


188
  1. ग्रूवी ग्रिल्स पर क्या है?

    यह अब इस नाम के तहत मौजूद नहीं है। इसे अब ग्रेल्स कहा जाता है ।

  2. ग्रूवी क्या है?

    मूल रूप से, जेवीएम के लिए एक गतिशील भाषा। हालांकि, ग्रूवी 2.0 के बाद से, स्थिर और गतिशील दोनों प्रकार का समर्थन किया जाता है।

  3. ग्रेल्स क्या है?

    ग्रिल्स (जिसे पहले "ग्रूवी ऑन ग्रिल्स" के नाम से जाना जाता था) ग्रूवी पर आधारित एक प्रोग्रामिंग फ्रेमवर्क है और रूबी ऑन रेल्स से प्रेरित है (इसमें मतभेद हैं, लेकिन बहुत सी समानताएं भी हैं)। आरओआर की तरह, ग्रेल्स "कन्वेंशन द्वारा कोडिंग", विकास सर्वोत्तम प्रथाओं को बढ़ावा देता है, और इसका मतलब अत्यधिक उत्पादक है।

  4. " ग्रूवी ऑन ग्रिल्स" का उपयोग करके किस प्रकार के एप्लिकेशन बनाए जाते हैं ?

    जेवीएम पर चलने वाले वेब एप्लिकेशन बनाने के लिए ग्रेल्स का उपयोग किया जाता है।

  5. ग्रूल्स पर ग्रूवी के क्या फायदे हैं ?

    उच्च उत्पादकता, नलसाजी के बजाय व्यवसाय पर ध्यान केंद्रित करना। (ध्यान दें कि मैं मौजूदा डेटा मॉडल के साथ ग्रेल्स का उपयोग करने की अनुशंसा नहीं करूंगा। इसके पीछे कारण यह है कि ग्रेल्स एक टॉप-डाउन दृष्टिकोण को प्रोत्साहित करता है जहां डेटाबेस ईआर मॉडल डोमेन कक्षाओं के परिणामस्वरूप उत्पन्न होता है। यदि आप एक विरासत डेटाबेस का उपयोग कर रहे हैं। , आप इस दृष्टिकोण को नहीं अपना सकते हैं। आपको डेटाबेस को डोमेन कक्षाओं में मैप करना होगा, और शायद नामकरण सम्मेलन मेल नहीं खाएगा, hbm.xml हाइबरनेट कॉन्फ़िगरेशन फ़ाइलों या एनोटेशन का उपयोग करना आवश्यक है। IMO, यह एक तुच्छ परिवर्तन नहीं है। वर्कफ़्लो, यह वास्तव में बोझिल हो सकता है और आप अंत में ग्रेल्स के अधिकांश लाभों को खो देते हैं।)

  6. जब हम C / C ++, Java / J2EE, और .NET / C # जैसी मानक प्रोग्रामिंग भाषाएं हैं, तो कोई ग्रेवी पर ग्रूवी का उपयोग क्यों करना चाहेगा ?

    बिंदु 5 के कारण।


1
क्या आप अधिक बता सकते हैं कि आप मौजूदा डेटा मॉडल के साथ अनाज का उपयोग करने की सलाह क्यों नहीं देंगे?
टॉड हंटर

1
क्या आप इसका मतलब बता सकते हैं High productivity, focusing on business instead of plumbing.? क्या है plumbing?
थांग फाम

@HarryPham - बॉयलरप्लेट कोड और "चीजों को कैसे किया जाता है" से निपटने के बजाय "क्या चीजें हम करते हैं" कार्यान्वयन के
cdeszaq

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

ग्रेल्स 3 के बाद से, विभिन्न प्रोफ़ाइल हैं जिनका उपयोग आप कर सकते हैं, अपनी विशिष्ट आवश्यकताओं के लिए ग्रेल्स फ्रेमवर्क को अनुकूलित करने के लिए। यह अब पूरी तरह से एक वेब फ्रेमवर्क नहीं है, इसका इस्तेमाल सफलतापूर्वक हल्के रेस्ट माइक्रोसर्विसेज को विकसित करने के लिए किया जा सकता है, बिना किसी टेंपलेटिंग इंजन के, या ओआरएम लेयर के। grails.github.io/grails-doc/latest/guide/single.html#profiles
लुइस

24

Groovy जावा प्लेटफॉर्म के लिए एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है। यह पायथन, रूबी, पर्ल, और स्मॉलटॉक जैसी सुविधाओं के साथ एक गतिशील भाषा है। यह जावा प्लेटफ़ॉर्म के लिए स्क्रिप्टिंग भाषा के रूप में उपयोग किया जा सकता है। ग्रूवी में जावा जैसा सिंटैक्स होता है और जावा बायटेकोड के साथ मूल रूप से काम करता है।

अन्य विशेषताओं में शामिल हैं:

  • आसान सीखने की अवस्था
  • डोमेन-विशिष्ट भाषाओं के लिए समर्थन
  • कॉम्पैक्ट सिंटैक्स
  • गतिशील टाइपिंग के लिए समर्थन
  • शक्तिशाली प्रसंस्करण आदिम
  • वेब अनुप्रयोग विकास में आसानी
  • इकाई परीक्षण के लिए समर्थन।

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

रेल्स की तरह, ग्रिल्स को लगता है कि मैं "स्ट्रॉन्गली ग्रेनड" कहता हूं। यदि आप चीजों को ग्रेलेस तरीके से करते हैं, तो विकास आसान है (और आमतौर पर काफी तेज है)। अधिकांश चीजों को करने का पसंदीदा तरीका फ्रेमवर्क है। दूसरी ओर, यदि आपको अनाज के खिलाफ जाने की आवश्यकता है, तो आपके पास इसके लगभग एक ही समय होगा।

और ग्रोविस ऑन ग्रिल्स (मौजूद नहीं है), इस ब्लॉग को देखें ।


12

रूल्स सीधे रूबी पर पटरियों के अनुरूप है , लेकिन ग्रूवी के साथ चल रहा है। ग्रूवी क्या है ? यह एक स्क्रिप्टिंग भाषा है जो जावा वर्चुअल मशीन (JVM) पर चलती है।

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

यह सर्वलेट प्रोग्रामिंग, जेएसपी, जावा सर्वर फेस आदि ग्रिल्स (जैसे रूबी ऑन रूल्स) के मानक जावा तंत्र में वेब ऐप बनाने का एक बहुत अलग तरीका है मानक विकास तंत्रों की तुलना में अधिक गतिशील और पुनरावृत्त विकास का वादा करता है (क्या यह सच है) अभ्यास , मैं सलाह नहीं दे सकता)


मस्तिष्क, आपके कथन विरोधाभासी हैं, आप कहते हैं कि यह एक स्क्रिप्टिंग भाषा है, फिर भी अगले पैराग्राफ में आप कहते हैं कि इसकी संकलित बाइट कोड है। मैं एक .NET प्रोग्रामर हूं, और स्क्रिप्टिंग भाषाओं जैसे जावास्क्रिप्ट आदि को संकलित नहीं किया गया है, लेकिन सिर्फ व्याख्या की गई है। क्या आप उन विरोधाभासी बयानों से क्या मतलब समझ सकते हैं
शिक्षार्थी

ग्रूवी का उपयोग दोनों तरीकों से किया जा सकता है। Groovy कार्यक्रम को जावास्क्रिप्ट द्वारा लाइन की तरह एक सरल स्क्रिप्ट लाइन के रूप में निष्पादित किया जा सकता है। यह बायोवेट क्लास के लिए ग्रूवी कंपाइलर का उपयोग करके संकलित किया जा सकता है जिसे जेवीएम का उपयोग करके निष्पादित किया जा सकता है।
pmmdk

0

Grails- MVC फ्रेमवर्क को विकसित करने के लिए और स्प्रिंग + हाइबरनेट के शीर्ष पर निर्मित DRY (अपने आप को दोहराएं नहीं) के साथ एक कोड प्लेटफॉर्म तैयार करने के लिए। वेब प्लेटफॉर्म को चलाने के लिए ग्रेड्स प्लेटफॉर्म इंफ्रास्ट्रक्चर और निर्भरता का ख्याल रखता है, ताकि डेवलपर्स उत्पाद के लिए कार्यात्मकताओं के निर्माण पर ध्यान केंद्रित कर सकें। स्टार्टअप संगठनों के लिए उत्पाद विकास मोड से उत्पादन मोड में लॉन्च करने के लिए ग्रिल्स-ए महान रूपरेखा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.