क्या कोई वेब विकास के लिए आभासी मशीनों का उपयोग करता है, और क्यों? [बन्द है]


10

मुझे कुछ डेवलपर्स दिखाई देते हैं जो वेब विकास के लिए वर्चुअल मशीनों का उपयोग करना पसंद करते हैं। क्या अन्य लोग ऐसा करते हैं? यदि हैं, तो आप ऐसा क्यों करते हैं? एक गैर वर्चुअलाइज्ड वातावरण के बजाय एक वीएम पर विकसित करने के लिए कोई पेशेवरों / विपक्ष हैं?

मुझे लगता है कि चीजें एक वीएम में धीमी हैं।


वर्चुअलाइजेशन के अलावा, इसमें छवि आधारित प्रणालियाँ भी हैं जैसे कि स्क्वीक और फ़ारो (एक स्क्वॉक व्युत्पन्न)।
जेसी मिलिकन

@ जेसे मिलीकैन मुझे यकीन नहीं है कि आपका क्या मतलब है। क्या चीख़ और फ़ारो एक प्रोग्रामिंग भाषा नहीं है? मैं यह समझने की कोशिश कर रहा हूं कि वे वर्चुअल मशीनों से कैसे संबंधित हैं।
7wp

जवाबों:


20

मैं IE परीक्षण के लिए VMs का उपयोग करता हूं। मेरे पास एक समर्पित विंडोज मशीन है, लेकिन मैं कुछ कारणों से वीएम का उपयोग करने की ओर झुकता हूं:

  • यह कंप्यूटर को स्विच करने का एक झंझट है, भले ही यह आपके बगल में हो
  • स्वच्छ परीक्षण वातावरण के लिए VM को रोलबैक करना बेहद आसान है
  • मैं इसके बजाय एक ऐसे पर्यावरण उपयोगकर्ताओं का उपयोग करूंगा जो वास्तव में IETester जैसे कीचड़ के बजाय उपयोग करने जा रहे हैं , और आप आम तौर पर एक ही समय में IE के कई संस्करण नहीं चला सकते हैं।
  • कई परीक्षण कंप्यूटरों को खरीदने की तुलना में कई वीएम इंस्टेंस को चलाना सस्ता है
  • वीएम, मैक ओएस एक्स के लिए कम से कम, पिछले कुछ वर्षों में इतने अच्छे हो गए हैं कि वीएम को दिया गया "धीमा" कलंक अनुचित है।

2
VM की गति ठीक है, लेकिन केवल तभी जब आपके पास किसी को ठीक से सपोर्ट करने के लिए अतिरिक्त मेमोरी हो।
मैथ्यू शारले

@ मैथ्यू: हाँ, लेकिन इन दिनों अधिकांश कंप्यूटर 4GB मानक के साथ आते हैं, और एक वेब डेवलपर के लिए, यह कम से कम एक (यदि दो नहीं) VMs को एक साथ चलाने के लिए पर्याप्त है।

7

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

घर पर मैं हमेशा व्यक्तिगत परियोजनाओं को स्थापित करने के लिए एक वीएम का उपयोग करता हूं ताकि मैं इसे पूरी तरह से बंद कर सकूं जब मैं चाहता हूं, कहो, एक खेल खेलो। एक कार्य वातावरण में आप इसे बंद करना चाह सकते हैं ताकि आपके पास एक वीडियो को FLV में ट्रांसकोड करने के लिए पूरे संसाधन हों।

यह आपको वह लचीलापन देता है जो आप अपने संसाधनों के साथ चाहते हैं।


3

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

जहां तक ​​गति का सवाल है, यह ईमानदारी से सेटअप से भिन्न होता है। केवल वास्तविक समस्याएं जो मैंने VM की गति के साथ देखी हैं उनमें a।) के पास पर्याप्त भौतिक संसाधन (मेमोरी, आदि) या b नहीं हैं।) आपके VM को पर्याप्त संसाधन आवंटित नहीं कर रहे हैं। अन्यथा, मैं वास्तव में एक देशी बॉक्स पर काम करने की तुलना में अपने मैक पर विंडोज वीएम में काम करना पसंद करता हूं।


2

परीक्षण वातावरण एक बड़ा है जैसा कि दूसरों ने उल्लेख किया है।

  • ब्राउज़र परीक्षण (यानी, सफारी, आदि ...)
  • स्वच्छ परीक्षण वातावरण
  • एकाधिक कॉन्फ़िगरेशन करना आसान है
  • पहुंच परीक्षण (स्क्रीन रीडर और इस तरह)

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

इसके अलावा, वीएम में सुस्ती के बारे में:

वीएम में चीजें धीमी होती हैं क्योंकि ओवरहेड के लिए पर्यावरण को "वर्चुअलाइज" करना पड़ता है। हालांकि, VM हाइपरविज़र के करीब और करीब होता जा रहा है जो VM के लिए आवश्यक ओवरहेड को कम करता है।


2

मैं हर समय आभासी मशीनों का उपयोग करता हूं। परीक्षण के प्रयोजनों के लिए, तर्क स्पष्ट है, लेकिन मैं इसे अपने वास्तविक विकास के वातावरण के लिए भी उपयोग करता हूं, मुख्यतः क्योंकि 1) यह नए हार्डवेयर को बिना दिमाग वाला प्रवास बनाता है, और 2) यह मुझे एक आसान "स्नैपशॉट" (या सेट का ) देता है । स्नैपशॉट) मेरे विकास पर्यावरण के उन विन्यासों के लिए आवश्यकतानुसार वापस आते हैं। मेरी आवश्यकताएं अद्वितीय हो सकती हैं - मैं मुख्य रूप से डेल्फी के कई संस्करणों का उपयोग करके डेल्फी डेवलपर हूं, और तीसरे पक्ष के घटकों के बहुत सारे - लेकिन एक वर्चुअल मशीन के अंदर मेरे विकास के माहौल में समय और सिरदर्द की मात्रा बच गई है, शायद नहीं। अतिरंजित होना।

उस ने कहा, जिस बॉक्स पर आप उन्हें चलाते हैं, उस पर रगड़ें नहीं, खासकर जब यह स्मृति में आता है। ; )


1

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

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


1

VMs का उपयोग करके क्लाइंट-विशिष्ट विकास सेटअप रखने का एक अच्छा तरीका पाया है।

पिछले एक परामर्श कंपनी में, देवों को पता था कि एक विशिष्ट वीएम फायरिंग का मतलब है कि आपके पास उस क्लाइंट के लिए समर्थित सॉफ़्टवेयर को विकसित / परीक्षण करने और तैनात करने के लिए काम करने का माहौल था। कुछ वास्तविक ऑडबॉल सिस्टम का समर्थन करते समय विशेष रूप से उपयोगी है।

नए ऐप्स के लिए, आपके पास अपने मुख्य देव मशीन पर नवीनतम और सबसे बड़ा सेटअप होगा। लेकिन जब आपकी कंपनी अभी भी समर्थन करती है तो कुछ पुराने VB6 ऐप को बगिफ्ट करने की जरूरत है। अपने प्यारे स्वच्छ VS2010 मशीन पर फैंसी स्टूडियो विजुअल स्टूडियो 6 स्थापित करें? मुझे ऐसा नहीं लगता!

यह भी मतलब है कि किसी भी देव के लिए किसी भी ग्राहक का समर्थन करना बहुत आसान था।


0

मैंने निश्चित रूप से वेबसाइटों के परीक्षण के लिए आभासी मशीनों का उपयोग किया है, लेकिन कोड लिखने के लिए नहीं।

आभासी मशीनों का लाभ यह है कि आपके पास IE6 / 7/8 में आपके द्वारा खोजे जाने वाले अपरिहार्य सीएसएस बग का परीक्षण करने के लिए अलग-अलग OS और ब्राउज़र हो सकते हैं।


0

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

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


पोर्टेबल आईई, अभिव्यक्ति SuperPreview, IETester जैसी चीजें हैं सभी इरादों और मकसदों, आभासी वातावरण के लिए,। आप वास्तव में IE के पुराने संस्करणों की एक वास्तविक दुनिया की नकल नहीं चला रहे हैं, और SuperPreview और IETester जैसी चीजों के मामले में, आपके पास ब्राउज़र क्रोम या प्लगइन आर्किटेक्चर तक पहुंच भी नहीं है। IE से परे, आपके पास समान ब्राउज़र के अन्य OS के संस्करणों तक पहुंच नहीं है। उदाहरण के लिए, मैक ओएस एक्स पर सफारी में ऐसी विशेषताएं हैं जो विंडोज के लिए सफारी पर मौजूद नहीं हैं, और मैक के लिए क्रोम आमतौर पर विंडोज के लिए क्रोम से पीछे रहता है।

नहीं नहीं नहीं! पोर्टेबल IE, एक्सप्रेशन SuperPreview, IETester आपके सिस्टम पर मूल चलाता है, इसमें कोई वर्चुअलाइजेशन शामिल नहीं है। आप एक वास्तविक दुनिया की प्रतिलिपि चला रहे हैं जिसे वर्तमान परिवेश में चलाने के लिए समायोजित किया गया है और एक ही व्यवहार है ... वेब विकसित होने पर ब्राउज़र क्रोम या प्लगइन आर्किटेक्चर तक पहुंच की आवश्यकता नहीं है। सफारी के लिए, अतिरिक्त सुविधाएं फिर से क्रॉस-ब्राउज़र वेब विकास के लिए अप्रासंगिक हैं। क्रोम के लिए, संस्करण एक साथ इस्तेमाल किया जा सकता ... एक वास्तव में प्रत्येक OS संस्करण पर प्रत्येक ब्राउज़र संस्करण का परीक्षण करने की जरूरत है अगर वहाँ है browsershots.org उस उद्देश्य के लिए।
तमारा विजसमैन

Office के कई संस्करणों के साथ एकीकरण का परीक्षण करने का प्रयास करें। VMs अभी भी आश्चर्यजनक रूप से काम कर रहे हैं।
davewasthere

@davewasthere: और ऑफिस वेब डेवलपमेंट से कैसे संबंधित है? मुझे यकीन है कि वीएम ने विभिन्न चीजों के लिए उनका उपयोग किया है, लेकिन वेब विकास के लिए आप इसके बिना ठीक हैं ... यहां तक ​​कि कार्यालय और विज़ुअल स्टूडियो के कई संस्करण एक वीएम के बिना एक साथ स्थापित किए जा सकते हैं, लेकिन वास्तव में, सीमाएं और ट्रेडऑफ़ हैं जहां आप वास्तव में एक वीएम की जरूरत है।
तमारा विज्समैन

@TomWij - मुझे ASP.Net में एक इंट्रानेट एप्लिकेशन के साथ एक क्लाइंट मिला है जो वर्ड के साथ एकीकृत होता है। चूंकि वे कार्यालय के कई संस्करणों का उपयोग करते हैं, इसलिए प्रत्येक संस्करण के साथ एक छवि स्थापित करने में सक्षम होना अच्छा है। मुझे पता है कि यह साइड-बाय ऑफिस और IE के लिए संभव है। लेकिन वास्तव में मुझे यह एक दर्द लगता है। वीएम सिर्फ एक बहुत साफ / आसान लगता है ...
davewasthere

0

मैं एक वर्चुअल मशीन का उपयोग करता हूं जो वर्चुअलबॉक्स.me के उप-डोमेन (मैं स्वयं का डोमेन) के लिए अतिथि को साझा की गई मेरी होस्ट मशीन पर एक फ़ोल्डर के उपनिर्देशिका के लिए उपयोग करता हूं।

इस सेटअप के साथ, मैं बस एक नई निर्देशिका बनाता हूं और तुरंत एक नया प्रोजेक्ट आता है, जिसके तहत खुद का उपडोमेन है, यानी / home / pete / virtualwww / my-super-परियोजना के नक्शे http://my-super-project.virtualbox.me/

मैंने इसे दोहराने के लिए गाइड लिखा है (इसमें mod_vhost_alias और VirtualDocumentRoot का उपयोग किया गया है):

http://otaqui.com/blog/1652/setting-up-a-virtualbox-virtual-machine-for-web-development-with-multiple-sites-using-mod_vhost_alias-and-virtualdocumentroot/

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