Adakah yang menggunakan mesin virtual untuk pengembangan web, dan mengapa? [Tutup]

10

Saya melihat beberapa pengembang yang suka menggunakan mesin virtual untuk pengembangan web. Apakah ada orang lain yang melakukan ini? Jika ada, mengapa Anda melakukannya? Apakah ada pro / kontra untuk dikembangkan pada VM daripada di lingkungan yang tidak tervirtualisasi?

Saya akan berpikir hal-hal lebih lambat di VM.

7wp
sumber
Selain virtualisasi, ada juga sistem berbasis gambar seperti Squeak dan Pharo (turunan mencicit).
Jesse Millikan
@Jesse Millikan Saya tidak yakin apa yang Anda maksud. Bukankah Squeak dan Pharo adalah bahasa pemrograman? Saya mencoba memahami bagaimana mereka berhubungan dengan mesin virtual.
7wp

Jawaban:

20

Saya menggunakan VM untuk pengujian IE. Saya memang memiliki mesin Windows khusus, tetapi saya cenderung menggunakan VM karena beberapa alasan:

  • Ini merepotkan untuk beralih komputer, bahkan jika itu tepat di sebelah Anda
  • Sangat mudah untuk mengembalikan VM untuk memiliki lingkungan pengujian yang bersih
  • Saya lebih suka menggunakan lingkungan yang sebenarnya akan digunakan pengguna daripada kludges seperti IETester, dan Anda biasanya tidak dapat menjalankan beberapa versi IE pada saat yang bersamaan.
  • Lebih murah untuk menjalankan beberapa instance VM daripada membeli beberapa komputer pengujian
  • VM, setidaknya yang untuk Mac OS X, telah menjadi sangat baik dalam beberapa tahun terakhir sehingga stigma "lambat" yang diberikan kepada VM tidak beralasan.

sumber
2
VM baik-baik saja dengan kecepatan tinggi, tetapi hanya jika Anda memiliki memori cadangan untuk mendukungnya dengan benar.
Matthew Scharley
@ Matthew: Ya, tetapi kebanyakan komputer saat ini datang dengan standar 4GB, dan untuk pengembang web, itu sudah cukup untuk menjalankan setidaknya satu (jika bukan dua) VM secara bersamaan.
7

Alasan lain orang menggunakan VM untuk pengembangan web adalah untuk memvirtualisasi lingkungan server yang dapat mereka matikan dengan sangat mudah.

Di rumah saya selalu menggunakan VM untuk mengatur proyek pribadi sehingga saya bisa mematikan semuanya sepenuhnya ketika saya ingin, katakanlah, bermain game. Di lingkungan kerja Anda mungkin ingin mematikannya sehingga Anda memiliki sumber daya penuh untuk mentranskode video ke FLV.

Itu hanya memberi Anda fleksibilitas untuk melakukan apa yang Anda inginkan dengan sumber daya Anda.

Matthew Scharley
sumber
3

Saya lebih suka menggunakan VM untuk hampir semua pengembangan ... terutama ketika saya bekerja dengan tim pengembang. VM memungkinkan saya untuk membangun "lingkungan di dalam kotak" yang dapat dengan cepat diatur dengan sedikit sakit kepala. Karena saya menggunakan MBP sebagai mesin utama saya, saya lebih suka VMWare ... itu jauh lebih tidak menyakitkan terutama di lingkungan "kebanyakan-Windows".

Sejauh menyangkut kecepatan, jujur ​​bervariasi dari pengaturan ke pengaturan. Satu-satunya masalah nyata yang saya lihat dengan kecepatan VM melibatkan a.) Tidak memiliki sumber daya fisik yang cukup (memori, dll.) Atau b.) Tidak mengalokasikan sumber daya yang cukup untuk VM Anda. Kalau tidak, saya sebenarnya lebih suka bekerja di VM Windows di Mac saya daripada bekerja di kotak asli.

Casey
sumber
2

Lingkungan pengujian adalah yang besar seperti yang lain telah disebutkan.

  • pengujian browser (yaitu, safari, dll, ...)
  • lingkungan pengujian bersih
  • mudah untuk memiliki banyak konfigurasi
  • pengujian aksesibilitas (pembaca layar dan sejenisnya)

Saya memiliki VM khusus untuk profil dan debugging kode saya yang sudah disiapkan oleh kcachegrind, bersama dengan selenium, xdebug dan beberapa alat lain yang dikonfigurasi untuk memudahkan profil dan debug kode saya. Ya beberapa mungkin mengatakan ini adalah apa lingkungan pengembangan sudah akan tetapi secara pribadi saya suka memiliki VM di desktop saya yang didedikasikan untuk tugas semacam ini.

Juga, tentang kelambatan dalam VM:

Hal-hal yang lebih lambat dalam VM karena overhead membutuhkan "virtualisasi" lingkungan. Namun, VM menjadi semakin dekat dengan hypervisor yang mengurangi biaya overhead yang diperlukan untuk VM.

Chris
sumber
2

Saya menggunakan mesin virtual sepanjang waktu. Untuk tujuan pengujian, penalaran yang jelas, tapi saya juga menggunakannya untuk lingkungan pengembangan yang sebenarnya saya, terutama karena 1) itu membuat migrasi ke perangkat keras baru no-brainer, dan 2) itu memberi saya mudah "snapshot" (atau set dari snapshot) kembali ke yang diperlukan untuk konfigurasi lingkungan pengembangan saya. Kebutuhan saya mungkin unik - Saya terutama pengembang Delphi menggunakan beberapa versi Delphi, dan banyak komponen pihak ketiga - tetapi jumlah waktu dan sakit kepala yang memiliki lingkungan pengembangan saya di dalam mesin virtual telah disimpan, mungkin tidak bisa dilebih-lebihkan.

Yang mengatakan, jangan berhemat pada kotak Anda menjalankannya, terutama ketika datang ke memori. ; )

Jamo
sumber
1

Ini jawaban yang terlambat. Saya setuju dengan semua poin dalam jawaban yang diterima, tetapi saya ingin menambahkan bahwa saya menggunakan VM secara eksklusif untuk pengembangan Web, dan tidak hanya untuk pengujian. Saya menggunakan iMac menggunakan VirtualBox untuk menjalankan Windows, Fedora, dan Ubuntu - terkadang sekaligus. Saya tidak memiliki masalah dengan kinerja.

Saya lebih suka bekerja dengan cara ini karena saya bekerja untuk pelanggan yang menjalankan server Fedora dan Ubuntu dan memungkinkan saya untuk mencocokkan lingkungan pengembangan dengan lingkungan produksi. Itu juga membuat saya administrator sistem yang lebih baik di bidang yang paling penting dari sudut pandang pengembangan.

bogeymin
sumber
1

Telah ditemukan menggunakan VMs cara yang baik untuk menjaga pengaturan pengembangan khusus klien.

Di sebuah perusahaan konsultan sebelumnya, Devs tahu bahwa menjalankan VM spesifik berarti Anda memiliki lingkungan kerja untuk mengembangkan / menguji dan menggunakan perangkat lunak yang kami dukung untuk klien itu. Sangat berguna ketika mendukung beberapa sistem eksentrik nyata.

Untuk aplikasi baru, Anda akan memiliki pengaturan terbaru dan terhebat di mesin Dev utama Anda. Tetapi bagaimana ketika Anda perlu memperbaiki beberapa aplikasi VB6 lama yang masih didukung oleh perusahaan Anda. Ingin menginstal Visual Studio 6 pada mesin VS2010 bersih Anda yang cantik? Saya rasa tidak!

Juga berarti sangat mudah bagi Dev mana pun untuk mendukung klien apa pun.

pergi ke sana
sumber
0

Saya tentu saja menggunakan mesin virtual untuk menguji situs web, tetapi tidak untuk menulis kode.

Manfaat mesin virtual adalah Anda dapat mengatur OS dan browser yang berbeda, untuk menguji bug css yang tak terhindarkan yang akan Anda temukan di IE6 / 7/8.

David_001
sumber
0

Saya tidak melihat alasan untuk mengembangkan situs web di mesin virtual, tidak ada kebutuhan untuk itu untuk pengguna Windows.

Anda dapat menjalankan semuanya dalam instalasi Windows (Portable IEs, Chrome, Firefox, Safari, ...),
atau Anda dapat menggunakan Expression SuperPreview untuk memasuki dunia baru pengujian lintas-browser.

Tamara Wijsman
sumber
Hal-hal seperti Portable IE, Expression SuperPreview, IETester adalah , untuk semua maksud dan tujuan, lingkungan yang tervirtualisasi. Anda sebenarnya tidak menjalankan salinan dunia nyata dari versi IE yang lebih lama, dan dalam hal hal-hal seperti SuperPreview dan IETester, Anda bahkan tidak memiliki akses ke browser chrome atau arsitektur plugin. Di luar IE, Anda tidak memiliki akses ke versi OS lain dari browser yang sama. Misalnya, Safari di Mac OS X memiliki fitur yang tidak ada di Safari untuk Windows, dan Chrome untuk Mac umumnya tertinggal di belakang Chrome untuk Windows.
Tidak tidak Tidak! Portable IE, Expression SuperPreview, IETester menjalankan asli pada sistem Anda, tidak ada virtualisasi yang terlibat. Anda menjalankan salinan dunia nyata yang telah disesuaikan untuk berjalan di lingkungan saat ini dan memiliki perilaku yang sama ... Tidak perlu memiliki akses ke browser chrome atau arsitektur plugin saat web berkembang. Untuk Safari, fitur tambahan sekali lagi tidak relevan dengan pengembangan web lintas-browser. Untuk Chrome, versi dapat digunakan secara simultan ... Jika seseorang benar-benar perlu menguji setiap versi browser pada setiap versi OS ada browsershots.org untuk tujuan itu.
Tamara Wijsman
Coba uji integrasi dengan beberapa versi Office. VM masih sangat berguna untuk dimiliki.
davewasthere
@avewasthere: Dan bagaimana Office terkait dengan Pengembangan Web? Saya yakin VM memiliki kegunaannya untuk berbagai hal, tetapi untuk pengembangan web Anda baik-baik saja tanpa itu ... Bahkan beberapa versi Office dan Visual Studio dapat diinstal bersama tanpa VM, tetapi memang, ada batasan dan pengorbanan di mana Anda benar-benar membutuhkan VM.
Tamara Wijsman
@ TomWij - Saya punya satu klien dengan aplikasi intranet di ASP.Net yang terintegrasi dengan Word. Karena mereka menggunakan beberapa versi Office, senang dapat memiliki gambar dengan setiap versi diinstal. Saya tahu itu mungkin untuk Office dan IE yang berdampingan. Tetapi dalam kenyataannya saya merasa sakit. VM sepertinya jauh lebih bersih / mudah ...
davewasthere
0

Saya menggunakan mesin virtual untuk memetakan subdomain dari virtualbox.me (saya memiliki domain) ke subdirektori folder pada mesin host saya yang dibagikan kepada tamu.

Dengan pengaturan ini, saya hanya membuat direktori baru dan segera memiliki proyek baru di bawah subdomain itu sendiri, yaitu / home / pete / virtualwww / my-super-project maps ke http://my-super-project.virtualbox.me/

Saya telah menulis panduan untuk mereplikasi ini (menggunakan mod_vhost_alias dan VirtualDocumentRoot) di sini:

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

pete otaqui
sumber