2012-06-27 23 views
11

मैंने हाल ही में एक परियोजना में उपयोग करने के लिए ढांचे का मूल्यांकन करते हुए प्ले फ्रेमवर्क पर ठोकर खाई। मुझे जावा भाषा और जेवीएम का उपयोग करने की आवश्यकता है (इसलिए grails एक विकल्प नहीं है)।प्ले फ्रेमवर्क पर स्प्रिंग रू का उपयोग करने का लाभ (यदि हम स्प्रिंग फ्रेमवर्क का उपयोग करते हैं)?

प्रारंभिक छाप से प्ले फ्रेमवर्क Django (या रेल) ​​के समान दिखता है, लेकिन स्प्रिंग रू दिलचस्प दिखता है क्योंकि मैं कोर घटकों के लिए स्प्रिंग फ्रेमवर्क का उपयोग करता हूं।

क्या स्प्रिंग रू का उपयोग करने का कोई फायदा है यदि मैं पहले से ही कोर स्प्रिंग फ्रेमवर्क (उदाहरण के लिए एकीकरण के लिए कहता हूं) का उपयोग कर रहा हूं?

क्या स्प्रिंग रू के साथ कोई ज्ञात प्रमुख समस्या है? (उदाहरण के लिए कोड पर नियंत्रण खोना जैसे कि यह हमारे लिए उत्पन्न करता है)

+0

grails JVM – NimChimpsky

+0

@NimChimpsky यह सच है पर चलते हैं, लेकिन समस्या यह है कि हम ग्रूवी उपयोग नहीं कर सकते है। – 18bytes

+4

प्ले फ़्रेमवर्क में स्प्रिंग शामिल नहीं है, यह सबसे बड़ा लाभ है;) –

उत्तर

7

यह मेरी निजी छाप है, इसलिए यह (बहुत) व्यक्तिपरक हो सकता है। मैं भी खेल वकील हूं।

मैं Spring MVC देने के लिए लागू किया गया था एक कोशिश ... यही कारण है कि मेरे लिए असहज की% $% @ $% # ... किसी तरह का था, एक्सएमएल फाइल के बारे में चिंता करने के लिए ...

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

अंततः मुझे मिला और यह मेरे लिए मुद्दा है, मुझे कोई सौदा करने की आवश्यकता नहीं है एक्सएमएल 'समर्थन' के साथ अधिक जो संचालित मैं पागल हूँ। स्प्रिंग- * की तुलना में सामान्य संरचना बहुत साफ है। मुझे कॉन्फ़िगर करने या ऐप को पुन: नियोजित करने की परवाह करने की आवश्यकता नहीं है। सब कुछ पहले चरण से ही काम करता है। केवल एक चीज जो मुझे करने की ज़रूरत है ... विकसित करना है!

तो, मुझे लगता है कि आपको लगता है कि देना चाहिए एक मौका दें, शायद यह असुविधाजनक आदतों को मनाने से बेहतर विकल्प होगा। शायद। आपको खुद को चुनना है।

बीटीडब्ल्यू: दोनों वास्तव में अलग-अलग दृष्टिकोण हैं, आप उसी विषय के साथ दोनों समाधानों की ठोस तुलना के बिना सही ढंग से इसका न्याय नहीं करेंगे।

+2

पर ध्यान देने का एक कारक है, मुझे व्यक्तिगत रूप से लगता है कि रू प्ले के जितना आसान है। उदाहरण के लिए यह लो: http://static.springsource.org/spring-roo/reference/html-single/#intro-first-steps – djangofan

+2

_I वसंत MVC देने के लिए लागू किया गया था एक कोशिश ... यही कारण है कि किसी तरह का था % $% @ $% # .... मुझे अभी भी एक्सएमएल फाइलों के बारे में चिंता करने के लिए असहज है ..._ - आप स्पष्ट रूप से आधुनिक स्प्रिंग एमवीसी के बारे में बात नहीं कर रहे हैं क्योंकि इसे 0 एक्सएमएल, सभी शुद्ध जावा के साथ कॉन्फ़िगर किया जा सकता है, नहीं यहां तक ​​कि एक web.xml – SergeyB

+0

@ike_love - हाँ, यह एक काफी समय पहले था और जैसा कि मैंने शुरू किया: कि मेरे बहुत व्यक्तिपरक राय है;) – biesior

9

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

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

+0

Play 1.x के लिए सीखने की वक्र बहुत सपाट है। 2.x अधिक लचीला है और स्कैला का सवाल उठाएगा या नहीं। @Codemwnci सही है, आपके द्वारा चुने गए प्ले संस्करण को – iwalktheline

11

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

<jaxws:endpoint implementor="org.apache.cxf.jaxws.service.Hello" address="http://localhost:8080/test" /> 

एक RabbitMQ से कनेक्ट होना चाहते

<rabbit:connection-factory id="connectionFactory"/> 
<rabbit:template id="amqpTemplate" connection-factory="connectionFactory"/> 

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

-3

मुझे Spring Play Framework पता नहीं है, लेकिन मैं "Getting started with Roo" pdf का पालन करके स्प्रिंग रू 1.2.3 का उपयोग करने का प्रयास कर रहा हूं और अनुभव काफी निराशाजनक रहा है। यह काम नहीं करता है, इंटरनेट पर ज्ञात समस्याओं के लिए कोई कामकाज नहीं है और कोई समर्थन नहीं है। उस गाइड को डाउनलोड करें जिसका मैंने पहले उल्लेख किया था और इसे चरण-दर-चरण उपयोग करने का प्रयास करें: आप देखेंगे कि मैं किस बारे में बात कर रहा हूं। आपके प्रश्न के लिए: ढांचे का चयन करें जो कम से कम टूटा या त्याग नहीं किया जाता है। स्प्रिंग रू बहुत सारे वादे करता है, लेकिन जब आप इसे काम करने की कोशिश कर रहे कई दिन बिताते हैं, सफलता के बिना, आप खुद से सवाल करना शुरू करते हैं: मुझे कौन सा फायदा मिल रहा है? मुझे गलत मत समझो, मुझे स्प्रिंग रू का उपयोग करना अच्छा लगेगा, लेकिन ऐसा करना काफी असंभव रहा है।

+1

कृपया ठोस समस्याओं आपको लगता है कि आई है कि क्या यह रूप में ओपी की विशेष सवालों के जवाब देने हैं जोड़ने उपयोग करने लायक है। –