Web geliştirme için sanal makineler kullanan var mı? Neden? [kapalı]


10

Web geliştirme için sanal makineleri kullanmayı seven birkaç geliştirici görüyorum. Bunu yapan başkaları var mı? Varsa, neden yapıyorsun? Sanallaştırılmamış bir ortamda değil de bir VM üzerinde geliştirmenin artıları / eksileri var mı?

Bir sanal makinede işlerin daha yavaş olduğunu düşünürdüm.


Sanallaştırmanın yanı sıra Squeak ve Pharo (gıcırtı türevi) gibi görüntü tabanlı sistemler de var.
Jesse Millikan

@Jesse Millikan Ne demek istediğinden emin değilim. Squeak ve Pharo bir programlama dili değil mi? Sanal makinelerle ilişkilerini anlamaya çalışıyorum.
7wp

Yanıtlar:


20

IE testi için VM'ler kullanıyorum. Özel bir Windows makinem var, ancak birkaç nedenden dolayı VM'leri kullanmaya eğilimliyim:

  • Hemen yanında olsanız bile, bilgisayar değiştirmek zor
  • Temiz bir test ortamına sahip olmak için bir VM'yi geri almak son derece kolaydır
  • Kullanıcıların aslında IETester gibi kludges yerine kullanacakları bir ortam kullanmayı tercih ederim ve genellikle aynı anda IE'nin birden fazla sürümünü çalıştıramazsınız.
  • Birden çok VM örneği çalıştırmak, birden çok test bilgisayarı satın almaktan daha ucuzdur
  • VM'ler, en azından Mac OS X için olanlar, geçtiğimiz birkaç yıl içinde VM'lere verilen "yavaş" damgalamanın garanti edilmediği kadar iyi oldu.

2
VM'ler hızlı bir şekilde iyi durumdadır, ancak yalnızca uygun olanı destekleyecek yedek belleğiniz varsa.
Matthew Scharley

@Matthew: Evet, ancak bugünlerde çoğu bilgisayar 4GB standardıyla geliyor ve bir web geliştiricisi için, aynı anda en az bir (iki değilse) VM çalıştırmak için yeterli.

7

İnsanların web geliştirme için VM kullanmasının bir diğer nedeni de, gerçekten kolayca kapatabilecekleri bir sunucu ortamını sanallaştırmaktır.

Evde her zaman kişisel projeler oluşturmak için bir VM kullanıyorum, böylece bir oyun oynamak istediğimde hepsini tamamen kapatabiliyorum. Bir çalışma ortamında, bir videoyu FLV'ye dönüştürmek için tam kaynaklara sahip olmanız için onu kapatmak isteyebilirsiniz.

Sadece kaynaklarınızla istediğinizi yapma esnekliği sağlar.


3

VM'leri hemen hemen tüm gelişim için kullanmayı tercih ediyorum ... özellikle bir geliştirici ekibiyle çalışırken. VM'ler, çok az baş ağrısıyla hızla kurulabilen bir "kutu içinde ortam" oluşturmamı sağlıyor. MBP'yi birincil makine olarak kullandığım için VMWare'i tercih ediyorum ... özellikle "çoğunlukla Windows" ortamında çok daha az acı verici.

Hız söz konusu olduğunda, dürüstçe kurulumdan kuruluma değişir. VM hızında gördüğüm tek gerçek sorun, a.) Yeterli fiziksel kaynağa sahip olmamak (bellek vb.) Veya b.) VM'nize yeterli kaynak ayırmamaktır. Aksi takdirde, aslında yerel bir kutu üzerinde çalışmak yerine Mac'imde bir Windows VM'de çalışmayı tercih ederim.


2

Test ortamları, diğerlerinin de belirttiği gibi büyük bir ortamdır.

  • tarayıcı testi (yani, safari, vb.)
  • temiz test ortamı
  • birden fazla konfigürasyona sahip olmak kolaydır
  • erişilebilirlik testi (ekran okuyucuları ve benzerleri)

Ben selenium, xdebug ve kolayca profil ve hata ayıklama için yapılandırılmış birkaç araç ile birlikte kcachegrind zaten ayarlanmış benim kod profilleme ve hata ayıklama için bir VM var. Evet, bazıları zaten bir geliştirme ortamının ne olacağını söyleyebilir ama kişisel olarak masaüstümde bu tür bir göreve adanmış bir VM olmasını seviyorum.

Ayrıca, bir VM'deki yavaşlıkla ilgili olarak:

Bir VM'de işler yavaştır, çünkü ortamın "sanallaştırılması" gerekir. Ancak VM, sanal makine için gereken ek yükü azaltan hiper denetimciye yaklaşıyor.


2

Sanal makineleri her zaman kullanıyorum. Bana kolay "anlık" (veya verir) test amaçları için gerekçe açıktır, ama aynı zamanda yeni donanım no-brainer göç yapar çoğunlukla) 1, çünkü benim asıl geliştirme ortamı için kullanmak ve 2 set arasında anlık görüntüler) geliştirme ortamımın bu yapılandırmaları için gerektiği şekilde geri dönün. İhtiyaçlarım benzersiz olabilir - öncelikle Delphi'nin birden fazla sürümünü ve birçok üçüncü taraf bileşenini kullanan bir Delphi geliştiricisiyim - ancak sanal bir makinenin içindeki geliştirme ortamımın sahip olduğu zaman ve baş ağrısının kurtardığı, muhtemelen abartmak.

Bununla birlikte, özellikle bellek söz konusu olduğunda, üzerinde çalıştığınız kutu üzerinde kaymayın. ; )


1

Bu geç bir cevap. Kabul edilen yanıttaki tüm hususlara katılıyorum, ancak VM'leri sadece test etmek için değil, sadece Web geliştirme için kullandığımı eklemek istedim. Windows, Fedora ve Ubuntu'yu çalıştırmak için VirtualBox kullanarak bir iMac kullanıyorum - bazen hepsi bir kerede. Performansla ilgili herhangi bir sorunum yok.

Bu şekilde çalışmayı tercih ediyorum çünkü hem Fedora hem de Ubuntu sunucularını çalıştıran müşteriler için çalışıyorum ve geliştirme ortamını üretim ortamıyla yakından eşleştirmeme izin veriyor. Aynı zamanda beni geliştirme açısından en önemli alanlarda daha iyi bir sistem yöneticisi yapıyor.


1

VM'leri kullanarak, istemciye özgü geliştirme kurulumunu korumanın iyi bir yolunu bulduk.

Geçmişteki bir danışmanlık şirketinde Devs, belirli bir sanal makineyi çalıştırmanın, söz konusu müşteri için desteklediğimiz yazılımı geliştirmek / test etmek ve dağıtmak için bir çalışma ortamınız olduğu anlamına geldiğini biliyordu. Bazı gerçek oddball sistemlerini desteklerken özellikle kullanışlıdır.

Yeni uygulamalar için ana Dev makinenizde en son ve en iyi kuruluma sahip olursunuz. Ancak, şirketinizin hala desteklediği bazı eski VB6 uygulamalarını düzeltmeniz gerektiğinde ne olur? Visual Studio 6'yı güzel temiz VS2010 makinenize kurmak ister misiniz? Ben öyle düşünmüyorum!

Ayrıca, herhangi bir Dev'in herhangi bir istemciyi desteklemesinin oldukça kolay olduğu anlamına geliyordu.


0

Web sitelerini test etmek için kesinlikle sanal makineler kullandım, ancak kod yazmak için kullanmadım.

Sanal makinelerin yararı, IE6 / 7 / 8'de keşfedeceğiniz kaçınılmaz css hatalarını test etmek için farklı işletim sistemlerine ve tarayıcılara sahip olmanızdır.


0

Sanal bir makinede web sitesi geliştirmek için bir neden göremiyorum, Windows kullanıcısı için buna gerek yok.

Windows kurulumunda her şeyi çalıştırabilirsiniz (Taşınabilir IE'ler, Chrome, Firefox, Safari, ...),
alternatif olarak yeni bir çapraz tarayıcı testi dünyasına girmek için Expression SuperPreview'i kullanabilirsiniz .


Taşınabilir IE, İfade SuperPreview, IETester gibi şeyler vardır , tüm niyet ve amaçlar, sanallaştırılmış ortamlar için. Aslında IE'nin eski sürümlerinin gerçek dünyadaki bir kopyasını çalıştırmıyorsunuz ve SuperPreview ve IETester gibi şeyler söz konusu olduğunda, tarayıcı kromuna veya eklenti mimarisine bile erişiminiz yok. IE'nin ötesinde, aynı tarayıcıların diğer işletim sistemi sürümlerine erişiminiz yoktur. Örneğin, Mac OS X'te Safari, Windows için Safari'de bulunmayan özelliklere sahiptir ve Mac için Chrome genellikle Windows için Chrome'un gerisinde kalmaktadır.

Hayır hayır hayır! Taşınabilir IE, Expression SuperPreview, IETester sisteminizde yerel çalışır, sanallaştırma dahil değildir. Geçerli ortamda çalışacak şekilde ayarlanmış ve aynı davranışa sahip gerçek dünyadan bir kopya çalıştırıyorsunuz ... Web geliştirirken tarayıcı kromuna veya eklenti mimarisine erişmenize gerek yok. Safari için, ekstra özellikler yine tarayıcılar arası web geliştirmeyle ilgisizdir. Chrome için sürümler eşzamanlı olarak kullanılabilir ... Bir kişinin her bir işletim sistemi sürümünde her tarayıcı sürümünü gerçekten test etmesi gerekiyorsa, bu amaçla browsershots.org vardır .
Tamara Wijsman

Office'in birden çok sürümüyle tümleştirmeyi sınamayı deneyin. VM'ler hala inanılmaz derecede kullanışlı.
davewasthere

@davewasthere: Peki Office Web Geliştirme ile nasıl bir ilişkisi var? Eminim VM'lerin çeşitli şeyler için kullanımları vardır, ancak web geliştirme için onsuz iyi olursunuz ... Office ve Visual Studio'nun birden fazla sürümü bile bir VM olmadan birlikte kurulabilir, ancak aslında sınırlar ve ödünleşmeler vardır. gerçekten bir VM'ye ihtiyacım var.
Tamara Wijsman

@TomWij - ASP.Net'te Word ile bütünleşen bir intranet uygulaması olan bir istemcim var. Office'in birden çok sürümünü kullandıklarından, her sürümün yüklü olduğu bir görüntüye sahip olmak güzel. Yan yana Office ve IE ile mümkün olduğunu biliyorum. Ama gerçekte bir acı buluyorum. VM'ler çok daha temiz / kolay görünüyor ...
Davewasthere

0

Virtualbox.me (etki alanının sahibi) alt etki alanlarını konukla paylaşılan ana makinemdeki bir klasörün alt dizinlerine eşlemek için bir sanal makine kullanıyorum.

Bu kurulumla, sadece yeni bir dizin oluşturuyorum ve hemen kendi alt etki alanı altında yeni bir projem var, yani / home / pete / virtualwww / my-super-project http://my-super-project.virtualbox.me/

Ben burada çoğaltma için kılavuz yazdım (mod_vhost_alias ve VirtualDocumentRoot kullanır):

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.