ไม่มีใครใช้เครื่องเสมือนเพื่อการพัฒนาเว็บและทำไม [ปิด]


10

ฉันเห็นนักพัฒนาไม่กี่คนที่ชอบใช้เครื่องเสมือนเพื่อการพัฒนาเว็บ มีคนอื่นที่ทำสิ่งนี้หรือไม่? ถ้ามีทำไมคุณถึงทำอย่างนั้น? มีข้อดี / ข้อเสียในการพัฒนาบน VM ไม่ใช่ในสภาพแวดล้อมเสมือนจริงหรือไม่?

ฉันคิดว่า VM ช้ากว่านี้


นอกจากระบบเสมือนจริงแล้วยังมีระบบภาพเช่น Squeak และ Pharo (อนุพันธ์สารภาพ)
Jesse Millikan

@Jesse Millikan ฉันไม่แน่ใจว่าคุณหมายถึงอะไร Squeak และ Pharo ไม่ใช่ภาษาโปรแกรมใช่ไหม ฉันพยายามที่จะเข้าใจว่าพวกเขาเกี่ยวข้องกับเครื่องเสมือนจริงอย่างไร
7wp

คำตอบ:


20

ฉันใช้ VMs สำหรับการทดสอบ IE ฉันมีเครื่อง Windows เฉพาะ แต่ฉันพึ่งพาการใช้ VM ด้วยเหตุผลบางประการ:

  • เป็นเรื่องยุ่งยากที่จะสลับคอมพิวเตอร์แม้ว่าจะอยู่ติดกับคุณก็ตาม
  • มันง่ายมากที่จะย้อนกลับ VM เพื่อให้มีสภาพแวดล้อมการทดสอบที่สะอาด
  • ฉันควรใช้สภาพแวดล้อมที่ผู้ใช้กำลังใช้งานจริงมากกว่า kludges เช่น IETester และโดยทั่วไปคุณไม่สามารถเรียกใช้ IE หลายเวอร์ชันในเวลาเดียวกันได้
  • มีราคาถูกกว่าในการใช้งานอินสแตนซ์ VM หลายรายการมากกว่าที่จะซื้อคอมพิวเตอร์ทดสอบหลายเครื่อง
  • VMs อย่างน้อยหนึ่งตัวสำหรับ Mac OS X ได้รับสิ่งที่ดีในช่วงสองสามปีที่ผ่านมาซึ่งความอัปยศ "ช้า" ที่มอบให้กับ VMs นั้นไม่มีเหตุผล

2
VM นั้นเร็วพอสมควร แต่ถ้าคุณมีหน่วยความจำสำรองเพื่อรองรับหน่วยความจำอย่างเหมาะสม
Matthew Scharley

@ Matewew: ใช่ แต่คอมพิวเตอร์ส่วนใหญ่ทุกวันนี้มาพร้อมกับมาตรฐาน 4GB และสำหรับนักพัฒนาเว็บนั่นก็เพียงพอที่จะทำงานอย่างน้อยหนึ่ง VM (ถ้าไม่ใช่สอง) พร้อมกัน

7

อีกเหตุผลหนึ่งที่ผู้คนใช้ VM สำหรับการพัฒนาเว็บคือการทำเวอร์ชวลเซิร์ฟเวอร์เสมือนที่พวกเขาสามารถปิดได้อย่างง่ายดาย

ที่บ้านฉันมักจะใช้ VM ในการตั้งค่าโปรเจ็กต์ส่วนตัวเพื่อที่ฉันจะสามารถปิดมันได้อย่างสมบูรณ์เมื่อฉันต้องการพูดเล่นเกม ในสภาพแวดล้อมการทำงานคุณอาจต้องการปิดเพื่อให้คุณมีทรัพยากรเต็มรูปแบบในการแปลงวิดีโอเป็น FLV

เพียงให้ความยืดหยุ่นในการทำสิ่งที่คุณต้องการด้วยทรัพยากรของคุณ


3

ฉันชอบที่จะใช้ VMs สำหรับการพัฒนาทั้งหมด ... โดยเฉพาะอย่างยิ่งเมื่อฉันทำงานกับทีมนักพัฒนา VMs ช่วยให้ฉันสร้าง "สภาพแวดล้อมในกล่อง" ที่สามารถติดตั้งได้อย่างรวดเร็วด้วยอาการปวดหัวเล็กน้อย เนื่องจากฉันใช้ MBP เป็นเครื่องหลักของฉันฉันชอบ VMWare ... มันเจ็บปวดน้อยลงโดยเฉพาะในสภาพแวดล้อม "ส่วนใหญ่ - Windows"

เท่าที่เกี่ยวข้องกับความเร็วมันแตกต่างจากการตั้งค่าการติดตั้งโดยสุจริต ปัญหาจริงเท่านั้นที่ฉันเห็นด้วยความเร็ว VM เกี่ยวข้องกับ.) มีทรัพยากรทางกายภาพไม่เพียงพอ (หน่วยความจำ ฯลฯ ) หรือ b.) ไม่จัดสรรทรัพยากรให้กับ VM ของคุณเพียงพอ มิฉะนั้นฉันชอบทำงานใน Windows VM บน Mac ของฉันมากกว่าทำงานบนกล่องพื้นเมือง


2

สภาพแวดล้อมการทดสอบนั้นใหญ่มากอย่างที่คนอื่น ๆ พูดถึง

  • การทดสอบเบราว์เซอร์ (เช่นซาฟารี ฯลฯ ... )
  • สภาพแวดล้อมการทดสอบที่สะอาด
  • ง่ายต่อการมีการกำหนดค่าหลาย ๆ
  • การทดสอบการเข้าถึง (ตัวอ่านหน้าจอและสิ่งที่คล้ายกัน)

ฉันมี VM อย่างเคร่งครัดสำหรับการทำโปรไฟล์และการดีบักรหัสของฉันซึ่งมี kcachegrind ตั้งค่าไว้แล้วพร้อมกับซีลีเนียม xdebug และเครื่องมืออื่น ๆ ที่ได้รับการกำหนดค่าให้โปรไฟล์และดีบักรหัสของฉันได้อย่างง่ายดาย ใช่บางคนอาจพูดว่านี่เป็นสิ่งที่สภาพแวดล้อมการพัฒนาจะเป็นอยู่แล้ว แต่โดยส่วนตัวฉันชอบที่จะมี VM บนเดสก์ท็อปของฉันโดยเฉพาะกับงานประเภทนี้

นอกจากนี้เกี่ยวกับความช้าใน VM:

สิ่งต่าง ๆ จะช้าลงใน VM เนื่องจากโอเวอร์เฮดจำเป็นต้อง "virtualize" สภาพแวดล้อม อย่างไรก็ตาม VM ใกล้เข้ามาใกล้กับไฮเปอร์ไวเซอร์ซึ่งจะช่วยลดค่าใช้จ่ายที่จำเป็นสำหรับ VM


2

ฉันใช้เครื่องเสมือนตลอดเวลา สำหรับวัตถุประสงค์ในการทดสอบเหตุผลก็ชัดเจน แต่ฉันก็ใช้มันสำหรับสภาพแวดล้อมการพัฒนาที่แท้จริงของฉันส่วนใหญ่เป็นเพราะ 1) มันทำให้การโยกย้ายไปยังฮาร์ดแวร์ใหม่ไม่ใช่เรื่องง่ายและ 2) มันทำให้ฉัน "ง่าย" (หรือชุดของ ภาพรวม) ย้อนกลับไปใช้ตามความจำเป็นสำหรับการกำหนดค่าของสภาพแวดล้อมการพัฒนาของฉัน ความต้องการของฉันอาจไม่เหมือนกัน - ฉันเป็นนักพัฒนา Delphi โดยใช้หลายเวอร์ชันของ Delphi และส่วนประกอบของบุคคลที่สามจำนวนมาก - แต่ระยะเวลาและอาการปวดหัวที่มีสภาพแวดล้อมการพัฒนาของฉันภายในเครื่องเสมือนได้บันทึกไว้ คุยโว

ที่กล่าวว่าไม่เหนียวแน่นในกล่องที่คุณเรียกใช้โดยเฉพาะอย่างยิ่งเมื่อมันมาถึงหน่วยความจำ ; )


1

นี่คือคำตอบที่ล่าช้า ฉันเห็นด้วยกับประเด็นทั้งหมดในคำตอบที่ได้รับการยอมรับ แต่ฉันต้องการเพิ่มว่าฉันใช้ VMs เฉพาะสำหรับการพัฒนาเว็บไม่ใช่เพื่อการทดสอบเท่านั้น ฉันใช้ iMac โดยใช้ VirtualBox เพื่อเรียกใช้ Windows, Fedora และ Ubuntu - บางครั้งก็พร้อมกัน ฉันไม่มีปัญหากับประสิทธิภาพ

ฉันชอบทำงานด้วยวิธีนี้มากกว่าเพราะฉันทำงานให้กับลูกค้าที่ใช้งานเซิร์ฟเวอร์ทั้ง Fedora และ Ubuntu และช่วยให้ฉันสามารถจับคู่สภาพแวดล้อมการพัฒนากับสภาพแวดล้อมการผลิตได้อย่างใกล้ชิด มันทำให้ฉันเป็นผู้ดูแลระบบที่ดีขึ้นในด้านที่สำคัญที่สุดจากมุมมองการพัฒนา


1

พบว่าใช้ VMs เป็นวิธีที่ดีในการรักษาการตั้งค่าการพัฒนาเฉพาะลูกค้า

ใน บริษัท ที่ปรึกษาที่ผ่านมา Devs รู้ว่าการยิง VM เฉพาะหมายความว่าคุณมีสภาพแวดล้อมการทำงานสำหรับการพัฒนา / ทดสอบและการปรับใช้ซอฟต์แวร์ที่เราสนับสนุนสำหรับลูกค้ารายนั้น มีประโยชน์อย่างยิ่งเมื่อสนับสนุนระบบคี่บอลจริงบางอย่าง

สำหรับแอพใหม่คุณจะต้องมีการติดตั้งล่าสุดและยิ่งใหญ่ที่สุดในเครื่อง Dev หลักของคุณ แต่สิ่งที่เกี่ยวกับเมื่อคุณต้องการแก้ไขข้อผิดพลาดบางแอป VB6 เก่าที่ บริษัท ของคุณยังคงสนับสนุน อยากติดตั้ง Visual Studio 6 บนเครื่อง VS2010 ที่สะอาดและน่ารักของคุณหรือไม่ ฉันไม่คิดอย่างนั้น!

มันหมายความว่ามันง่ายสำหรับ Dev ที่จะให้การสนับสนุนลูกค้า


0

แน่นอนฉันใช้เครื่องเสมือนสำหรับการทดสอบเว็บไซต์ แต่ไม่ใช่สำหรับการเขียนโค้ด

ประโยชน์ของเครื่องเสมือนคือคุณสามารถตั้งค่าระบบปฏิบัติการและเบราว์เซอร์ที่แตกต่างกันเพื่อทดสอบข้อผิดพลาด css ที่หลีกเลี่ยงไม่ได้ที่คุณจะค้นพบใน IE6 / 7/8


0

ฉันไม่เห็นเหตุผลในการพัฒนาเว็บไซต์ในเครื่องเสมือนไม่จำเป็นสำหรับผู้ใช้ Windows

คุณสามารถเรียกใช้ทุกอย่างในการติดตั้ง Windows (Portable IEs, Chrome, Firefox, Safari, ... )
หรือคุณสามารถใช้Expression SuperPreviewเพื่อเข้าสู่โลกใหม่ของการทดสอบข้ามเบราว์เซอร์


สิ่งต่างๆเช่น Portable IE, Expression SuperPreview, IETester นั้นสำหรับสภาพแวดล้อมแบบเวอร์ชวลไลเซชันและวัตถุประสงค์ทั้งหมด คุณไม่ได้ใช้งาน IE เวอร์ชั่นเก่าในโลกแห่งความเป็นจริงและในกรณีของ SuperPreview และ IETester คุณไม่สามารถเข้าถึงเบราว์เซอร์ chrome หรือสถาปัตยกรรมปลั๊กอินได้ นอกเหนือจาก IE คุณไม่สามารถเข้าถึงเบราว์เซอร์รุ่นเดียวกันของระบบปฏิบัติการอื่น ๆ ได้ ตัวอย่างเช่น Safari บน Mac OS X มีคุณสมบัติที่ไม่มีอยู่ใน Safari สำหรับ Windows และ Chrome สำหรับ Mac โดยทั่วไปแล้วจะล้าหลัง Chrome สำหรับ Windows

ไม่ไม่ไม่! Portable IE, Expression SuperPreview, IETester รันบนระบบของคุณโดยไม่มีการจำลองเสมือน คุณกำลังเรียกใช้สำเนาโลกแห่งความจริงที่ได้รับการปรับให้ทำงานในสภาพแวดล้อมปัจจุบันและมีพฤติกรรมเหมือนกัน ... ไม่จำเป็นต้องมีการเข้าถึงเบราว์เซอร์ chrome หรือสถาปัตยกรรมปลั๊กอินเมื่อพัฒนาเว็บ สำหรับ Safari คุณสมบัติพิเศษนั้นไม่เกี่ยวข้องกับการพัฒนาเว็บข้ามเบราว์เซอร์อีก สำหรับ Chrome สามารถใช้เวอร์ชันพร้อมกันได้ ... หากจำเป็นต้องทดสอบเบราว์เซอร์แต่ละเวอร์ชันในแต่ละเวอร์ชันของระบบปฏิบัติการจะมีbrowserhots.orgสำหรับวัตถุประสงค์นั้น
Tamara Wijsman

ลองทดสอบการรวมเข้ากับ Office หลายรุ่น VMs ยังมีประโยชน์ที่น่าอัศจรรย์ใจ
davewasthere

@davewasthere: Office มีความเกี่ยวข้องกับการพัฒนาเว็บอย่างไร ฉันแน่ใจว่า VMs มีการใช้งานสำหรับสิ่งต่าง ๆ แต่สำหรับการพัฒนาเว็บคุณทำได้ดีหากไม่มี ... แม้แต่ Office และ Visual Studio เวอร์ชันหลายรุ่นก็สามารถติดตั้งร่วมกันได้โดยไม่ต้องใช้ VM แต่แน่นอนมีข้อ จำกัด และการแลกเปลี่ยนที่คุณ ต้องการ VM จริงๆ
Tamara Wijsman

@TomWij - ฉันมีลูกค้าหนึ่งรายที่มีแอปพลิเคชันอินทราเน็ตใน ASP.Net ที่รวมเข้ากับ Word เนื่องจากพวกเขาใช้ Office หลายเวอร์ชันจึงเป็นเรื่องดีที่จะสามารถมีรูปภาพพร้อมติดตั้งแต่ละเวอร์ชัน ฉันรู้ว่าเป็นไปได้สำหรับ Office และ IE แบบเคียงข้างกัน แต่ในความเป็นจริงฉันพบว่ามันเจ็บปวด VMs ดูเหมือนจะสะอาดขึ้น / ง่ายขึ้น ...
davewasthere

0

ฉันใช้เครื่องเสมือนเพื่อจับคู่โดเมนย่อยของ virtualbox.me (ฉันเป็นเจ้าของโดเมน) กับไดเรกทอรีย่อยของโฟลเดอร์บนเครื่องโฮสต์ที่แชร์กับแขก

ด้วยการตั้งค่านี้ฉันเพิ่งสร้างไดเรกทอรีใหม่และมีโครงการใหม่ภายใต้โดเมนย่อยของตนเองเช่น / home / pete / virtualwww / แผนที่ของฉันสุดยอดโครงการไปที่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/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.