ग्रिल्स फ्रेमवर्क में नुकसान [बंद]


12

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

जवाबों:


13

IMO, Grails का सबसे कमजोर हिस्सा डेटा मॉडल माइग्रेशन कार्यक्षमता (ala Rails ActiveRecord माइग्रेशन) की कमी है। गुणवत्ता के विभिन्न स्तरों के कुछ तृतीय-पक्ष प्लगइन्स थे, लेकिन आधिकारिक कुछ भी नहीं।

हालाँकि, मुझे अभी पता चला है कि लिक्विबेस को डेटाबेस-माइग्रेशन प्लगइन में विस्तारित और बदल दिया गया है, और यह आशाजनक लग रहा है: http://www.grails.org/plugin/database-migration

प्लस साइड पर, मैंने जिस चीज के लिए ग्रेल्स का उपयोग किया है (सरल-से-मध्यम जटिल वेब ऐप) के लिए, यह ज्यादातर शानदार रहा है। मैं कहता हूं कि मैं जावा / हाइबरनेट / स्प्रिंग / स्प्रिंग एमवीसी स्टैक पर विकास उत्पादकता में लगभग 2x से 3 गुना वृद्धि प्राप्त कर सकता हूं।


1
+1। मैंने एक खराब लिखित स्ट्रट्स 1 एप्लिकेशन पर आगे के काम के लिए ग्रिल्स को चुना। मेरे लिए एकमात्र मुश्किल हिस्सा दो सर्वलेट्स में कुकीज़ साझा करना था। अन्यथा यह कुल जीत रही है।
केविन क्लाइन

5

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


चल रहे परीक्षण: बस उन्हें इंटरैक्टिव मोड में चलाएं - इस तरह आप स्टार्ट अप से बचें
rdmueller

3
मंचों: मेरा अनुभव यह है कि मुझे मेरे सभी सवालों का जवाब
स्टैकओवरफ़्लो

3

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

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


2

मुझे पूरी तरह से अनाज / ग्रूवी अवधारणा पसंद है, हालांकि मैंने व्यक्तिगत रूप से सादे ग्रूवी का उपयोग अनाज से अधिक किया है, मुझे लगता है कि वे दोनों शानदार हैं।

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


0

वर्तमान में इसमें सार वर्गों के लिए iffy समर्थन है। उदाहरण के लिए, आप List<T>एक कमांड ऑब्जेक्ट में एक एकल में कार्यान्वयन की सूची को बांध नहीं सकते हैं । दी, यह मुख्य रूप से कष्टप्रद है क्योंकि मैं इसे जादुई रूप से हर चीज को बांधने के लिए उपयोग कर रहा हूं! : डी

आम तौर पर यह अभी भी "हरा" की तरह है; आप अंततः विषम सीमाओं और बगों में चले जाते हैं। यह वास्तव में कुछ वर्षों में एक लंबा रास्ता तय कर रहा है।

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