क्या इसकी कीमत है? [बन्द है]


87

यह आधा शेख़ी है, आधा सवाल।

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

ग्रेल्स के साथ मेरी सबसे बड़ी निराशा उन सभी छोटी चीज़ों की है जो काम नहीं करती हैं। मेरा मतलब है कि यह काम नहीं करता है क्योंकि एक व्यक्ति को सहज रूप से यह सोचना चाहिए। यह किनारों के आसपास बहुत उबड़-खाबड़ है। मैं लगातार समस्याओं में दौड़ता हूं। कभी-कभी यह मेरी समझ में कमी है - दूसरी बार मैंने वैध ग्रेल्स कीड़े खोजे हैं।

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

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

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


7
आपने यह प्रश्न महीनों पहले पूछा था, लेकिन मैं सिर्फ यह कहना चाहता हूं कि मैं पिछले कुछ वर्षों में जावा से दूर चला गया हूं, और मैंने हाल ही में रूबी ऑन रेल्स का उपयोग करने के लिए मजबूर किया। मैं समझा नहीं सकता कि सब कुछ करना कितना सरल और आसान है। मैं व्यक्तिगत रूप से रूबी को घृणा करता हूं और यह नासमझ लचीलापन है, लेकिन जावा में किसी भी ढांचे में एक वेब ऐप करने की तुलना में ... RoR में एक विशाल समुदाय और बहुत सारे स्मार्ट लोग सामान का जवाब देते हैं। विकास फिर से मज़ेदार हो गया है ... बेशक आपको शून्य से शुरू करना है, लेकिन यह पहली बार की तरह कभी नहीं है।
दान रोसेनस्टार्क

4
Netbeans में अब बहुत अच्छे ग्रिल्स / ग्रूवी इंटीग्रेशन हैं।
जेम्स मैकमोहन

1
Groovy + Grails कभी-कभी जावा और रूबी दुनिया के सबसे बुरे को जोड़ती है। यह बहुत सारे स्प्रिंग और अन्य कॉन्फ़िगरेशन मुद्दों को हल करता है, लेकिन यह रूबी + रेल्स जितना आसान नहीं है। यह करीब आ सकता है, लेकिन इसके लिए काम की आवश्यकता है। एक ही समय में, यह रूबी + रेल अविश्वसनीयता / अप्रत्याशितता का परिचय देता है। वर्तमान में मैं सोच रहा हूं कि यह कैसे संभव है कि ग्रेल्स डोमेन / कमांड ऑब्जेक्ट के लिए बाध्यकारी अनुरोध मापदंडों का समर्थन नहीं करता है। एनम को ठीक से पहचानने के लिए मुझे अतिरिक्त कोड जोड़ना होगा।
mcv

वहाँ ग्रहण में Grails के लिए एक प्लगइन है अभी हाल ही में वहाँ नहीं है? ( docs.codehaus.org/pages/viewpage.action?pageId=133464433 )
leeand00

सभी टिप्पणियों को पढ़ने के बाद मैं ग्रेल्स का उपयोग करने से प्रारंभिक निराशाओं को साझा करता हूं। ईमानदारी से, हम सभी जो अनुभव कर रहे थे, वह सीधी सीखने की अवस्था है यदि आप सादे जावा विकास से आ रहे हैं। मेरा सुझाव है कि आप सबसे पहले ग्रेल्स के बारे में पढ़ने का समय निकालें। एक पूर्ण ट्यूटोरियल से गुजरें जो सभी MVC घटकों को कवर करता है। जितनी जल्दी हो सके wtf त्रुटियों का अनुभव करें ताकि वे आपको वास्तविक समय सीमा में वास्तविक परियोजना में वापस न काटें। उदाहरण के लिए, मुझे ग्रिल्स इन एक्शन (द्वितीय संस्करण) के अध्याय 1 से 7 को पढ़ने और अभ्यास करने में दो सप्ताह का समय लगा। अब मेरे पास Google प्रश्नों को जारी रखने का मूल ज्ञान है।
साल्वाडोर वालेंसिया

जवाबों:


85

हमारे पास 12 लोगों की एक टीम थी, जो सभी वरिष्ठ सीनियर जावा देवता थे, जिन्होंने 0.6B से ग्रेल्स सीखे थे और हम सभी अभी भी ग्रेल्स पर आधारित परियोजनाओं पर काम कर रहे हैं। मैं स्वेच्छा से जावा में वापस नहीं जाऊंगा, और हम सभी राहत महसूस कर रहे हैं कि कैसे एक ग्रिल्स ऐप के साथ जल्दी से जल्दी वापस आने के लिए।

यह एक संघर्ष था, यह आसान नहीं था और निराशा थी।

फिर भी हमने अपने चल रहे प्रयासों को देखते हुए बहुत जल्दी से कुछ दिया है। कई कीड़े हैं, जिनमें कई वर्कअराउंड हैं।

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

हमने अंततः कुछ विशाल और जटिल बनाया है, जो कि विशुद्ध रूप से काम करता था और शुद्ध जावा / स्प्रिंग / हाइबरनेट संस्करण लिखने की तुलना में बहुत तेज था; और आज की तुलना में बग के संदर्भ में सभ्य IDE समर्थन और एक बदतर स्थिति के बिना thats।

ग्रहण समर्थन के संबंध में, एकमात्र वास्तविक आईडीई जो ग्रेल्स / ग्रूवी के लिए उपयोग होता है, वह है इंटेलीज - ग्रहण का समर्थन रास्ता है, दुख की बात है: मैं एक एक्लिप्स प्रेमी था और एक इंटेलीज कन्वर्ट होने से बहुत दूर हूं - ग्रेल्स / ग्रूवी समर्थन बाकी सब को उड़ा देता है हालांकि।

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

जैसा कि यह किया जा रहा है, आप पर ध्यान देने योग्य है कि आप इस बात का ध्यान रखें कि आप जटिलता को पूर्णतम रखें, ध्यानपूर्वक परीक्षण-पहले (हमारी राय में) और धीरे-धीरे और देखभाल के साथ जटिलता का निर्माण करें।

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


2
ठंडा। मुझे लगता है कि आप ग्रूवी के साथ जाने का निर्णय केवल एक बुद्धिमान थे।
krosenvold

9
+1 मैं एक इंटेलीज उपयोगकर्ता भी हूं, लेकिन मेरे पास नेटबिनस 6.5 का खुशी से उपयोग करने वाले सहकर्मी हैं और मैंने सुना है कि ग्रहण का समर्थन बहुत बेहतर हो रहा है। हम .5 के बाद से अनाज का उपयोग कर रहे हैं और अनाज से बहुत खुश हैं। धक्कों लेकिन तेजी से सुधार और एक महान समुदाय भी रहे हैं।
टेड नालिड

मेरे विचार बिल्कुल और मैं दर्द महसूस कर सकते हैं क्योंकि मैंने कई रिश्तों को जानने के लिए और एक विरासत डेटाबेस के लिए डोमेन कक्षाओं की मैपिंग करने की कोशिश में उम्र बिताई है, लेकिन
अनाज

@j pimmel 18 महीने बाद चीजें कैसे महसूस कर रही हैं?
आर्मंड

7
पहले से कहीं ज्यादा बेहतर! मेरे 4 वें उद्यम ग्रिल्स प्रोजेक्ट पर काम करना; एक्सएमएल प्रसंस्करण के बड़े संस्करणों के लिए समानांतर ग्रिड-प्रोसेसिंग को रोजगार देता है, बहुत कम दर्दनाक (हालांकि अभी तक 1.3 के लिए कूदने के लिए अपग्रेड), प्लगइन्स बेहतर हो रहे हैं, अब आईडीई बहुत अच्छा है। हाल ही में एक बैठक में। नेट प्रोग्रामर मुझे बता रहा था कि कैसे ग्रिल्स और ग्रूवी सबसे अशुभ जावा रहस्यों में से एक है जिस पर ध्यान नहीं दिया गया है। हालांकि बोर्ड पर स्प्रिंगसोर्स के साथ एक अभिनव, सहज और विकसित मंच से हमारे लाभ की भावना वास्तव में हम पर है।
j पिमेल

36

मुझे दो कारणों से दाने की एप्लीकेशन लिखने में बहुत मज़ा आता है:

  • मुझे जावा का उपयोग करने की आवश्यकता नहीं है
  • मैं जावा का उपयोग कर सकता हूं

मुझे लगता है कि अनाज से परिचित होने के बाद व्यक्ति अपनी चीजों को बहुत जल्दी और शान से करता है।

प्लस साइड के लिए इतना। माइनस साइड प्रदर्शन है, जो मुझे दो पहलुओं पर प्रभावित करता है: परिनियोजन और परीक्षण विकास।

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

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


जब आप कहते हैं कि परीक्षण का मतलब है कि आप एकीकरण परीक्षण या दोनों इकाई और एकीकरण परीक्षण का उपयोग कर रहे हैं जैसा कि मैं इंटेलीजे का उपयोग कर रहा हूं और इकाई परीक्षण में इतना समय नहीं लगता है। मैं एकीकरण परीक्षणों के मामले में सहमत हूँ।
andHapp

जार का आकार सिकुड़ रहा है: thevirtualmachine.wordpress.com/2008/12/04/… , एक सामान्य क्षेत्र में ये बीमार हैं या jre / lib / ext / grails.org/Testing+Plugin अब आती है 1.1 दाने । ये डोमेन ऑब्जेक्ट को मॉक कर सकते हैं, इसलिए यूनिट टेस्ट तेजी से चलते हैं
रे तयेक

परीक्षण प्लगइन बहुत अच्छा लग रहा है, धन्यवाद।
ओले

वहाँ अच्छा बिंदु, जावा का उपयोग कर परीक्षण। मैंने इसके बारे में पहले क्यों नहीं सोचा।
पैडिपिस्ट

10

मुझे लगता है कि स्प्रिंग का ग्रेल्स का समर्थन एक बड़ा बढ़ावा देने वाला है। अगर कोई इसे वेब पर CRUD से आगे ले जा सकता है, तो यह उन लोगों का है।

मुझे भी लगता है कि यह एक महत्वपूर्ण जन तक पहुंच रहा है। कई नई किताबें हैं जो 2009 में बाजार में आ रही हैं। मुझे लगता है कि वे गोद लेने की दर में मदद करेंगे।


9

मैं मूल पोस्टर भावनाओं से पूरी तरह सहमत हूं।

हम एक जावा + स्प्रिंग शॉप हैं और ग्रेल्स को आज़माने का अवसर लिया। हमने पहले एक बहुत छोटा परीक्षण एप्लिकेशन बनाया, जो करने के लिए बहुत सरल था और इसने बहुत अच्छा काम किया। हमारे यहां मुख्य मुद्दे ग्रूवी और ग्रेल्स के साथ हमारे ज्ञान की कमी के कारण थे।

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

वास्तव में निराशा एक त्रुटि संदेश के बिना कोड विफल हो रही है! यह सिर्फ काम नहीं करता है और आप नहीं जानते कि क्यों?

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

मुझे GORM लगभग इसकी सादगी के लिए पसंद है, हालांकि हमारे पास कई मुद्दे भी हैं।

मुझे ग्रूवी की शिथिल टाइप की प्रकृति और इस तथ्य को पसंद नहीं है कि आपको अपना आवेदन केवल त्रुटियों के एक समूह को पकड़ने में सक्षम होना है, मुझे बहुत अधिक PHP या रेल की याद दिलाता है।

दिन के अंत में हम अपने आप से पूछ रहे हैं कि क्या इसका संभव हो सकता है कि ग्रेल्स का उपयोग कर प्रबंधनीय सॉफ्टवेयर का एक जटिल टुकड़ा लिख ​​दिया जाए ...

हमारे पास उत्पादन में जाने के बारे में एक ग्रेल्स एप्लिकेशन है .... इसलिए हम देखेंगे।


2
आपके पास उत्पादन में आपके पास ग्रेल्स का आवेदन कैसे आया?
MauroPorras 20

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

7

हम वेब लेयर + जावा पर हाइबरनेट और सर्विस लेयर पर स्प्रिंग के साथ ग्रेन + का उपयोग कर रहे हैं। यह क्लासिक तीन लेयर्स (वेब, लॉजिक, डेटा) है जहां वेब ग्रेन है और लॉजिक जावा में लागू किया गया है। जैसा कि जावा में हमेशा होता है, हम बीन ऑब्जेक्ट का उपयोग करते हैं जो विभिन्न परतों के बीच डेटा का प्रतिनिधित्व करता है।

यह बहुत अच्छी तरह से काम करता है और यह हमारे मामले के लिए सबसे अच्छा समाधान था क्योंकि बीन ऑब्जेक्ट पहले से ही थे, साथ ही डेटाबेस संरचना भी। हमारे अनुभव से, मुझे लगता है कि वेब प्रस्तुति परत के रूप में अनाज का एक बड़ा मूल्य है, लेकिन मैं व्यापार नियमों को लिखने के लिए और एप्लिकेशन डेटा को जारी रखने के लिए जावा के साथ चिपका रहूंगा - जैसे कि अनाज "जावा" है, सभी अनाज-जावा एकीकरण बहुत सुंदर है। सीधी-सपाट।

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

मैं अभी तक प्रस्तुति की परत की तुलना में अन्य स्थानों में अनाज का उपयोग करने के लिए सहज महसूस नहीं करता हूं।


यह सब मुझे सही समझ में आता है। यह है कि मैं ग्रेल्स का उपयोग कैसे करना चाहता हूं। यानी सामने के छोर के लिए।
कोनोर

7

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

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

अजगर आकर्षक लग रहा है, हालांकि, मुझे मानना ​​होगा।

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

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


6

मैं पूरी तरह से आपके साथ हूँ! ग्रेल्स अभी भी किनारों के आसपास इतनी उबड़-खाबड़ महसूस करती हैं कि इसकी तुलना रेल से करना एक मज़ाक है। यदि कम से कम त्रुटि रिपोर्टिंग थोड़ी बेहतर थी। लेकिन मुझे लगता है कि शायद पुस्तकालयों की बड़ी मात्रा के कारण भी है जो इसे कवर के तहत उपयोग करता है। एक शब्द: स्टैकट्रेस! मैं मॉडल-> db अप्रोच (रेल्स db-> मॉडल) का भी बड़ा प्रशंसक नहीं हूं। मचान भी सुधार के लिए बहुत जगह छोड़ देता है। तब "पुनः आरंभ की आवश्यकता नहीं" भी विज्ञापन के रूप में काम नहीं करता है। (मुझे यकीन नहीं है कि क्या बुरा है - हर समय पुनरारंभ करना या कभी-कभी अजीब व्यवहार ढूंढना जो आपको पुनरारंभ करने पर चले जाते हैं) और मुझे GORM पर प्रारंभ नहीं करना। (जब एक रास्ता खोजने में घंटों लग जाते हैं तो आप एक साधारण एसक्यूएल हो सकते हैं, तो आपको आश्चर्य होगा कि क्या यह पूरा ORM वास्तव में आपका समय बचाता है) जब तक यह सरल है।

मेरा मतलब है: यह अभी भी एक फ्रेमवर्क के बेहतर विकल्पों में से एक है जब आप जावा दुनिया से आ रहे हैं। (इतना बेकार बकवास है कि खुद को एक वेब फ्रेमवर्क कहता है) ... इसकी क्षमता है। मैं बस इतना चाहता हूं कि यह अन्य जटिल सामानों के शीर्ष पर नहीं बनेगा।

वैसे भी - चलो उम्मीद करते हैं कि ये चीजें हल हो जाएंगी। फिलहाल मैं playframework.org पर दुबका हूँ जो बहुत ही स्लीक और होनहार लग रहा है।


जब आप अनाज का उपयोग करते हैं, तो आप त्रुटि रिपोर्टिंग के साथ जमा हो जाएंगे। अब जब स्प्रिंग स्रोतों पर नियंत्रण है, तो वे इसे बेहतर बनाएंगे और बेहतर समर्थन देंगे।
पैडिपिस्ट

4

यह तब होगा जब वे ग्रहण प्लगइन को समाप्त करेंगे। जितनी जल्दी कहूं उतना बेहतर। मेरे बॉस को ग्रूवी बेचने की कोशिश करना तब तक आसान नहीं होगा जब तक ऐसा नहीं होता।


3
ग्रहण प्लग-इन? आकाश, नहीं। इंटेलीज में पहले से ही उत्कृष्ट ग्रूवी और ग्रेल्स का समर्थन है। मेरा सुझाव है कि आप एक बेहतर IDE - IntelliJ प्राप्त करें।
duffymo

+1, लेकिन कुछ लोग intellij खरीदने का जोखिम नहीं उठा सकते हैं, और ग्रहण के साथ फंस गए हैं।
Chii

4

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

आईडीई के लिए - ऐसा लगता है कि इंटेलीज सबसे अच्छा विकल्प है, लेकिन मैं नेटबियंस 6.5 का उपयोग करके खुश हूं। मैं अन्य सभी विकास के लिए MyEclipse का उपयोग करता हूं, लेकिन Netbeans के पास अब बेहतर Grails का समर्थन है।


3

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

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

यदि आपके पास खरोंच से एक परियोजना शुरू करते समय एक अलग आईडीई में ग्रेल्स देने का अवसर है, तो मुझे लगता है कि आप इसे एक अलग रोशनी में देखेंगे।


3

मैंने बस एक नई परियोजना पर अनाज का उपयोग करना शुरू कर दिया है ... किसी भी xml फ़ाइलों को लिखने के लिए अभी भी वसंत की शक्ति नहीं है और हाइबरनेट वास्तव में आश्चर्यजनक है।

हालांकि IDE के लिए IntellijIDEA का उपयोग करें, मैंने वास्तव में आईडीई के माध्यम से ग्रिल्स की खोज की (मैं हालांकि पक्षपाती हो सकता हूं, मुझे ग्रहण से नफरत है )।


2

पूरी तरह से। बहुत सारे जावा फ्रेमवर्क हैं जो बार नवागंतुकों के लिए काफी उच्च सेट है, और यह ग्रिल्स के लिए एक वसीयतनामा है कि यह इतनी भीड़ भरे स्थान में ऊपर उठने में सक्षम था।

इसमें अभी भी कुछ किनारे हैं जो तेज हैं, लेकिन वे कुछ ही समय पहले बात करते हैं जब वे नीचे गिर जाते हैं, अंतर्निहित परियोजना बहुत अधिक है।


1

आपके आवेदन के प्रकार के लिए बड़ी हो सकती हैं यदि आप कुछ सरल खोज रहे हैं, तो हो सकता है कि आपको वह नहीं मिल रहा है जो आप ढूंढ रहे हैं। यदि आप कुछ सरल और कार्यों की तलाश कर रहे हैं, तो अभी तक मुझे लगता है कि django आपका काम अच्छी तरह से कर सकता है। अपने ट्यूटोरियल से एक CRUD एप्लिकेशन बनाने के लिए कितनी सरल (कितनी फ़ाइलों की आवश्यकता है) पर एक नज़र डालें । यहां से, आपकी आवश्यकताएं और आवश्यकताएं बढ़ने पर आपके ऐप्स आसानी से बड़े पैमाने पर कर सकते हैं।


0

मुझे यकीन नहीं है कि वे कभी भी ग्रेल्स को जान पाएंगे। और सही से मेरा मतलब है कि सभी विवरण (छोटे और बड़े) पते जो अंत में भंगुर और नाजुक महसूस करते हैं। मुझे यह भी यकीन नहीं है कि इसके पीछे एक वास्तविक विकास टीम (मतलब 2 से अधिक लोग) है।

हर बार जब मैं अपनी ग्रेल्स परियोजनाओं की एक विशेषता पर पुनरावृत्ति करता हूं, तो कुछ को बेहतर बनाने की कोशिश करता है, यह एक ही वर्कफ़्लो है: सब कुछ अलग हो जाता है, तो यह 'google' परीक्षण चक्रों का एक सौ है, फिर आप उस कारण का पता लगाते हैं जो आप नहीं कर सकते आप क्या चाहते हैं और आप कुछ और करते हैं।

अंत में, आप निराश हो जाते हैं क्योंकि आप किसी भी चीज़ को छूना भी नहीं चाहते हैं। और जो चीजें अच्छी नहीं होती हैं, आप उन्हें छोड़ देते हैं!

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


ग्रेल्स के पीछे निश्चित रूप से एक वास्तविक विकास टीम है, कम से कम 4 लोग हैं। क्या आप पहले परीक्षण करके अपना कोड निकाल रहे हैं? जबकि मुझे लगता है कि आपकी निराशा से बड़ी संख्या में ग्रिल्स की सफलता की कहानियों को पता चलता है कि कुछ दृढ़ता की आवश्यकता है। grails.org/Success+Stories
j pimmel

दृढ़ता वास्तव में सभी आईटी चीजों के लिए आवश्यक है। मैं अब लगभग 2 वर्षों से कॉर्पोरेट परियोजनाओं पर अनाज का उपयोग कर रहा हूं। ग्रेल्स के प्रत्येक नए संस्करण में प्रतिगमन का परिचय दिया जाता है, इसलिए मुझे यकीन नहीं है कि पहले किसका परीक्षण किया जाना चाहिए, और दृढ़ता से; ;-) के लिए टिप्पणियों और यश के लिए धन्यवाद!
रोलो तोमाजी

हां, मैं मानता हूं कि ग्रेल्स अपग्रेड को हैंडल करना ग्रेल्स का उपयोग करने के बारे में एक बहुत अधिक कीमत है। क्या आपको अपग्रेड को सही ठहराने का फैसला करना चाहिए - हमारे सभी सिस्टम अभी भी 1.0.3 पर काम करते हैं
j pimmel

मुझे वास्तव में ग्रेल्स पसंद हैं, लेकिन उन्नयन एक वास्तविक दर्द हो सकता है।
user955732

0

यदि आपकी विशेषज्ञता जावा में है जैसा कि आप कहते हैं। आपको प्ले फ्रेमवर्क पर एक नजर डालनी चाहिए - यह एक वेब फ्रेमवर्क है जो रूबी ऑन रेल्स से प्रेरित है, जिसमें एक बहुत ही कम विकास चक्र है - बस अपने जावा स्रोत फ़ाइल को सहेजें और अपने वेब ब्राउज़र को अपडेट करें। और यदि आप किसी अन्य भाषा को आज़माना चाहते हैं, तो Play फ्रेमवर्क में एक मॉड्यूल है जो आपको Scala का उपयोग करने देता है।

मुझे प्ले फ्रेमवर्क पसंद है क्योंकि यह समझना आसान है और इसमें अच्छा प्रदर्शन है। आप चाहें तो ORM- लेयर के लिए JPA और हाइबरनेट का भी उपयोग कर सकते हैं।

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