2011-11-25 15 views
11

के लिए एक आसान माइग्रेशन पथ के लिए आज के विकल्प मैं स्कैला और प्ले करने के लिए नया हूं, और मैं उन्हें एक नई परियोजना के लिए उपयोग करने पर विचार कर रहा हूं। मुझे लगता है कि प्ले 2 पर विकास अच्छी तरह से आ रहा है, हालांकि स्थिर संस्करण अभी भी 1.x है। और दोनों के बीच substantial differences हैं।प्ले 2

मैं क्या सोच रहा हूं, अगर मैं अब Play 1.x प्रोजेक्ट शुरू करता हूं, तो मैं कौन से विकल्प ले सकता हूं जो भविष्य में प्ले 2 में माइग्रेशन को कम कर देगा?

अर्थात्:

  • प्ले 2, डिफ़ॉल्ट ORM के रूप में Ebean का उपयोग करता है कि तुम मुझे प्ले 1.x के ORM (हाइबरनेट) के बजाय इसका इस्तेमाल करने की सलाह देंगे?
  • टेम्पलेट सिस्टम के बारे में क्या; बाद में माइग्रेट करना आसान बनाने के लिए अब मैं कुछ भी कर सकता हूं?
  • जब मैं अपने ऐप को भविष्य में Play 2 पर बंद करने का निर्णय लेता हूं तो मुझे और क्या चिंता करनी होगी?

उत्तर

5

प्रवास खुद पर:

  • वहाँ 2 खेलने के लिए ग्रूवी टेम्पलेट्स विस्थापित करने के लिए (मेरा मानना ​​है कि कार्य प्रगति पर है) योजनाएं। आप इसे कम कर सकते हैं यह है कि आप स्काला के साथ Play 1.x का उपयोग करना शुरू करें, क्योंकि टेम्पलेट सिस्टम स्कैला होगा।
  • हाइबरनेट से ईबीन में बदलना तब तक आसान होना चाहिए जब तक कि आप हाइबरनेट-विशिष्ट एक्सटेंशन का उपयोग न करें।
  • कॉन्फ़िगरेशन और कुछ नौकरियां (जैसे @OnAplicationStart) बदल सकती हैं, लेकिन यह बंदरगाह के लिए काफी आसान होना चाहिए (बस उन्हें चारों ओर ले जाएं)।
  • मार्गों और संपत्तियों तक पहुंचने के तरीके में बदलाव आएंगे, जो आपको कुछ अतिरिक्त कार्य अनुकूलन कोड/टेम्पलेट्स दे सकते हैं।

सामान्य रूप से यह बहुत जटिल नहीं होना चाहिए, लेकिन जैसा कि @lacy ने कहा, यह आपकी समय सीमा और परियोजना पर निर्भर करता है। यदि यह एक महत्वपूर्ण परियोजना है, तो अगले मार्च 2012 से पहले समाप्त होने के लिए, मैं Play 1.x के साथ जाऊंगा। यदि यह एक कम महत्वपूर्ण परियोजना है, जिसमें देरी हो सकती है, और किसी भी मामले में मार्च 2012 से पहले जारी नहीं किया जाएगा, तो Play 2.0 आज़माएं।

+0

तो, आप जो कह रहे हैं वह यह है कि, यदि मैं Play 1.x के स्कैला संस्करण का उपयोग करता हूं, तो मेरे टेम्पलेट प्ले 2 आउट ऑफ़ द बॉक्स के साथ संगत होंगे? –

+0

और, ओआरएम के संबंध में, जब तक मैं हाइबरनेट एक्सटेंशन से दूर रहूं तब तक वही लागू होता है? –

+0

@ फिलिप कोर्रिया यदि आप स्कैला का उपयोग करते हैं, हाँ, टेम्पलेट्स संगत प्रतीत होते हैं (यह बीटा है, यह बदल सकता है, लेकिन निश्चित रूप से कुछ भी प्रमुख नहीं है)। ओआरएम पर, ईबीन जेपीए संगत AFAIK है, इसलिए आपको कोई समस्या नहीं होनी चाहिए। –

0

यह सब आपके प्रोजेक्ट की समयसीमा के बारे में है। Play2 जल्द ही आ रहा है और कुछ घटक पहले से ही काफी स्थिर लग रहे हैं। इसलिए, यदि समय की अनुमति है, तो मैं आपको Play2 का उपयोग करने की सलाह दूंगा। हाल ही में स्थिति बीटा में बदल गई है। कई दिन पहले Guillaume ने Github पर एक उपयोगी wiki बनाया। आप Play2 स्रोतों में उदाहरणों पर भी ध्यान दे सकते हैं। और, जैसा कि मैं समझता हूं, Play1X से Play2 तक कोई माइग्रेशन दिशानिर्देश नहीं होंगे।

+0

सीधे प्ले 2 पर कूदते समय निश्चित रूप से किसी भी माइग्रेशन मुद्दों से बचने के लिए, सभी टीम के सदस्य स्कैला और पेले के लिए नए होंगे, और मैं किसी भी अतिरिक्त घर्षण से बचना पसंद करता हूं। तो, मुझे पूरा यकीन है कि मैं अभी भी Play 1.x का उपयोग करना चाहता हूं। इस परियोजना के लिए, लेकिन मैं किसी भी माइग्रेशन प्रयास को कम करना चाहता हूं जो हमारे पास होगा जब प्ले 2 उत्पादन के लिए तैयार होगा।इसलिए मेरा प्रश्न, संक्रमण को आसान बनाने के लिए मुझे कौन से विकल्प/दिशानिर्देश/सम्मेलनों का उपयोग करना चाहिए? –

1

मैं इस पल के लिए प्रोजेक्ट पर Play2 का उपयोग करने से भी परेशान नहीं होगा। इसमें अभी भी कुछ विशेषताओं की कमी है और यहां तक ​​कि यदि विकास आगे बढ़ रहा है, तो भी मैं Play 1.2.x के साथ रहूंगा। यहां तक ​​कि अगर मुझे यह मानना ​​है कि यह 2.0 कोशिश करने के लिए आकर्षक है।

लेकिन मैं कभी भी समाधान के बीच में नहीं चुना होगा, हालांकि। Play 1.2.x में शुरू करना और 2.0.0 की ओर माइग्रेट करने का प्रयास करना। इसे Semantic Versionning कहा जाता है। जब बड़ी संख्या बढ़ जाती है, तो पिछड़ी-संगतता नहीं होती है। मतलब, आप या तो प्ले 1.2.x या प्ले 2.0 का उपयोग करें। माइग्रेट करने का प्रयास करने से आपको अधिक तनाव हो रहा है, समस्याएं तब आप चाहते हैं।

+1

अच्छा, मुझे लगता है कि यह सही पर निर्भर करता है? मुझे उम्मीद है कि एक पल है जिसमें प्ले 2 के लाभ 1.x से पोर्टिंग की लागत से अधिक होंगे। मेरा मुद्दा यह है कि अब यह सुनिश्चित करने के लिए मैं क्या कर सकता हूं कि लागत जितनी कम हो सके, भले ही यह नगण्य न हो। –

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