2013-02-15 48 views
21

जावा/जावा के साथ काम करते समय सामान्य विकास पर्यावरण सेटअप स्थानीय रूप से सब कुछ है (jdk स्थापना, डेटाबेस, ऐप्स सर्वर आदि)। मुझे रूबी/जेएस दुनिया में बहुत से लोग विकास के लिए आभासी मशीनों का उपयोग करते हैं (मुख्य रूप से योनि के साथ)।जावा/जावा डेवलपर्स के लिए योनि उपयोगी है?

मुझे आश्चर्य है कि जावा/जावा के लिए समान env स्थापित करने का एक प्रभावी तरीका है या नहीं। मुझे संदेह है कि मैं आसानी से डेटाबेस सर्वर और एप्लिकेशन सर्वर को ऐसे वर्चुअल मशीन पर जेडीके संस्करण के साथ स्थापित कर सकता हूं, लेकिन नियमित विकास के बारे में क्या? मुझे अभी भी jdk को स्थानीय रूप से स्थापित करने की आवश्यकता है, है ना? (मुझे अपने आईडीई को सही तरीके से काम करने की ज़रूरत है) मुझे अपनी परियोजना बनाने के लिए मेवेन चाहिए, ताकि मुझे पूर्ण मैवेन स्थानीय रिपो की आवश्यकता हो। और फिर मुझे वर्चुअल मशीन के ऐप सर्वर पर अपना ऐप तैनात करने की आवश्यकता है।

मैं यहां कोई वास्तविक लाभ नहीं देख सकता (अभी भी दोनों मशीनों पर पर्यावरण के टुकड़े हैं)। क्या आपके पास इसका कोई अनुभव है और मेरे साथ साझा कर सकता है?

+1

आप इस प्रश्न को ऐसे राज्य में संपादित कर सकते हैं जहां यह अन-बंद हो सकता है?मैं योनि पर जावा में देख रहा था और जानता था कि आप क्या प्राप्त कर रहे थे और मेरे पास वही प्रश्न थे। मुझे अभी भी लगता है कि यह उपयोगी है। – Jay

उत्तर

3

यह पूरी तरह स्पष्ट नहीं है कि आप विशेष रूप से किसी उत्तर के संदर्भ में क्या खोज रहे हैं।

IMO आभासी मशीनों का मूल्य इतना विकास पर्यावरण के लिए नहीं है, लेकिन क्रम वातावरण। संदेश/क्यूइंग, सर्वर, डेटाबेस, क्लाउड सर्वर (उदा।, स्विफ्ट), आदि जैसे चीजें

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

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

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

21

वग्रेंट मूल रूप से वर्चुअलबॉक्स वर्चुअल मशीन स्थापित करने के लिए एक उपकरण है। यह तालिका में वीएम को तुरंत प्रावधान करने और दूसरों को प्रावधान नुस्खा पारित करने की क्षमता को लाता है।

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

जावा/नेट दुनिया में आपके पास संकलन चरण है ताकि आप कह सकें कि आपको जावा की आवश्यकता है और आपको अपने मशीन पर संकलन करने के लिए आवश्यक सभी जार चाहिए। यह सेटअप की कुछ उपयोगीता को कम करता है।

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

तो यह अभी भी एक संकलित भाषा में उपयोगी है लेकिन यह एक पटकथा भाषा से कम उपयोगी है।